本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 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
。有效值:ROLE
、USER
、GROUP
、PUBLIC
。格式必須是值,後面跟著名稱。使用逗號分隔多個值和名稱。範例:'
USER
'。將名稱取代為您自己的資訊。user1
,user2
, GROUPgroup1
,group2
下列輸入參數為選用:
admin_option
-
指定受讓者是否
ROLE
DBADM
有權指派角色。資料類型為char
。預設值為N
。
使用須知
如需有關檢查指派角色狀態的資訊,請參閱 rdsadmin.get_task_status。
範例
下列範例會將名為 ROLE_TEST
資料庫的角色指派給名為 TESTDB
的角色role1
、名為 的使用者user1
,以及名為 的群組group1
。 ROLE_TEST
獲得管理員授權來指派角色。
db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1', 'Y')"
下列範例ROLE_TEST
會將名為 資料庫的角色指派給 TESTDB
PUBLIC
。 ROLE_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
。有效值:ROLE
、USER
、GROUP
、PUBLIC
。格式必須是值,後面跟著名稱。使用逗號分隔多個值和名稱。範例:'
USER
'。將名稱取代為您自己的資訊。user1
,user2
, GROUPgroup1
,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_sales
和 b2b_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_sales
和 b2b_sales
群組jorge_souza
。
db2 "call rdsadmin.remove_groups( 'jorge_souza', 'direct_sales,b2b_sales')"
rdsadmin.dbadm_grant
將 ACCESSCTRL
、 DBADM
或 DATAACCESS
授權授予角色、使用者或群組。
語法
db2 "call rdsadmin.dbadm_grant( ?, '
database_name
', 'authorization
', 'grantee
')"
參數
需要下列輸出參數:
- ?
-
輸出任務唯一識別符的參數標記。此參數僅接受
?
。
需要下列輸入參數:
database_name
-
命令將在其中執行的資料庫名稱。資料類型為
varchar
。 authorization
-
要授予的授權類型。資料類型為
varchar
。有效值:DBADM
、ACCESSCTRL
、DATAACCESS
。使用逗號分隔多種類型。
grantee
-
接收授權的角色、使用者或群組。資料類型為
varchar
。有效值:ROLE
、USER
、GROUP
。格式必須是值,後面跟著名稱。使用逗號分隔多個值和名稱。範例:'
USER
'。將名稱取代為您自己的資訊。user1
,user2
, GROUPgroup1
,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')"
下列範例會授予資料庫管理員對名為 user1
、user2
、 group1
和 的資料庫TESTDB
的存取權group2
。
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"
rdsadmin.dbadm_revoke
從角色DBADM
ACCESSCTRL
、使用者或群組撤銷 、 或 DATAACCESS
授權。
語法
db2 "call rdsadmin.dbadm_revoke( ?, '
database_name
', 'authorization
', 'grantee
')"
參數
需要下列輸出參數:
- ?
-
任務的唯一識別符。此參數僅接受
?
。
需要下列輸入參數:
database_name
-
命令將在其中執行的資料庫名稱。資料類型為
varchar
。 authorization
-
要撤銷的授權類型。資料類型為
varchar
。有效值:DBADM
、ACCESSCTRL
、DATAACCESS
。使用逗號分隔多種類型。
grantee
-
要撤銷授權的角色、使用者或群組。資料類型為
varchar
。有效值:ROLE
、USER
、GROUP
。格式必須是值,後面跟著名稱。使用逗號分隔多個值和名稱。範例:'
USER
'。將名稱取代為您自己的資訊。user1
,user2
, GROUPgroup1
,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')"
下列範例會撤銷資料庫管理員對名為 user1
、user2
、 group1
和 的資料庫TESTDB
的存取權group2
。
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"