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.
Topik
Memberikan akses ke basis data Anda kepada pengguna
Untuk memberikan akses ke basis data Anda kepada seorang pengguna
-
Connect ke
rdsadmin
database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda sendiri.db2 connect to rdsadmin user
master_username
usingmaster_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
-
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
')" -
(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
')" -
Tegaskan otoritas yang tersedia untuk pengguna. Dalam contoh berikut, ganti
rds_database_alias
,master_user
, danmaster_password
dengan informasi Anda sendiri. Juga, gantiusername
dengan nama pengguna.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"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
-
Berikan peran RDS untuk Db2
ROLE_NULLID_PACKAGES
,ROLE_TABLESPACES
, danROLE_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
, danROLE_PROCEDURES
berikan hak eksekusi pada paket untukNULLID
IBM Db2 CLP and Dynamic SQL. Peran ini juga memberikan hak istimewa pengguna pada tablespaces.-
Connect ke database Db2 Anda. Dalam contoh berikut, ganti
database_name
,master_user
, danmaster_password
dengan informasi Anda sendiri.db2 connect to
database_name
usermaster_user
usingmaster_password
-
Berikan peran
ROLE_NULLED_PACKAGES
kepada sebuah grup. Dalam contoh berikut, gantigroup_name
dengan nama grup yang ingin Anda tambahkan perannya.db2 "grant role ROLE_NULLID_PACKAGES to group
group_name
" -
Berikan peran
ROLE_TABLESPACES
kepada grup yang sama. Dalam contoh berikut, gantigroup_name
dengan nama grup yang ingin Anda tambahkan perannya.db2 "grant role ROLE_TABLESPACES to group
group_name
" -
Berikan peran
ROLE_PROCEDURES
kepada grup yang sama. Dalam contoh berikut, gantigroup_name
dengan nama grup yang ingin Anda tambahkan perannya.db2 "grant role ROLE_PROCEDURES to group
group_name
"
-
-
Berikan otoritas-otoritas
connect
,bindadd
,createtab
, danIMPLICIT_SCHEMA
kepada grup yang Anda tambahi pengguna. Dalam contoh berikut, gantigroup_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
" -
Ulangi langkah 4 hingga 6 untuk setiap grup lain yang Anda tambahi pengguna.
-
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
, danpassword
dengan nama database dan nama pengguna dan kata sandi pengguna.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"
Mengubah kata sandi pengguna
Untuk mengubah kata sandi seorang pengguna
-
Connect ke
rdsadmin
database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda sendiri.db2 connect to rdsadmin user
master_username
usingmaster_password
-
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
-
Connect ke
rdsadmin
database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda sendiri.db2 connect to rdsadmin user
master_username
usingmaster_password
-
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
-
Connect ke
rdsadmin
database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda sendiri.db2 connect to rdsadmin user
master_username
usingmaster_password
-
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
-
Connect ke
rdsadmin
database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda sendiri.db2 connect to rdsadmin user
master_username
usingmaster_password
-
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
-
Hubungi basis data
rdsadmin
. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Atur Db2 ke konten keluaran.
db2 set serveroutput on
-
Buat peran. Untuk informasi selengkapnya, lihat rdsadmin.create_role.
db2 "call rdsadmin.create_role( '
database_name
', 'role_name
')" -
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
-
Hubungi basis data
rdsadmin
. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Atur Db2 ke konten keluaran.
db2 set serveroutput on
-
Tetapkan peran. Untuk informasi selengkapnya, lihat rdsadmin.grant_role.
db2 "call rdsadmin.grant_role( '
database_name
', 'role_name
', 'grantee
', 'admin_option
')" -
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
-
Hubungi basis data
rdsadmin
. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda.db2 connect to rdsadmin user
master_username
usingmaster_password
-
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
-
Connect ke
rdsadmin
database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda sendiri.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Berikan akses pengguna dengan menelepon
rdsadmin.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.
-
Connect ke
rdsadmin
database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda sendiri.db2 connect to rdsadmin user
master_username
usingmaster_password
-
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')"
-
Tetapkan peran ke pengguna yang dipanggil
PROD_USER
.PROD_USER
Otorisasi admin diberikan untuk menetapkan peran. Untuk informasi selengkapnya, lihat rdsadmin.grant_role.db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'PROD_ROLE', 'USER PROD_USER', 'Y')"
-
(Opsional) Berikan otorisasi atau hak istimewa tambahan. Contoh berikut memberikan
DBADM
otorisasi untuk peran bernamaPROD_ROLE
untuk database yang disebut.FUNDPROD
Untuk informasi selengkapnya, lihat rdsadmin.dbadm_grant.db2 "call rdsadmin.dbadm_grant( ?, 'FUNDPROD', 'DBADM', 'ROLE PROD_ROLE')"
-
Hentikan sesi Anda.
db2 terminate
-
Connect ke
TESTDB
database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda sendiri.db2 connect to TESTDB user
master_username
usingmaster_password
-
Tambahkan lebih banyak otorisasi ke peran.
db2 "grant connect, implicit_schema on database to role PROD_ROLE"
-
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, DBADM
ACCESSCTRL
, atau DATAACCESS
otorisasi dari peran, pengguna, atau grup.
Untuk mencabut otorisasi basis data
-
Connect ke
rdsadmin
database menggunakan master username dan master password untuk instans Db2 DB AndaRDS. Dalam contoh berikut, gantimaster_username
andmaster_password
dengan informasi Anda sendiri.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Cabut akses pengguna dengan menelepon.
rdsadmin.dbadm_revoke
Untuk informasi selengkapnya, lihat rdsadmin.dbadm_revoke.db2 "call rdsadmin.dbadm_revoke( ?, '
database_name
, 'authorization
', 'grantee
')"