选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

用于对 RDS for Db2 授予和撤销权限的存储过程

聚焦模式
用于对 RDS for Db2 授予和撤销权限的存储过程 - Amazon Relational Database Service

本主题中介绍的内置存储过程可管理 Amazon RDS for Db2 数据库的用户、角色、组和授权。要运行这些过程,主用户必须先连接到 rdsadmin 数据库。

有关使用这些存储过程的任务,请参阅授予和撤销对 RDS for Db2 的权限

请参阅以下内置存储过程,了解其语法、参数、用法说明和示例。

rdsadmin.create_role

创建角色。

语法

db2 "call rdsadmin.create_role( 'database_name', 'role_name')"

参数

以下参数为必需参数:

database_name

命令将在其上运行的数据库的名称。数据类型为 varchar

role_name

您要创建的角色的名称。数据类型为 varchar

使用说明

有关检查创建角色的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例为数据库 DB2DB 创建一个名为 MY_ROLE 的角色。

db2 "call rdsadmin.create_role( 'DB2DB', 'MY_ROLE')"

rdsadmin.grant_role

将角色分配给角色、用户或组。

语法

db2 "call rdsadmin.grant_role( ?, 'database_name', 'role_name', 'grantee', 'admin_option')"

参数

以下输出参数是必需参数:

?

一个参数标记,用于输出任务的唯一标识符。此参数仅接受 ?

以下输入参数是必需参数:

database_name

命令将在其上运行的数据库的名称。数据类型为 varchar

role_name

您要创建的角色的名称。数据类型为 varchar

grantee

要接收授权的角色、用户或组。数据类型为 varchar。有效值:ROLEUSERGROUPPUBLIC

格式必须是值后跟名称。用英文逗号分隔多个值和名称。示例:“USER user1, user2, GROUP group1, group2”。将名称替换为您自己的信息。

以下输入参数为可选参数:

admin_option

指定被授权者 ROLE 是否具有分配角色的 DBADM 授权。数据类型为 char。默认为 N

使用说明

有关检查分配角色的状态的信息,请参阅rdsadmin.get_task_status

示例

示例 1:为角色、用户和组分配角色并授予权限

下面的示例将对于数据库 TESTDB 的名为 ROLE_TEST 的角色分配给名为 role1 的角色、名为 user1 的用户和名为 group1 的组。ROLE_TEST 获得分配角色的管理员授权。

db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1', 'Y')"

示例 2:为角色分配 PUBLIC 但不授予权限

下面的示例将针对数据库 TESTDB 的名为 ROLE_TEST 的角色分配给 PUBLICROLE_TEST 未获得分配角色的管理员授权。

db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"

rdsadmin.revoke_role

从角色、用户或组撤销角色。

语法

db2 "call rdsadmin.revoke_role( ?, 'database_name', 'role_name', 'grantee')"

参数

以下输出参数是必需参数:

?

一个参数标记,用于输出任务的唯一标识符。此参数仅接受 ?。

以下输入参数是必需参数:

database_name

命令将在其上运行的数据库的名称。数据类型为 varchar

role_name

您要撤销的角色的名称。数据类型为 varchar

grantee

要失去授权的角色、用户或组。数据类型为 varchar。有效值:ROLEUSERGROUPPUBLIC

格式必须是值后跟名称。用英文逗号分隔多个值和名称。示例:“USER user1, user2, GROUP group1, group2”。将名称替换为您自己的信息。

使用说明

有关如何检查角色撤销状态的信息,请参阅rdsadmin.get_task_status

示例

示例 1:从角色、用户和组中撤消角色

以下示例从名为 role1 的角色、名为 user1 的用户和名为 group1 的组中撤销数据库 TESTDB 的名为 ROLE_TEST 的角色。

db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1')"

示例 2:从 PUBLIC 撤消角色

以下示例从 PUBLIC 撤销数据库 TESTDB 的名为 ROLE_TEST 的角色。

db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"

rdsadmin.drop_role

删除角色。

语法

db2 "call rdsadmin.drop_role( ?, 'database_name', 'role_name')"

参数

以下输出参数是必需参数:

?

一个参数标记,用于输出任务的唯一标识符。此参数仅接受 ?。

以下输入参数是必需参数:

database_name

命令将在其上运行的数据库的名称。数据类型为 varchar

role_name

您要删除的角色的名称。数据类型为 varchar

使用说明

有关如何检查角色删除状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例删除数据库 TESTDB 中名为 ROLE_TEST 的角色。

db2 "call rdsadmin.drop_role( ?, 'TESTDB', 'ROLE_TEST')"

rdsadmin.add_user

将用户添加到授权列表。

语法

db2 "call rdsadmin.add_user( 'username', 'password', 'group_name,group_name')"

参数

以下参数为必需参数:

username

用户的用户名。数据类型为 varchar

密码

用户的密码。数据类型为 varchar

以下参数为可选参数:

group_name

要将用户添加到的组的名称。数据类型为 varchar。默认值是空字符串或 Null。

使用说明

您可以将用户添加到一个组,也可以通过用逗号分隔组名称添加到多个组。

您可以在创建新用户时创建组,也可以在向现有用户添加组时创建组。无法单独创建组。

注意

您可以通过调用 rdsadmin.add_user 添加的最大用户数为 5000。

有关检查添加用户的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例创建了一个名为 jorge_souza 的用户,并将该用户分配给名为 salesinside_sales 的组。

db2 "call rdsadmin.add_user( 'jorge_souza', '*******', 'sales,inside_sales')"

rdsadmin.change_password

更改用户的密码。

语法

db2 "call rdsadmin.change_password( 'username', 'new_password')"

参数

以下参数为必需参数:

username

用户的用户名。数据类型为 varchar

new_password

用户的新密码。数据类型为 varchar

使用说明

有关检查更改密码的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例更改 jorge_souza 的密码。

db2 "call rdsadmin.change_password( 'jorge_souza', '*******')"

rdsadmin.list_users

列出授权列表中的用户。

语法

db2 "call rdsadmin.list_users()"

使用说明

有关检查列出用户的状态的信息,请参阅rdsadmin.get_task_status

rdsadmin.remove_user

将用户从授权列表中移除。

语法

db2 "call rdsadmin.remove_user('username')"

参数

以下参数是必需参数:

username

用户的用户名。数据类型为 varchar

使用说明

有关检查移除用户的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例移除 jorge_souza 访问 RDS for Db2 数据库实例中的数据库的权限。

db2 "call rdsadmin.remove_user('jorge_souza')"

rdsadmin.add_groups

向用户添加组。

语法

db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"

参数

以下参数为必需参数:

username

用户的用户名。数据类型为 varchar

group_name

要将用户添加到的组的名称。数据类型为 varchar。默认值是空字符串。

使用说明

您可以向用户添加一个组,也通过用逗号分隔组名称来添加多个组。有关检查添加组的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例将 direct_salesb2b_sales 组添加到用户 jorge_souza

db2 "call rdsadmin.add_groups( 'jorge_souza', 'direct_sales,b2b_sales')"

rdsadmin.remove_groups

从用户中移除组。

语法

db2 "call rdsadmin.remove_groups( 'username', 'group_name,group_name')"

参数

以下参数为必需参数:

username

用户的用户名。数据类型为 varchar

group_name

要从中移除用户的组的名称。数据类型为 varchar

使用说明

可以从用户中移除一个组,也可以通过用逗号分隔组名称来移除多个组。

有关检查移除组的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例从用户 jorge_souza 中移除 direct_salesb2b_sales 组。

db2 "call rdsadmin.remove_groups( 'jorge_souza', 'direct_sales,b2b_sales')"

rdsadmin.dbadm_grant

向角色、用户或组授予 DBADMACCESSCTRLDATAACCESS 授权。

语法

db2 "call rdsadmin.dbadm_grant( ?, 'database_name', 'authorization', 'grantee')"

参数

以下输出参数是必需参数:

?

一个参数标记,用于输出任务的唯一标识符。此参数仅接受 ?

以下输入参数是必需参数:

database_name

命令将在其上运行的数据库的名称。数据类型为 varchar

授权

要授予的授权类型。数据类型为 varchar。有效值:DBADMACCESSCTRLDATAACCESS

使用逗号分隔多个类型。

grantee

要接收授权的角色、用户或组。数据类型为 varchar。有效值:ROLEUSERGROUP

格式必须是值后跟名称。用英文逗号分隔多个值和名称。示例:“USER user1, user2, GROUP group1, group2”。将名称替换为您自己的信息。

使用说明

接收访问权限的角色必须存在。

有关检查授予数据库管理员访问权限的状态的信息,请参阅rdsadmin.get_task_status

示例

示例 1:向角色授予数据库管理员访问权限

以下示例向名为 TESTDB 的数据库中的 ROLE_DBA 角色授予数据库管理员访问权限。

db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"

示例 2:向用户和组授予数据库管理员访问权限

以下示例向名为 TESTDB 的数据库中的 user1group1 授予数据库管理员访问权限。

db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"

示例 3:向多个用户和组授予数据库管理员访问权限

以下示例向名为 TESTDB 的数据库中的 user1user2group1group2 授予数据库管理员访问权限。

db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"

rdsadmin.dbadm_revoke

从角色、用户或组撤销 DBADMACCESSCTRLDATAACCESS 授权。

语法

db2 "call rdsadmin.dbadm_revoke( ?, 'database_name', 'authorization', 'grantee')"

参数

以下输出参数是必需参数:

?

任务的唯一标识符。此参数仅接受 ?

以下输入参数是必需参数:

database_name

命令将在其上运行的数据库的名称。数据类型为 varchar

授权

要撤销的授权类型。数据类型为 varchar。有效值:DBADMACCESSCTRLDATAACCESS

使用逗号分隔多个类型。

grantee

要从中撤销授权的角色、用户或组。数据类型为 varchar。有效值:ROLEUSERGROUP

格式必须是值后跟名称。用英文逗号分隔多个值和名称。示例:“USER user1, user2, GROUP group1, group2”。将名称替换为您自己的信息。

使用说明

有关检查撤销数据库管理员访问权限的状态的信息,请参阅rdsadmin.get_task_status

示例

示例 1:撤消角色的数据库管理员访问权限

以下示例对名为 TESTDB 的数据库中的 ROLE_DBA 角色撤销数据库管理员访问权限。

db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"

示例 2:撤消用户和群组的数据库管理员访问权限

以下示例对名为 TESTDB 的数据库中的 user1group1 撤销数据库管理员访问权限。

db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"

示例 3:撤消多个用户和组的数据库管理员访问权限

以下示例对名为 TESTDB 的数据库中的 user1user2group1group2 撤销数据库管理员访问权限。

db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。