Memberikan dan mencabut hak istimewa untuk Db2 RDS - 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.

Memberikan dan mencabut hak istimewa untuk Db2 RDS

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 ini menggunakan IBM Db2 CLP berjalan pada mesin lokal untuk terhubung ke instance RDS untuk Db2 DB. Pastikan untuk membuat katalog TCPIP node dan database untuk terhubung ke instans Db2 DB Anda RDS 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. Connect ke rdsadmin database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, ganti master_username and 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.

    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 RDS untuk Db2ROLE_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 RDS untuk instance Db2 DB dalam mode. RESTRICTIVE Oleh karena itu, peran RDS untuk Db2ROLE_NULLID_PACKAGES,ROLE_TABLESPACES, dan ROLE_PROCEDURES berikan hak eksekusi pada paket untuk NULLID IBM Db2 CLP and Dynamic SQL. Peran ini juga memberikan hak istimewa pengguna pada tablespaces.

    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 tambahkan perannya.

      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 tambahkan perannya.

      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 tambahkan perannya.

      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 Anda tambahkan 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 database dan nama pengguna dan kata sandi 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. Connect ke rdsadmin database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, ganti master_username and 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. Connect ke rdsadmin database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, ganti master_username and 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. Connect ke rdsadmin database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, ganti master_username and 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. Connect ke rdsadmin database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, ganti master_username and 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 and 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 and 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

Membatalkan 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 and master_password dengan informasi Anda.

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

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

Pemberian otorisasi basis data

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

Untuk memberikan otorisasi basis data
  1. Connect ke rdsadmin database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, ganti master_username and 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. Connect ke rdsadmin database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, ganti master_username and 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. Connect ke TESTDB database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, ganti master_username and 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.

Membatalkan 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. Connect ke rdsadmin database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, ganti master_username and 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')"