Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemberian dan pencabutan hak istimewa untuk RDS untuk Db2
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.
Topik
Memberikan akses ke basis data Anda kepada pengguna
Untuk memberikan akses ke basis data Anda kepada seorang pengguna
-
Hubungi basis data
rdsadmin
dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, gantimaster_username
danmaster_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-peran RDS for 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 instans basis data RDS for Db2 dalam mode
RESTRICTIVE
. Oleh karena itu, peran-peran RDS for Db2ROLE_NULLID_PACKAGES
,ROLE_TABLESPACES
, danROLE_PROCEDURES
memberikan privilese eksekusi pada paket-paketNULLID
untuk IBM Db2 CLP dan Dynamic SQL. Peran-peran ini juga memberi pengguna privilese pada ruang tabel.-
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 tempat Anda ingin menambahkan peran.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 tempat Anda ingin menambahkan peran.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 tempat Anda ingin menambahkan peran.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
-
Hubungi basis data
rdsadmin
dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, gantimaster_username
danmaster_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
-
Hubungi basis data
rdsadmin
dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, gantimaster_username
danmaster_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
-
Hubungi basis data
rdsadmin
dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, gantimaster_username
danmaster_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
-
Hubungi basis data
rdsadmin
dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, gantimaster_username
danmaster_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
danmaster_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
danmaster_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
Mencabut 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
danmaster_password
dengan informasi Anda.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Mencabut peran. Untuk informasi selengkapnya, lihat rdsadmin.revoke_role.
db2 "call rdsadmin.revoke_role( ?, '
database_name
', 'role_name
', 'grantee
')"
Menjatuhkan peran
Anda dapat menggunakan prosedur yang rdsadmin.drop_role disimpan untuk menjatuhkan peran.
Untuk menjatuhkan peran
-
Hubungi basis data
rdsadmin
. Dalam contoh berikut, gantimaster_username
danmaster_password
dengan informasi Anda.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Jatuhkan peran. Untuk informasi selengkapnya, lihat rdsadmin.drop_role.
db2 "call rdsadmin.drop_role( ?, '
database_name
', 'role_name
')"
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
-
Hubungi basis data
rdsadmin
dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, gantimaster_username
danmaster_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.
-
Hubungi basis data
rdsadmin
dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, gantimaster_username
danmaster_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
-
Hubungi basis data
TESTDB
dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, gantimaster_username
danmaster_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.
Mencabut 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
-
Hubungi basis data
rdsadmin
dengan menggunakan nama pengguna master dan kata sandi master untuk instans basis data RDS for Db2 Anda. Dalam contoh berikut, gantimaster_username
danmaster_password
dengan informasi Anda sendiri.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Cabut akses pengguna dengan menelepon.
rdsadmin.dbadm_revoke
Lihat informasi yang lebih lengkap di rdsadmin.dbadm_revoke.db2 "call rdsadmin.dbadm_revoke( ?, '
database_name
, 'authorization
', 'grantee
')"