Melakukan tugas sistem umum untuk Amazon RDS untuk instans Db2 DB - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Melakukan tugas sistem umum untuk Amazon RDS untuk instans Db2 DB

Anda dapat melakukan tugas-tugas administrator basis data umum tertentu yang terkait dengan sistem di instans basis data Amazon RDS Anda yang menjalankan Db2. Untuk memberikan pengalaman layanan terkelola, Amazon RDS tidak memberikan akses shell ke instans basis data, dan membatasi akses ke sejumlah prosedur dan tabel sistem tertentu yang memerlukan privilese lanjut.

Membuat titik akhir basis data kustom

Saat Anda bermigrasi ke Amazon RDS untuk Db2, Anda dapat menggunakan URL endpoint database kustom untuk meminimalkan perubahan pada aplikasi Anda. Misalnya, jika db2.example.com digunakan sebagai catatan DNS Anda saat ini, Anda dapat menambahkannya ke Amazon Route 53. Di Route 53, Anda dapat menggunakan zona-zona yang di-hosting privat untuk memetakan titik akhir basis data DNS Anda saat ini ke titik akhir basis data RDS for Db2. Untuk menambahkan catatan A atau CNAME kustom bagi titik akhir basis data Amazon RDS, lihat Mendaftarkan dan mengelola domain dengan menggunakan Amazon Route 53 dalam Panduan Developer Amazon Route 53.

catatan

Jika domain Anda tidak dapat ditransfer ke Route 53, Anda dapat meminta penyedia DNS Anda membuat catatan CNAME bagi URL titik akhir basis data RDS for Db2. Bacalah dokumentasi penyedia DNS Anda.

Memberikan dan mencabut privilese

Pengguna mendapatkan akses ke basis data melalui keanggotaan dalam grup yang dilampirkan pada basis data.

Gunakan prosedur-prosedur berikut untuk memberikan dan mencabut privilese untuk mengontrol akses ke basis data Anda.

Prosedur-prosedur ini menggunakan IBM Db2 CLP yang berjalan pada mesin lokal untuk menghubungi instans basis data RDS for Db2. Pastikan untuk membuat katalog simpul TCPIP dan basis data untuk menghubungi instans basis data RDS for Db2 yang berjalan di mesin lokal Anda. Untuk informasi selengkapnya, lihat Menghubungkan ke Amazon RDS untuk instans Db2 DB dengan IBM Db2 CLP.

Memberikan akses ke basis data Anda kepada pengguna

Untuk memberikan akses ke basis data Anda kepada seorang pengguna
  1. Hubungi basis data rdsadmin dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda sendiri.

    db2 connect to rdsadmin user master_username using master_password

    Perintah ini menghasilkan output yang serupa dengan contoh berikut:

    Database Connection Information Database server = DB2/LINUXX8664 11.5.8.0 SQL authorization ID = ADMIN Local database alias = RDSADMIN
  2. Tambahkan pengguna ke daftar otorisasi Anda dengan memanggil rdsadmin.add_user. Untuk informasi selengkapnya, lihat rdsadmin.add_user.

    db2 "call rdsadmin.add_user( 'username', 'password', 'group_name,group_name')"
  3. (Opsional) Tambahkan grup lain ke pengguna dengan memanggil rdsadmin.add_groups. Untuk informasi selengkapnya, lihat rdsadmin.add_groups.

    db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"
  4. Tegaskan otoritas yang tersedia untuk pengguna. Dalam contoh berikut, ganti rds_database_alias, master_user, dan master_password dengan informasi Anda sendiri. Juga, ganti username dengan nama pengguna si pengguna.

    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"

    Perintah ini menghasilkan output yang serupa dengan contoh berikut:

    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. Berikan peran-peran RDS for Db2 ROLE_NULLID_PACKAGES, ROLE_TABLESPACES, dan ROLE_PROCEDURES ke grup tempat Anda menambahkan pengguna. Untuk informasi selengkapnya, lihat Amazon RDS untuk peran default Db2.

    catatan

    Kami membuat instans basis data RDS for Db2 dalam mode RESTRICTIVE. Oleh karena itu, peran-peran RDS for Db2 ROLE_NULLID_PACKAGES, ROLE_TABLESPACES, dan ROLE_PROCEDURES memberikan privilese eksekusi pada paket-paket NULLID untuk IBM Db2 CLP dan Dynamic SQL. Peran-peran ini juga memberi pengguna privilese pada ruang tabel.

    1. Connect ke database Db2 Anda. Dalam contoh berikut, ganti database_name, master_user, dan master_password dengan informasi Anda sendiri.

      db2 connect to database_name user master_user using master_password
    2. Berikan peran ROLE_NULLED_PACKAGES kepada sebuah grup. Dalam contoh berikut, ganti group_name dengan nama grup yang ingin Anda tambahi peran.

      db2 "grant role ROLE_NULLID_PACKAGES to group group_name"
    3. Berikan peran ROLE_TABLESPACES kepada grup yang sama. Dalam contoh berikut, ganti group_name dengan nama grup yang ingin Anda tambahi peran.

      db2 "grant role ROLE_TABLESPACES to group group_name"
    4. Berikan peran ROLE_PROCEDURES kepada grup yang sama. Dalam contoh berikut, ganti group_name dengan nama grup yang ingin Anda tambahi peran.

      db2 "grant role ROLE_PROCEDURES to group group_name"
  6. Berikan otoritas-otoritas connect, bindadd, createtab, dan IMPLICIT_SCHEMA kepada grup yang Anda tambahi pengguna. Dalam contoh berikut, ganti group_name dengan nama grup kedua yang ingin Anda tambahi pengguna.

    db2 "grant usage on workload SYSDEFAULTUSERWORKLOAD to public" db2 "grant connect, bindadd, createtab, implicit_schema on database to group group_name"
  7. Ulangi langkah 4 hingga 6 untuk setiap grup lain yang Anda tambahi pengguna.

  8. Coba akses pengguna dengan menghubungkan sebagai pengguna, membuat tabel, memasukkan nilai ke dalam tabel, dan mengambil data dari tabel. Dalam contoh berikut, ganti rds_database_alias, username, dan password dengan nama basis data dan nama pengguna dan kata sandi si pengguna.

    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"

Mengubah kata sandi pengguna

Untuk mengubah kata sandi seorang pengguna
  1. Hubungi basis data rdsadmin dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda sendiri.

    db2 connect to rdsadmin user master_username using master_password
  2. Ubah kata sandi dengan memanggil rdsadmin.change_password. Untuk informasi selengkapnya, lihat rdsadmin.change_password.

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

Menambahkan grup ke pengguna

Untuk menambahkan grup ke seorang pengguna
  1. Hubungi basis data rdsadmin dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda sendiri.

    db2 connect to rdsadmin user master_username using master_password
  2. Tambahkan grup ke pengguna dengan memanggil rdsadmin.add_groups. Untuk informasi selengkapnya, lihat rdsadmin.add_groups.

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

Menghapus grup dari pengguna

Untuk menghapus grup dari seorang pengguna
  1. Hubungi basis data rdsadmin dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda sendiri.

    db2 connect to rdsadmin user master_username using master_password
  2. Hapus grup dengan memanggil rdsadmin.remove_groups. Untuk informasi selengkapnya, lihat rdsadmin.remove_groups.

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

Menghapus pengguna

Untuk menghapus seorang pengguna dari daftar otorisasi
  1. Hubungi basis data rdsadmin dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda sendiri.

    db2 connect to rdsadmin user master_username using master_password
  2. Hapus pengguna dari daftar otorisasi dengan memanggil rdsadmin.remove_user. Untuk informasi selengkapnya, lihat rdsadmin.remove_user.

    db2 "call rdsadmin.remove_user('username')"

Memerinci pengguna

Untuk memerinci pengguna pada sebuah daftar otorisasi, panggil prosedur tersimpan rdsadmin.list_users. Untuk informasi selengkapnya, lihat rdsadmin.list_users.

db2 "call rdsadmin.list_users()"

Membuat peran

Anda dapat menggunakan prosedur tersimpan rdsadmin.create_role untuk membuat peran.

Untuk membuat grup
  1. Hubungi basis data rdsadmin. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda.

    db2 connect to rdsadmin user master_username using master_password
  2. Atur Db2 ke konten keluaran.

    db2 set serveroutput on
  3. Buat peran. Untuk informasi selengkapnya, lihat rdsadmin.create_role.

    db2 "call rdsadmin.create_role( 'database_name', 'role_name')"
  4. Setel Db2 agar tidak menampilkan konten.

    db2 set serveroutput off

Memberikan peran

Anda dapat menggunakan prosedur rdsadmin.grant_role tersimpan untuk menetapkan peran ke peran, pengguna, atau grup.

Untuk menetapkan peran
  1. Hubungi basis data rdsadmin. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda.

    db2 connect to rdsadmin user master_username using master_password
  2. Atur Db2 ke konten keluaran.

    db2 set serveroutput on
  3. Tetapkan peran. Untuk informasi selengkapnya, lihat rdsadmin.grant_role.

    db2 "call rdsadmin.grant_role( 'database_name', 'role_name', 'grantee', 'admin_option')"
  4. Setel Db2 agar tidak menampilkan konten.

    db2 set serveroutput off

Mencabut peran

Anda dapat menggunakan prosedur rdsadmin.revoke_role tersimpan untuk mencabut peran dari peran, pengguna, atau grup.

Untuk mencabut peran
  1. Hubungi basis data rdsadmin. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda.

    db2 connect to rdsadmin user master_username using master_password
  2. Mencabut peran. Untuk informasi selengkapnya, lihat rdsadmin.revoke_role.

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

Pemberian otorisasi database

Pengguna master, yang memiliki DBADM otorisasi, dapat memberikanDBADM,ACCESSCTRL, atau DATAACCESS otorisasi untuk peran, pengguna, atau grup.

Untuk memberikan otorisasi database
  1. Hubungi basis data rdsadmin dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda sendiri.

    db2 connect to rdsadmin user master_username using master_password
  2. Berikan akses pengguna dengan meneleponrdsadmin.dbadm_grant. Untuk informasi selengkapnya, lihat rdsadmin.dbadm_grant.

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

Contoh kasus penggunaan

Prosedur berikut memandu Anda melalui pembuatan peran, memberikan DBADM otorisasi untuk peran, menetapkan peran kepada pengguna, dan memberikan peran ke grup.

  1. Hubungi basis data rdsadmin dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda sendiri.

    db2 connect to rdsadmin user master_username using master_password
  2. Buat peran yang dipanggil PROD_ROLE untuk database yang disebutTESTDB. Untuk informasi selengkapnya, lihat rdsadmin.create_role.

    db2 "call rdsadmin.create_role( 'TESTDB', 'PROD_ROLE')"
  3. Tetapkan peran ke pengguna yang dipanggilPROD_USER. PROD_USEROtorisasi admin diberikan untuk menetapkan peran. Untuk informasi selengkapnya, lihat rdsadmin.grant_role.

    db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'PROD_ROLE', 'USER PROD_USER', 'Y')"
  4. (Opsional) Berikan otorisasi atau hak istimewa tambahan. Contoh berikut memberikan DBADM otorisasi untuk peran bernama PROD_ROLE untuk database yang disebut. FUNDPROD Untuk informasi selengkapnya, lihat rdsadmin.dbadm_grant.

    db2 "call rdsadmin.dbadm_grant( ?, 'FUNDPROD', 'DBADM', 'ROLE PROD_ROLE')"
  5. Hentikan sesi Anda.

    db2 terminate
  6. Hubungi basis data TESTDB dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda sendiri.

    db2 connect to TESTDB user master_username using master_password
  7. Tambahkan lebih banyak otorisasi ke peran.

    db2 "grant connect, implicit_schema on database to role PROD_ROLE"
  8. Berikan peran PROD_ROLE kepada sebuah grup.

    db2 "grant role PROD_ROLE to group PRODGRP"

Pengguna yang termasuk dalam grup sekarang PRODGRP dapat melakukan tindakan seperti menghubungkan ke TESTDB database, membuat tabel, atau membuat skema.

Mencabut otorisasi basis data

Pengguna master, yang memiliki DBADM otorisasi, dapat mencabut, DBADMACCESSCTRL, atau DATAACCESS otorisasi dari peran, pengguna, atau grup.

Untuk mencabut otorisasi basis data
  1. Hubungi basis data rdsadmin dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, ganti master_username dan master_password dengan informasi Anda sendiri.

    db2 connect to rdsadmin user master_username using master_password
  2. Cabut akses pengguna dengan menelepon. rdsadmin.dbadm_revoke Untuk informasi selengkapnya, lihat rdsadmin.dbadm_revoke.

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

Melampirkan pada instans basis data RDS for Db2 jauh

Untuk melampirkan pada instans basis data RDS for Db2 jauh
  1. Jalankan sesi IBM Db2 CLP sisi klien. Lihat informasi tentang membuat katalog instans basis data dan basis data RDS for Db2 di Menghubungkan ke Amazon RDS untuk instans Db2 DB dengan IBM Db2 CLP. Catat nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda.

  2. Lampirkan pada instans basis data RDS for Db2. Dalam contoh berikut, ganti node_name, master_username, dan master_password dengan nama simpul TCPIP yang Anda buatkan katalog dan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda.

    db2 attach to node_name user master_username using master_password

Setelah melampirkan pada instans basis data RDS for Db2 jauh, Anda dapat menjalankan perintah berikut dan perintah-perintah get snapshot lainnya. Lihat informasi yang lebih lengkap di GET SNAPSHOT command dalam dokumentasi IBM Db2.

db2 list applications db2 get snapshot for all databases db2 get snapshot for database manager db2 get snapshot for all applications