Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM
Untuk memungkinkan pengguna atau peran terhubung ke instans DB, Anda harus membuat kebijakan IAM. Setelah itu, lampirkan kebijakan tersebut ke set izin atau peran.
catatan
Untuk mempelajari selengkapnya tentang kebijakan IAM, lihat Manajemen identitas dan akses untuk Amazon RDS Amazon.
Contoh kebijakan berikut memungkinkan pengguna terhubung ke instans DB menggunakan autentikasi basis data IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:db-ABCDEFGHIJKL01234/db_user" ] } ] }
penting
Pengguna dengan izin administrator dapat mengakses instans DB tanpa izin eksplisit dalam kebijakan IAM. Jika Anda ingin membatasi akses administrator ke instans DB, Anda dapat membuat peran IAM yang dengan izin istimewa yang sesuai dan menetapkannya ke administrator.
catatan
Jangan samakan awalan rds-db:
dengan awalan operasi API RDS lain yang diawali dengan rds:
. Anda menggunakan awalan rds-db:
dan tindakan rds-db:connect
hanya untuk autentikasi basis data IAM. Hal ini tidak berlaku dalam konteks lainnya.
Contoh kebijakan ini mencakup satu pernyataan dengan elemen berikut:
-
Effect
– TentukanAllow
untuk memberikan akses ke instans DB. Jika Anda tidak secara eksplisit mengizinkan akses, maka akses ditolak secara default. -
Action
– Tentukanrds-db:connect
untuk memungkinkan koneksi ke instans DB. -
Resource
– Tentukan Amazon Resource Name (ARN) yang menjelaskan satu akun basis data dalam satu instans DB. Format ARN adalah sebagai berikut.arn:aws:rds-db:
region
:account-id
:dbuser:DbiResourceId
/db-user-name
Dalam format ini, ganti hal berikut:
-
adalah Wilayah AWS untuk instans DB. Dalam contoh kebijakan, Wilayah AWS adalahregion
us-east-2
. -
adalah nomor akun AWS untuk instans DB. Dalam contoh kebijakan, nomor akun adalahaccount-id
1234567890
. Pengguna harus berada di akun yang sama dengan akun untuk instans DB.Untuk melakukan akses lintas akun, buat peran IAM dengan kebijakan yang ditunjukkan di atas di akun untuk instans DB dan izinkan akun Anda yang lain untuk mengambil peran tersebut.
-
adalah pengidentifikasi untuk instans DB. Pengidentifikasi ini unik untuk Wilayah AWS dan tidak pernah berubah. Dalam contoh kebijakan, pengidentifikasi adalahDbiResourceId
db-ABCDEFGHIJKL01234
.Untuk menemukan ID sumber daya instans DB AWS Management Console untuk Amazon RDS, pilih instans DB untuk melihat detailnya. Kemudian, pilih tab Konfigurasi. ID Sumber Daya ditampilkan di bagian Konfigurasi.
Alternatifnya, Anda dapat menggunakan perintah AWS CLI untuk menampilkan daftar pengidentifikasi dan ID sumber daya untuk semua instans DB Anda di Wilayah AWS saat ini, seperti yang ditunjukkan berikut.
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier,DbiResourceId]"
Jika Anda menggunakan Amazon Aurora, tentukan
DbClusterResourceId
, bukanDbiResourceId
. Untuk informasi selengkapnya, lihat Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM dalam Panduan Pengguna Amazon Aurora.catatan
Jika Anda terhubung ke basis data melalui Proksi RDS, tentukan ID sumber daya proksi, seperti
prx-ABCDEFGHIJKL01234
. Untuk informasi tentang menggunakan autentikasi basis data IAM dengan Proksi RDS, lihat Terhubung ke sebuah proksi menggunakan autentikasi IAM. -
adalah nama akun basis data untuk dikaitkan dengan autentikasi IAM. Dalam contoh kebijakan, akun basis data adalahdb-user-name
db_user
.
-
Anda dapat membuat ARN lain untuk mendukung berbagai pola akses. Kebijakan berikut memungkinkan akses ke dua akun basis data yang berbeda dalam instans DB.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:db-ABCDEFGHIJKL01234/jane_doe", "arn:aws:rds-db:us-east-2:123456789012:dbuser:db-ABCDEFGHIJKL01234/mary_roe" ] } ] }
Kebijakan berikut menggunakan karakter “*” untuk mencocokkan semua instans DB dan akun basis data untuk akun AWS dan Wilayah AWS tertentu.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:*/*" ] } ] }
Kebijakan berikut mencocokkan semua instans DB untuk akun AWS dan Wilayah AWS tertentu. Namun, kebijakan ini hanya memberikan akses ke instans DB yang memiliki akun basis data jane_doe
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:*/jane_doe" ] } ] }
Pengguna atau peran hanya memiliki akses ke basis data yang aksesnya dimiliki oleh pengguna basis data tersebut. Misalnya, anggaplah instans DB Anda memiliki basis data bernama dev, dan basis data lain bernama uji. Jika pengguna basis data jane_doe
hanya memiliki akses ke dev, setiap pengguna atau peran IAM yang mengakses instans DB tersebut dengan pengguna jane_doe
juga hanya akan memiliki akses ke dev. Pembatasan akses ini juga berlaku untuk objek basis data lain, seperti tabel, tampilan, dan sebagainya.
Administrator harus membuat kebijakan IAM yang memberikan izin pada entitas untuk melakukan operasi API tertentu pada sumber daya yang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke set izin atau peran yang memerlukan izin tersebut. Untuk contoh kebijakan, lihat .
Melampirkan kebijakan IAM ke set izin atau peran
Setelah membuat kebijakan IAM untuk memungkinkan autentikasi basis data, Anda perlu melampirkan kebijakan tersebut ke set izin atau peran. Untuk tutorial tentang topik ini, lihat Buat dan lampirkan kebijakan yang dikelola pelanggan pertama Anda dalam Panduan Pengguna IAM.
Saat mengikuti tutorial ini, Anda dapat menggunakan salah satu contoh kebijakan yang ditunjukkan dalam bagian ini sebagai titik awal dan menyesuaikannya dengan kebutuhan Anda. Di akhir tutorial, Anda akan memiliki set izin dengan kebijakan terlampir yang dapat menggunakan tindakan rds-db:connect
.
catatan
Anda dapat memetakan beberapa set izin atau peran ke akun pengguna basis data yang sama. Misalnya, anggaplah kebijakan IAM Anda telah menentukan ARN sumber daya berikut.
arn:aws:rds-db:us-east-2:123456789012:dbuser:db-12ABC34DEFG5HIJ6KLMNOP78QR/jane_doe
Jika Anda melampirkan kebijakan ke Jane, Bob, dan Diego, maka masing-masing pengguna tersebut dapat terhubung ke klaster DB yang telah ditentukan menggunakan akun basis data jane_doe
.