Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bagian berikut menyajikan contoh kebijakan izin yang memberikan dan membatasi akses ke sumber daya:
Izinkan pengguna untuk membuat instans DB di akun AWS
Berikut ini adalah contoh kebijakan yang memungkinkan akun dengan ID 123456789012
untuk membuat instans DB untuk AWS akun Anda. Kebijakan ini mewajibkan nama instans DB baru dimulai dengan test
. Instans DB baru juga harus menggunakan mesin SQL database Saya dan kelas instans db.t2.micro
DB. Selain itu, instans DB baru harus menggunakan grup opsi dan grup parameter DB yang dimulai dengan default
, dan harus menggunakan grup subnet default
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDBInstanceOnly", "Effect": "Allow", "Action": [ "rds:CreateDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:db:test*", "arn:aws:rds:*:123456789012:og:default*", "arn:aws:rds:*:123456789012:pg:default*", "arn:aws:rds:*:123456789012:subgrp:default" ], "Condition": { "StringEquals": { "rds:DatabaseEngine": "mysql", "rds:DatabaseClass": "db.t2.micro" } } } ] }
Kebijakan ini mencakup pernyataan tunggal yang menentukan izin berikut untuk pengguna:
Kebijakan ini memungkinkan akun untuk membuat instans DB menggunakan reateDBInstance API operasi C (ini juga berlaku untuk create-db-instance AWS CLI perintah dan AWS Management Console).
Elemen
Resource
menentukan bahwa pengguna dapat melakukan tindakan pada atau dengan sumber daya. Anda menentukan sumber daya menggunakan Amazon Resources Name (ARN). Ini ARN termasuk nama layanan yang dimiliki sumber daya (rds
), AWS Wilayah (*
menunjukkan wilayah mana pun dalam contoh ini), nomor AWS akun (123456789012
adalah nomor akun dalam contoh ini), dan jenis sumber daya. Untuk informasi selengkapnya tentang membuatARNs, lihatNama Sumber Daya Amazon (ARNs) di Amazon RDS.Elemen
Resource
dalam contoh menentukan batasan kebijakan berikut pada sumber daya untuk pengguna:ID instans DB untuk instans DB baru harus dimulai dengan
test
(misalnya,testCustomerData1
,test-region2-data
).Grup opsi untuk instans DB baru harus dimulai dengan
default
.Grup parameter DB opsi untuk instans DB baru harus dimulai dengan
default
.Grup subnet untuk instans DB baru harus berupa grup subnet
default
.
Condition
Elemen menentukan bahwa mesin DB harus My SQL dan kelas instans DB harusdb.t2.micro
. ElemenCondition
menentukan kondisi ketika kebijakan harus diberlakukan. Anda dapat menambahkan izin atau batasan tambahan dengan menggunakan elemenCondition
. Untuk informasi selengkapnya tentang cara menentukan kondisi, lihat Kunci kondisi kebijakan untuk Aurora. Contoh ini menetapkan kondisirds:DatabaseEngine
danrds:DatabaseClass
. Untuk informasi tentang nilai kondisi yang valid untukrds:DatabaseEngine
, lihat daftar di bawahEngine
parameter di C reateDBInstance. Untuk informasi tentang nilai kondisi yang valid untukrds:DatabaseClass
, Lihat Mesin DB yang didukung untuk kelas instans DB.
Kebijakan ini tidak menentukan elemen Principal
karena dalam kebijakan berbasis identitas, Anda tidak menentukan pengguna utama yang mendapatkan izin. Saat Anda melampirkan kebijakan kepada pengguna, pengguna tersebut menjadi prinsipal secara implisit. Saat Anda melampirkan kebijakan izin ke IAM peran, prinsipal yang diidentifikasi dalam kebijakan kepercayaan peran akan mendapatkan izin tersebut.
Untuk melihat daftar tindakan Aurora, lihat Tindakan yang Ditentukan oleh Amazon RDS di Referensi Otorisasi Layanan.
Izinkan pengguna untuk melakukan tindakan mendeskripsikan apa pun pada RDS sumber daya apa pun
Kebijakan izin berikut memberikan izin kepada pengguna untuk menjalankan semua tindakan yang dimulai dengan Describe
. Tindakan ini menunjukkan informasi tentang RDS sumber daya, seperti instans DB. Karakter wildcard (*) dalam Resource
elemen menunjukkan bahwa tindakan diizinkan untuk semua sumber daya Aurora yang dimiliki oleh akun.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRDSDescribe", "Effect": "Allow", "Action": "rds:Describe*", "Resource": "*" } ] }
Mengizinkan pengguna membuat instans DB yang menggunakan grup parameter DB dan grup subnet yang telah ditentukan
Kebijakan izin berikut memberikan izin untuk hanya memperbolehkan pengguna membuat instans DB yang harus menggunakan grup parameter DB mydbpg
dan grup subnet DB mydbsubnetgroup
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "rds:CreateDBInstance", "Resource": [ "arn:aws:rds:*:*:pg:mydbpg", "arn:aws:rds:*:*:subgrp:mydbsubnetgroup" ] } ] }
Berikan izin untuk tindakan atas suatu sumber daya dengan tag tertentu dengan dua nilai yang berbeda
Anda dapat menggunakan ketentuan dalam kebijakan berbasis identitas untuk mengontrol akses ke sumber daya Amazon berdasarkan tag. Kebijakan berikut memungkinkan izin untuk melakukan CreateDBSnapshot
API operasi pada instans DB dengan stage
tag disetel ke development
atautest
.
{ "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 ModifyDBInstance
API operasi pada instans DB dengan stage
tag disetel ke development
atautest
.
{ "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" ] } } } ] }
Mencegah pengguna menghapus instans DB
Kebijakan izin berikut memberikan izin untuk mencegah pengguna menghapus instans DB tertentu. Misalnya, Anda mungkin ingin menolak kemampuan untuk menghapus instans DB produksi Anda kepada setiap pengguna yang bukan administrator.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyDelete1", "Effect": "Deny", "Action": "rds:DeleteDBInstance", "Resource": "arn:aws:rds:us-west-2:123456789012:db:my-mysql-instance" } ] }
Menolak semua akses ke sumber daya
Anda juga dapat secara eksplisit menolak akses ke sumber daya. Kebijakan penolakan lebih diutamakan daripada kebijakan yang diizinkan. Kebijakan berikut secara eksplisit menolak kemampuan pengguna untuk mengelola sumber daya:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "rds:*", "Resource": "arn:aws:rds:us-east-1:123456789012:db:mydb" } ] }