使用 DB2® 工具来执行授权。DB2 表和配置文件用于记录与每个授权名关联的许可权。
记录的许可权类型是特权、权限级别和 LBAC 凭证。
特权为授权名定义单个许可权,它使用户能够创建或访问数据库资源。特权存储在数据库目录中。
权限级别提供了一种对特权进行分组的方法以及对数据库管理器操作的控制权。特定于数据库的权限存储在数据库目录中;系统权限与组成员关系相关联,并且与权限级别相关联的组名存储在给定实例的数据库管理器配置文件中。
LBAC 凭证是 LBAC 安全标号和 LBAC 规则免除权,它们允许访问受基于标号的访问控制 (LBAC) 保护的数据。LBAC 凭证存储在数据库目录中。
组提供了一个简便的方法来对一组用户执行授权,而不必单独对每个用户授予或 撤销特权。除非另有指定,否则,组授权名可以用在为了授权而使用授权名的 任何地方。通常,对于动态 SQL 和非数据库对象授权(如实例级别命令和实用程序),考虑使用组成员资格,但对于静态 SQL,那么不考虑使用。在授予 PUBLIC 特权时则例外:在处理静态 SQL 时要考虑使用组成员资格。DB2 文档中的适当地方提到了组成员资格不适用的特殊情况。
角色是将一项或多项特权集中在一起的数据库对象,可以使用 GRANT 语句将角色指定给用户、组、PUBLIC 或其他角色,也可以使用 CREATE TRUSTED CONTEXT 或 ALTER TRUSTED CONTEXT 语句将它指定给可信上下文。可以对工作负载定义中的 SESSION_USER ROLE 连接属性指定角色。使用角色时,将对数据库对象的访问许可权与角色关联。然后,作为这些角色的成员的用户将具有对角色定义的特权,通过这些特权可访问数据库对象。