Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menentukan kondisi: Menggunakan tag kustom
Amazon RDS mendukung penentuan kondisi dalam kebijakan IAM menggunakan tag kustom.
Sebagai contoh, misalkan Anda menambahkan tag bernama environment
ke instans DB Anda dengan nilai seperti beta
, staging
, production
, dan sebagainya. Jika melakukannya, Anda dapat membuat kebijakan yang membatasi pengguna tertentu pada instans DB berdasarkan nilai tag environment
.
catatan
ID tag kustom bersifat peka huruf besar-kecil.
Tabel berikut mencantumkan ID tag RDS yang dapat digunakan pada elemen Condition
.
ID tag RDS | Berlaku untuk |
---|---|
db-tag |
Instans DB, termasuk replika baca |
snapshot-tag |
Snapshot DB |
ri-tag |
Instans DB terpesan |
og-tag |
Grup opsi DB |
pg-tag |
Grup parameter DB |
subgrp-tag |
Grup subnet DB |
es-tag |
Langganan peristiwa |
cluster-tag |
Klaster DB |
cluster-pg-tag |
Grup parameter klaster DB |
cluster-snapshot-tag |
Snapshot klaster DB |
Sintaks untuk kondisi tag kustom adalah sebagai berikut:
"Condition":{"StringEquals":{"rds:
rds-tag-identifier
/tag-name
":
["value
"]} }
Misalnya, elemen Condition
berikut berlaku untuk instans DB dengan tag bernama environment
dan nilai tag production
.
"Condition":{"StringEquals":{"rds:db-tag/
environment
": ["production
"]} }
Untuk informasi tentang membuat tag, lihat Menandai sumber Amazon RDS.
penting
Jika Anda mengelola akses ke sumber daya RDS Anda menggunakan pemberian tag, sebaiknya Anda mengamankan akses ke tag untuk sumber daya RDS Anda. Anda dapat mengelola akses ke tag dengan membuat kebijakan untuk tindakan AddTagsToResource
dan RemoveTagsFromResource
. Misalnya, kebijakan berikut menolak kemampuan pengguna untuk menambahkan atau menghapus tag untuk semua sumber daya. Anda kemudian dapat membuat kebijakan untuk mengizinkan pengguna tertentu menambahkan atau menghapus tag.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyTagUpdates", "Effect":"Deny", "Action":[ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], "Resource":"*" } ] }
Untuk melihat daftar tindakan Amazon RDS, lihat Tindakan yang Ditentukan oleh Amazon RDS di Referensi Otorisasi Layanan.
Contoh kebijakan: Menggunakan tag kustom
Contoh berikut menunjukkan cara menggunakan tag kustom dalam kebijakan izin IAM Amazon RDS. Untuk informasi lebih lanjut tentang cara menambahkan tag ke sumber daya Amazon RDS, lihat Nama Sumber Daya Amazon (ARNs) di Amazon RDS.
catatan
Semua contoh menggunakan wilayah us-west-2 dan berisi akun fiktif. IDs
Contoh 1: Memberikan izin untuk tindakan pada sumber daya dengan tag tertentu dengan dua nilai yang berbeda
Kebijakan berikut memungkinkan izin untuk melakukan operasi CreateDBSnapshot
API pada instans DB dengan tag stage
diatur ke development
atau test
.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowAnySnapshotName", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:snapshot:*" }, { "Sid":"AllowDevTestToCreateSnapshot", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }
Kebijakan berikut memungkinkan izin untuk melakukan operasi ModifyDBInstance
API pada instans DB dengan tag stage
diatur ke development
atau test
.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowChangingParameterOptionSecurityGroups", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource":" [ "arn:aws:rds:*:123456789012:pg:*", "arn:aws:rds:*:123456789012:secgrp:*", "arn:aws:rds:*:123456789012:og:*" ] }, { "Sid":"AllowDevTestToModifyInstance", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }
Contoh 2: Secara eksplisit menolak izin untuk membuat instans DB yang menggunakan grup parameter DB yang ditentukan
Kebijakan berikut secara eksplisit menolak izin untuk membuat instans DB yang menggunakan grup parameter DB dengan nilai tag spesifik. Anda dapat menerapkan kebijakan ini jika Anda mengharuskan grup parameter DB yang dibuat pengguna tertentu selalu digunakan saat membuat instans DB. Kebijakan yang menggunakan Deny
paling sering digunakan untuk membatasi akses yang diberikan oleh kebijakan yang lebih luas.
Izin yang secara tegas menolak lebih diprioritaskan daripada izin lain yang diberikan. Ini memastikan bahwa identitas tidak akan secara kebetulan mendapatkan izin yang tidak pernah ingin Anda berikan.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyProductionCreate", "Effect":"Deny", "Action":"rds:CreateDBInstance", "Resource":"arn:aws:rds:*:123456789012:pg:*", "Condition":{ "StringEquals":{ "rds:pg-tag/usage":"prod" } } } ] }
Contoh 3: Memberikan izin untuk tindakan pada instans DB dengan nama instans yang diawali dengan nama pengguna
Kebijakan berikut memungkinkan izin untuk memanggil API apa pun (kecuali untuk AddTagsToResource
atau RemoveTagsFromResource
) pada instans DB yang memiliki nama instans DB yang diawali dengan nama pengguna dan memiliki tag bernama stage
yang sama dengan devo
atau yang tidak memiliki tag bernama stage
.
Baris Resource
dalam kebijakan mengidentifikasi sumber daya berdasarkan Amazon Resource Name (ARN). Untuk informasi selengkapnya tentang penggunaan ARNs dengan sumber daya Amazon RDS Aurora, lihat. Nama Sumber Daya Amazon (ARNs) di Amazon RDS
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowFullDevAccessNoTags", "Effect":"Allow", "NotAction":[ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], "Resource":"arn:aws:rds:*:123456789012:db:${aws:username}*", "Condition":{ "StringEqualsIfExists":{ "rds:db-tag/stage":"devo" } } } ] }