針對適用於 Db2 資料庫執行個體的 Amazon RDS 執行一般系統任務 - Amazon Relational Database Service

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

針對適用於 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 資料庫端點新增自訂ACNAME記錄,請參閱 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

授與使用者對資料庫的存取權

授與使用者存取您的資料庫
  1. 使用 RDS for Db2 rdsadmin 資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password

    此命令會產生類似下列範例的輸出:

    Database Connection Information Database server = DB2/LINUXX8664 11.5.8.0 SQL authorization ID = ADMIN Local database alias = RDSADMIN
  2. 通過調用將用戶添加到您的授權列表中rdsadmin.add_user。如需詳細資訊,請參閱 rdsadmin.add_user

    db2 "call rdsadmin.add_user( 'username', 'password', 'group_name,group_name')"
  3. (選擇性) 透過呼叫將其他群組新增至使用者rdsadmin.add_groups。如需詳細資訊,請參閱 rdsadmin.add_groups

    db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"
  4. 確認使用者可使用的授權單位。在下面的例子中,用您自己的信息替換 rds_database_alias主用戶和主密碼。另外,將用戶替換為用戶的用戶名。

    db2 terminate db2 connect to rds_database_alias user master_user using master_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
  5. 將 RDS for Db2 角色授與 ROLE_NULLID_PACKAGESROLE_TABLESPACESROLE_PROCEDURES以及您新增使用者的群組。如需詳細資訊,請參閱 RDS適用於 Db2 的 Amazon 預設角色

    注意

    我們在RESTRICTIVE模式下為 Db2 資料庫執行個體建立 RDS。因此,適用於 Db2 角色的 RDS ROLE_NULLID_PACKAGESROLE_TABLESPACES,並ROLE_PROCEDURES授與和NULLID套件的執行權限。IBM Db2 CLP Dynamic SQL這些角色也會授與使用者表格空間的權限。

    1. Connect 至您的 Db2 資料庫。在下面的例子中,用您自己的信息替換數據庫名稱主用戶密碼。

      db2 connect to database_name user master_user using master_password
    2. ROLE_NULLED_PACKAGES將角色授與群組。在下列範例中,將 group_name 取代為您要新增角色之群組的名稱。

      db2 "grant role ROLE_NULLID_PACKAGES to group group_name"
    3. ROLE_TABLESPACES將角色授與相同的群組。在下列範例中,將 group_name 取代為您要新增角色之群組的名稱。

      db2 "grant role ROLE_TABLESPACES to group group_name"
    4. ROLE_PROCEDURES將角色授與相同的群組。在下列範例中,將 group_name 取代為您要新增角色之群組的名稱。

      db2 "grant role ROLE_PROCEDURES to group group_name"
  6. 授與connectbindaddcreatetab、和授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"
  7. 針對新增使用者的其他每個群組重複步驟 4 到 6。

  8. 以使用者身分連線、建立資料表、將值插入資料表,然後從資料表傳回資料,以測試使用者的存取權限。在下列範例中,將 rds_database_alias使用者名稱和密碼取代為資料庫名稱以及使用者的使用者名稱和密碼。

    db2 connect to rds_database_alias user username using password db2 "create table t1(c1 int not null)" db2 "insert into t1 values (1),(2),(3),(4)" db2 "select * from t1"

變更使用者的密碼

若要變更使用者的密碼
  1. 使用 RDS for Db2 rdsadmin 資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 通過調用更改密碼rdsadmin.change_password。如需詳細資訊,請參閱 rdsadmin.change_password

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

將群組新增至使用者

若要將群組新增至使用者
  1. 使用 RDS for Db2 rdsadmin 資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 透過呼叫將群組新增至使用者rdsadmin.add_groups。如需詳細資訊,請參閱 rdsadmin.add_groups

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

從使用者中移除群組

若要從使用者中移除群組
  1. 使用 RDS for Db2 rdsadmin 資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 透過呼叫移除群組rdsadmin.remove_groups。如需詳細資訊,請參閱 rdsadmin.remove_groups

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

移除使用者

若要從授權清單中移除使用者
  1. 使用 RDS for Db2 rdsadmin 資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 通過調用將用戶從授權列表中刪除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預存程序來建立角色。

若要建立角色
  1. Connect 至資rdsadmin料庫。在下面的例子中,用您的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 將 Db2 設定為輸出內容。

    db2 set serveroutput on
  3. 建立角色。如需詳細資訊,請參閱 rdsadmin.create_role

    db2 "call rdsadmin.create_role( 'database_name', 'role_name')"
  4. 將 Db2 設定為不輸出內容。

    db2 set serveroutput off

授予角色

您可以使用rdsadmin.grant_role預存程序將角色指派給角色、使用者或群組。

若要指派角色
  1. Connect 至資rdsadmin料庫。在下面的例子中,用您的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 將 Db2 設定為輸出內容。

    db2 set serveroutput on
  3. 指派角色。如需詳細資訊,請參閱 rdsadmin.grant_role

    db2 "call rdsadmin.grant_role( 'database_name', 'role_name', 'grantee', 'admin_option')"
  4. 將 Db2 設定為不輸出內容。

    db2 set serveroutput off

撤銷角色

您可以使用rdsadmin.revoke_role預存程序來撤銷角色、使用者或群組的角色。

若要撤銷角色
  1. Connect 至資rdsadmin料庫。在下面的例子中,用您的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 撤銷角色。如需詳細資訊,請參閱 rdsadmin.revoke_role

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

授予資料庫授權

具有DBADM授權的主要使用者可以授與DBADMDATAACCESS授權角色、使用者或群組。ACCESSCTRL

若要授與資料庫授權
  1. 使用 RDS for Db2 rdsadmin 資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 通過呼叫授予用戶訪問權限rdsadmin.dbadm_grant。如需詳細資訊,請參閱 rdsadmin.dbadm_grant

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

範例使用案例

下列程序會逐步引導您建立角色、DBADM授與角色授權、將角色指派給使用者,以及將角色授與群組。

  1. 使用 RDS for Db2 rdsadmin 資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 建立呼叫資料庫PROD_ROLE的角色TESTDB。如需詳細資訊,請參閱 rdsadmin.create_role

    db2 "call rdsadmin.create_role( 'TESTDB', 'PROD_ROLE')"
  3. 將角色指派給稱為的使用者PROD_USERPROD_USER已授予管理員授權以指派角色。如需詳細資訊,請參閱 rdsadmin.grant_role

    db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'PROD_ROLE', 'USER PROD_USER', 'Y')"
  4. (選擇性) 提供其他授權或權限。下列範例會將授DBADM權授與名為的資料庫所命名PROD_ROLE的角色FUNDPROD。如需詳細資訊,請參閱 rdsadmin.dbadm_grant

    db2 "call rdsadmin.dbadm_grant( ?, 'FUNDPROD', 'DBADM', 'ROLE PROD_ROLE')"
  5. 終止您的工作階段。

    db2 terminate
  6. 使用 RDS for Db2 TESTDB 資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換 Master_user 用戶名主密碼

    db2 connect to TESTDB user master_username using master_password
  7. 為角色新增更多授權。

    db2 "grant connect, implicit_schema on database to role PROD_ROLE"
  8. PROD_ROLE將角色授與群組。

    db2 "grant role PROD_ROLE to group PRODGRP"

屬於群組的使用者現在PRODGRP可以執行連線至TESTDB資料庫、建立資料表或建立結構描述等動作。

撤銷資料庫授權

具有DBADM授權的主要使用者可以撤銷角色DBADMACCESSCTRL、使用者或群組的DATAACCESS授權。

撤銷資料庫授權
  1. 使用 RDS for Db2 rdsadmin 資料庫執行個體的主要使用者名稱和主要密碼 Connect 線至資料庫。在下面的例子中,用您自己的信息替換 Master_user 用戶名主密碼

    db2 connect to rdsadmin user master_username using master_password
  2. 通過呼叫撤銷用戶訪問權限rdsadmin.dbadm_revoke。如需詳細資訊,請參閱 rdsadmin.dbadm_revoke

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

附加至適用於 Db2 資料庫執行個體的遠端 RDS

若要附加至適用於 Db2 資料庫執行個體的遠端 RDS
  1. 執行用戶端IBM Db2 CLP工作階段。如需為 RDS for Db2 資料庫執行個體和資料庫編目的相關資訊,請參閱。使用以下方式連接到您的 Amazon RDS 適用於 Db2 資料庫 IBM Db2 CLP記下您 RDS for Db2 資料庫執行個體的主要使用者名稱和主要密碼。

  2. 附加至適用於 Db2 資料庫執行個體的 RDS。在下列範例中,將節點名稱、主要使用者名稱和主密碼取代為您編目的 TCPIP 節點名稱,以及 RDS for D b2 資料庫執行個體的主要使用者名稱和主要密碼。

    db2 attach to node_name user master_username using master_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