為 Db2 授予和撤銷 權限RDS的已儲存程序 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為 Db2 授予和撤銷 權限RDS的已儲存程序

本主題中所述的內建預存程序可管理 Amazon RDS for Db2 資料庫的使用者、角色、群組和授權。若要執行這些程序,主要使用者必須先連線到rdsadmin資料庫。

如需使用這些預存程序的任務,請參閱 授予和撤銷 Db2 RDS 的 權限

如需語法、參數、用量備註和範例的相關資訊,請參閱下列內建預存程序。

rdsadmin.create_role

建立角色。

語法

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

參數

下列是必要參數:

database_name

命令將在其中執行的資料庫名稱。資料類型為 varchar

role_name

您要建立的角色名稱。資料類型為 varchar

使用須知

如需檢查建立角色狀態的資訊,請參閱 rdsadmin.get_task_status

範例

下列範例會建立名為 MY_ROLE 資料庫 的角色DB2DB

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

指定承授者是否ROLEDBADM有權指派角色。資料類型為 char。預設值為 N

使用須知

如需檢查指派角色狀態的資訊,請參閱 rdsadmin.get_task_status

範例

範例 1:將角色指派給角色、使用者和群組,以及授予授權

下列範例會將名為 ROLE_TEST的資料庫角色指派給名為 TESTDB的角色role1、名為 的使用者user1,以及名為 的群組group1ROLE_TEST獲得管理員授權來指派角色。

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

範例 2:將角色指派給 PUBLIC ,而不是授予授權

下列範例會將名為 ROLE_TEST的資料庫角色指派給 TESTDB 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:從角色、使用者和群組撤銷角色

下列範例TESTDB會從名為 的角色role1、名為 的使用者user1,以及名為 的群組,撤銷ROLE_TEST名為 資料庫的角色group1

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

範例 2:從 撤銷角色 PUBLIC

下列範例TESTDB會從 撤銷名為 ROLE_TEST的資料庫角色PUBLIC

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

範例

下列範例會捨棄ROLE_TEST針對資料庫 呼叫的角色TESTDB

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

rdsadmin.add_user

將使用者新增至授權清單。

語法

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

參數

下列是必要參數:

username

使用者的使用者名稱。資料類型為 varchar

password

使用者的密碼。資料類型為 varchar

以下參數為選用:

group_name

您要新增使用者的群組名稱。資料類型為 varchar。預設值為空字串或 null。

使用須知

您可以將群組名稱以逗號分隔,將使用者新增至一或多個群組。

您可以在建立新使用者時或將群組新增至現有使用者時建立群組。您無法自行建立群組。

注意

您可以透過呼叫 新增的使用者數量上限為 rdsadmin.add_user 5,000。

如需檢查新增使用者狀態的詳細資訊,請參閱 rdsadmin.get_task_status

範例

下列範例會建立名為 的使用者,jorge_souza並將使用者指派給名為 sales和 的群組inside_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使其無法存取 中 Db2 資料庫執行個體RDS的資料庫。

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

範例

下列範例會從使用者 移除 direct_salesb2b_sales群組jorge_souza

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

rdsadmin.dbadm_grant

ACCESSCTRLDBADMDATAACCESS授權授予角色、使用者或群組。

語法

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

參數

需要下列輸出參數:

?

輸出任務唯一識別符的參數標記。此參數僅接受 ?

需要下列輸入參數:

database_name

命令將在其中執行的資料庫名稱。資料類型為 varchar

authorization

要授予的授權類型。資料類型為 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:授予使用者和群組的資料庫管理員存取權

下列範例會授予資料庫管理員存取名為 user1TESTDB的資料庫group1

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

範例 3:將資料庫管理員存取權授予多個使用者和群組

下列範例會授予資料庫管理員存取名為 user1group1user2TESTDB的資料庫group2

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

rdsadmin.dbadm_revoke

從角色DBADMACCESSCTRL、使用者或群組撤銷 、 或 DATAACCESS 授權。

語法

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

參數

需要下列輸出參數:

?

任務的唯一識別符。此參數僅接受 ?

需要下列輸入參數:

database_name

命令將在其中執行的資料庫名稱。資料類型為 varchar

authorization

要撤銷的授權類型。資料類型為 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:從使用者和群組撤銷資料庫管理員存取權

下列範例會撤銷資料庫管理員對名為 user1和 之資料庫TESTDB的存取權group1

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

範例 3:從多個使用者和群組撤銷資料庫管理員存取權

下列範例會撤銷資料庫管理員對名為 user1group1user2和 之資料庫TESTDB的存取權group2

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