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

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

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

下列預存程序會授予和撤銷 Amazon RDS for Db2 資料庫的權限。若要執行這些程序,主要使用者必須先連線至rdsadmin資料庫。

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

範例

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

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

下列範例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

範例

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

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

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

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

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

範例

下列範例會授予資料庫管理員對角色 名為 TESTDB的資料庫的存取權ROLE_DBA

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

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

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

下列範例會授予資料庫管理員對名為 user1user2group1和 的資料庫TESTDB的存取權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

範例

下列範例會撤銷資料庫管理員對針對角色 命名之資料庫TESTDB的存取權ROLE_DBA

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

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

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

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

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