本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
針對適用於 Db2 資料庫執行個體的 Amazon RDS 執行一般系統任務
您可以在執行 Db2 的 Amazon RDS 資料庫執行個體上,執行與系統相關的某些常見資料庫管理員任務。為了提供受管理的服務體驗,Amazon RDS 並不會提供資料庫執行個體的 Shell 存取權,而且會將存取權限制在某些需要進階權限的系統程序和資料表。
建立自訂資料庫端點
當您移轉到 Amazon RDS for Db2 時,您可以使用自訂資料庫端點 URL 將對應用程式的變更降到最低。例如,如果您使用db2.example.com
當前的 DNS 記錄,則可以將其添加到 Amazon 路線 53。在 Route 53 中,您可以使用私有託管區域將目前的 DNS 資料庫端點對應至 RDS for Db2 資料庫端點。若要為 Amazon RDS 資料庫端點新增自訂A
或CNAME
記錄,請參閱 Amazon Route 53 開發人員指南中的使用 Amazon Route 53 註冊和管理網域。
注意
如果您無法將網域轉移到 Route 53,您可以使用 DNS 提供者建立 RDS for Db2 資料庫端點 URL 的CNAME
記錄。請參閱 DNS 供應商說明文件。
授與和撤銷權限
使用者可透過附加至資料庫之群組中的成員資格來存取資料庫。
使用下列程序來授與和撤銷控制資料庫存取權的權限。
這些程序會使用在本機電腦上執IBM Db2 CLP行來連線至 RDS for Db2 資料庫執行個體。請務必對 TCPIP 節點和資料庫進行分類,以連線到本機電腦上執行的 RDS for Db2 資料庫執行個體。如需詳細資訊,請參閱 使用以下方式連接到您的 Amazon RDS 適用於 Db2 資料庫 IBM Db2 CLP。
授與使用者對資料庫的存取權
授與使用者存取您的資料庫
-
使用 RDS for Db2
rdsadmin
資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
此命令會產生類似下列範例的輸出:
Database Connection Information Database server = DB2/LINUXX8664 11.5.8.0 SQL authorization ID = ADMIN Local database alias = RDSADMIN
-
通過調用將用戶添加到您的授權列表中
rdsadmin.add_user
。如需詳細資訊,請參閱 rdsadmin.add_user。db2 "call rdsadmin.add_user( '
username
', 'password
', 'group_name
,group_name
')" -
(選擇性) 透過呼叫將其他群組新增至使用者
rdsadmin.add_groups
。如需詳細資訊,請參閱 rdsadmin.add_groups。db2 "call rdsadmin.add_groups( '
username
', 'group_name
,group_name
')" -
確認使用者可使用的授權單位。
在下面的例子中,用您自己的信息替換
另外,將用戶rds_database_alias
,主用戶和主
密碼。名
替換為用戶的用戶名。db2 terminate db2 connect to
rds_database_alias
usermaster_user
usingmaster_password
db2 "SELECT SUBSTR(AUTHORITY,1,20) AUTHORITY, D_USER, D_GROUP, D_PUBLIC FROM TABLE (SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID ('username
', 'U') ) AS T ORDER BY AUTHORITY"此命令會產生類似下列範例的輸出:
AUTHORITY D_USER D_GROUP D_PUBLIC -------------------- ------ ------- -------- ACCESSCTRL N N N BINDADD N N N CONNECT N N N CREATETAB N N N CREATE_EXTERNAL_ROUT N N N CREATE_NOT_FENCED_RO N N N CREATE_SECURE_OBJECT N N N DATAACCESS N N N DBADM N N N EXPLAIN N N N IMPLICIT_SCHEMA N N N LOAD N N N QUIESCE_CONNECT N N N SECADM N N N SQLADM N N N SYSADM * N * SYSCTRL * N * SYSMAINT * N * SYSMON * N * WLMADM N N N
-
將 RDS for Db2 角色授與
ROLE_NULLID_PACKAGES
ROLE_TABLESPACES
,ROLE_PROCEDURES
以及您新增使用者的群組。如需詳細資訊,請參閱 RDS適用於 Db2 的 Amazon 預設角色。注意
我們在
RESTRICTIVE
模式下為 Db2 資料庫執行個體建立 RDS。因此,適用於 Db2 角色的 RDSROLE_NULLID_PACKAGES
ROLE_TABLESPACES
,並ROLE_PROCEDURES
授與和NULLID
套件的執行權限。IBM Db2 CLP Dynamic SQL這些角色也會授與使用者表格空間的權限。-
Connect 至您的 Db2 資料庫。在下面的例子中,用您自己的信息替換
數據庫名稱
,主用戶
和主
密碼。db2 connect to
database_name
usermaster_user
usingmaster_password
-
ROLE_NULLED_PACKAGES
將角色授與群組。在下列範例中,將group_name
取代為您要新增角色之群組的名稱。db2 "grant role ROLE_NULLID_PACKAGES to group
group_name
" -
ROLE_TABLESPACES
將角色授與相同的群組。在下列範例中,將group_name
取代為您要新增角色之群組的名稱。db2 "grant role ROLE_TABLESPACES to group
group_name
" -
ROLE_PROCEDURES
將角色授與相同的群組。在下列範例中,將group_name
取代為您要新增角色之群組的名稱。db2 "grant role ROLE_PROCEDURES to group
group_name
"
-
-
授與
connect
bindadd
、createtab
、和授IMPLICIT_SCHEMA
權給您新增使用者的群組。在下列範例中,將group_name
取代為您新增使用者的第二個群組的名稱。db2 "grant usage on workload SYSDEFAULTUSERWORKLOAD to public" db2 "grant connect, bindadd, createtab, implicit_schema on database to group
group_name
" -
針對新增使用者的其他每個群組重複步驟 4 到 6。
-
以使用者身分連線、建立資料表、將值插入資料表,然後從資料表傳回資料,以測試使用者的存取權限。在下列範例中,將
rds_database_alias
、使
用者名稱和密碼
取代為資料庫名稱以及使用者的使用者名稱和密碼。db2 connect to
rds_database_alias
userusername
usingpassword
db2 "create table t1(c1 int not null)" db2 "insert into t1 values (1),(2),(3),(4)" db2 "select * from t1"
變更使用者的密碼
若要變更使用者的密碼
-
使用 RDS for Db2
rdsadmin
資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
通過調用更改密碼
rdsadmin.change_password
。如需詳細資訊,請參閱 rdsadmin.change_password。db2 "call rdsadmin.change_password( '
username
', 'new_password
')"
將群組新增至使用者
若要將群組新增至使用者
-
使用 RDS for Db2
rdsadmin
資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
透過呼叫將群組新增至使用者
rdsadmin.add_groups
。如需詳細資訊,請參閱 rdsadmin.add_groups。db2 "call rdsadmin.add_groups( '
username
', 'group_name
,group_name
')"
從使用者中移除群組
若要從使用者中移除群組
-
使用 RDS for Db2
rdsadmin
資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
透過呼叫移除群組
rdsadmin.remove_groups
。如需詳細資訊,請參閱 rdsadmin.remove_groups。db2 "call rdsadmin.remove_groups( '
username
', 'group_name
,group_name
')"
移除使用者
若要從授權清單中移除使用者
-
使用 RDS for Db2
rdsadmin
資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
通過調用將用戶從授權列表中刪除
rdsadmin.remove_user
。如需詳細資訊,請參閱 rdsadmin.remove_user。db2 "call rdsadmin.remove_user('
username
')"
列出使用者
若要列出授權清單上的使用者,請呼叫rdsadmin.list_users
預存程序。如需詳細資訊,請參閱 rdsadmin.list_users。
db2 "call rdsadmin.list_users()"
建立角色
您可以使用rdsadmin.create_role預存程序來建立角色。
若要建立角色
-
Connect 至資
rdsadmin
料庫。在下面的例子中,用您的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
將 Db2 設定為輸出內容。
db2 set serveroutput on
-
建立角色。如需詳細資訊,請參閱 rdsadmin.create_role。
db2 "call rdsadmin.create_role( '
database_name
', 'role_name
')" -
將 Db2 設定為不輸出內容。
db2 set serveroutput off
授予角色
您可以使用rdsadmin.grant_role預存程序將角色指派給角色、使用者或群組。
若要指派角色
-
Connect 至資
rdsadmin
料庫。在下面的例子中,用您的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
將 Db2 設定為輸出內容。
db2 set serveroutput on
-
指派角色。如需詳細資訊,請參閱 rdsadmin.grant_role。
db2 "call rdsadmin.grant_role( '
database_name
', 'role_name
', 'grantee
', 'admin_option
')" -
將 Db2 設定為不輸出內容。
db2 set serveroutput off
撤銷角色
您可以使用rdsadmin.revoke_role預存程序來撤銷角色、使用者或群組的角色。
若要撤銷角色
-
Connect 至資
rdsadmin
料庫。在下面的例子中,用您的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
撤銷角色。如需詳細資訊,請參閱 rdsadmin.revoke_role。
db2 "call rdsadmin.revoke_role( ?, '
database_name
', 'role_name
', 'grantee
')"
授予資料庫授權
具有DBADM
授權的主要使用者可以授與DBADM
或DATAACCESS
授權角色、使用者或群組。ACCESSCTRL
若要授與資料庫授權
-
使用 RDS for Db2
rdsadmin
資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
通過呼叫授予用戶訪問權限
rdsadmin.dbadm_grant
。如需詳細資訊,請參閱 rdsadmin.dbadm_grant。db2 "call rdsadmin.dbadm_grant( ?, '
database_name
, 'authorization
', 'grantee
')"
範例使用案例
下列程序會逐步引導您建立角色、DBADM
授與角色授權、將角色指派給使用者,以及將角色授與群組。
-
使用 RDS for Db2
rdsadmin
資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
建立呼叫資料庫
PROD_ROLE
的角色TESTDB
。如需詳細資訊,請參閱 rdsadmin.create_role。db2 "call rdsadmin.create_role( 'TESTDB', 'PROD_ROLE')"
-
將角色指派給稱為的使用者
PROD_USER
。PROD_USER
已授予管理員授權以指派角色。如需詳細資訊,請參閱 rdsadmin.grant_role。db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'PROD_ROLE', 'USER PROD_USER', 'Y')"
-
(選擇性) 提供其他授權或權限。下列範例會將授
DBADM
權授與名為的資料庫所命名PROD_ROLE
的角色FUNDPROD
。如需詳細資訊,請參閱 rdsadmin.dbadm_grant。db2 "call rdsadmin.dbadm_grant( ?, 'FUNDPROD', 'DBADM', 'ROLE PROD_ROLE')"
-
終止您的工作階段。
db2 terminate
-
使用 RDS for Db2
TESTDB
資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換Master_user 用戶名
和主密碼
。db2 connect to TESTDB user
master_username
usingmaster_password
-
為角色新增更多授權。
db2 "grant connect, implicit_schema on database to role PROD_ROLE"
-
PROD_ROLE
將角色授與群組。db2 "grant role PROD_ROLE to group PRODGRP"
屬於群組的使用者現在PRODGRP
可以執行連線至TESTDB
資料庫、建立資料表或建立結構描述等動作。
撤銷資料庫授權
具有DBADM
授權的主要使用者可以撤銷角色DBADM
ACCESSCTRL
、使用者或群組的DATAACCESS
授權。
撤銷資料庫授權
-
使用 RDS for Db2
rdsadmin
資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換Master_user 用戶名
和主密碼
。db2 connect to rdsadmin user
master_username
usingmaster_password
-
通過呼叫撤銷用戶訪問權限
rdsadmin.dbadm_revoke
。如需詳細資訊,請參閱 rdsadmin.dbadm_revoke。db2 "call rdsadmin.dbadm_revoke( ?, '
database_name
, 'authorization
', 'grantee
')"
附加至適用於 Db2 資料庫執行個體的遠端 RDS
若要附加至適用於 Db2 資料庫執行個體的遠端 RDS
-
執行用戶端IBM Db2 CLP工作階段。如需為 RDS for Db2 資料庫執行個體和資料庫編目的相關資訊,請參閱。使用以下方式連接到您的 Amazon RDS 適用於 Db2 資料庫 IBM Db2 CLP記下您 RDS for Db2 資料庫執行個體的主要使用者名稱和主要密碼。
-
附加至適用於 Db2 資料庫執行個體的 RDS。在下列範例中,將
節點名稱、主要
b2 資料庫執行個體的主要使用者名稱和主要密碼。使
用者名稱和主密碼
取代為您編目的 TCPIP 節點名稱,以及 RDS for Ddb2 attach to
node_name
usermaster_username
usingmaster_password
附加至遠端 RDS for Db2 資料庫執行個體後,您可以執行下列命令和其他get snapshot
命令。如需詳細資訊,請參閱IBM Db2文件中的GET
SNAPSHOT指令
db2 list applications db2 get snapshot for all databases db2 get snapshot for database manager db2 get snapshot for all applications