Menggunakan ketentuan kebijakan IAM untuk kontrol akses terperinci - Amazon Route 53

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan ketentuan kebijakan IAM untuk kontrol akses terperinci

Di Route 53, Anda dapat menentukan kondisi saat memberikan izin menggunakan kebijakan IAM (lihat). Kontrol akses Sebagai contoh, Anda dapat:

  • Berikan izin untuk mengizinkan akses ke satu set catatan sumber daya.

  • Berikan izin untuk memungkinkan pengguna mengakses semua kumpulan rekaman sumber daya dari jenis catatan DNS tertentu di zona yang dihosting, misalnya catatan A dan AAAA.

  • Berikan izin untuk memungkinkan pengguna mengakses kumpulan catatan sumber daya di mana namanya berisi string tertentu.

  • Berikan izin untuk mengizinkan pengguna hanya melakukan sebagian CREATE | UPSERT | DELETE tindakan di konsol Route 53, atau saat menggunakan API. ChangeResourceRecordSets

  • Berikan izin untuk memungkinkan pengguna mengaitkan atau memisahkan zona host pribadi dari VPC tertentu.

  • Berikan izin untuk memungkinkan pengguna mencantumkan zona yang dihosting yang terkait dengan VPC tertentu.

  • Berikan izin untuk memungkinkan pengguna mengakses untuk membuat zona host pribadi baru dan mengaitkannya ke VPC tertentu.

  • Berikan izin untuk memungkinkan pengguna membuat atau menghapus otorisasi asosiasi VPC.

Anda juga dapat membuat izin yang menggabungkan izin granular apa pun.

Menormalkan nilai kunci kondisi Route 53

Nilai yang Anda masukkan untuk kondisi kebijakan harus diformat, atau dinormalisasi, sebagai berikut:

Untukroute53:ChangeResourceRecordSetsNormalizedRecordNames:

  • Semua huruf harus huruf kecil.

  • Nama DNS harus tanpa trailing dot.

  • Karakter selain a—z, 0-9, - (tanda hubung), _ (garis bawah), dan. (periode, sebagai pembatas antara label) harus menggunakan kode escape dalam format\ kode oktal tiga digit. Misalnya, \052 adalah kode oktal untuk karakter*.

Untukroute53:ChangeResourceRecordSetsActions, nilainya dapat berupa salah satu dari yang berikut dan harus huruf besar:

  • CREATE

  • MENEGAKKAN

  • HAPUS

Untuk route53:ChangeResourceRecordSetsRecordTypes:

  • Nilai harus dalam huruf besar, dan dapat berupa salah satu jenis catatan DNS yang didukung Route 53. Untuk informasi selengkapnya, lihat Tipe data DNS yang didukung.

Untukroute53:VPCs:

  • Nilai harus dalam formatVPCId=<vpc-id>,VPCRegion=<region>.

  • Nilai <vpc-id> dan <region> harus dalam huruf kecil, seperti VPCId=vpc-123abc dan. VPCRegion=us-east-1

  • Kunci konteks dan nilai peka huruf besar/kecil.

penting

Agar izin Anda mengizinkan atau membatasi tindakan sesuai keinginan, Anda harus mengikuti konvensi ini. Hanya VPCId dan VPCRegion elemen yang diterima oleh kunci kondisi ini, AWS sumber daya lainnya, seperti Akun AWS, tidak didukung.

Anda dapat menggunakan Access Analyzer atau Policy Simulator di Panduan Pengguna IAM untuk memvalidasi bahwa kebijakan Anda memberikan atau membatasi izin seperti yang diharapkan. Anda juga dapat memvalidasi izin dengan menerapkan kebijakan IAM ke pengguna pengujian atau peran untuk menjalankan operasi Route 53.

Menentukan kondisi: menggunakan tombol kondisi

AWS menyediakan satu set kunci kondisi yang telah ditentukan (AWS-wide condition keys) untuk semua AWS layanan yang mendukung IAM untuk kontrol akses. Misalnya, Anda dapat menggunakan kunci kondisi aws:SourceIp untuk memeriksa alamat IP pemohon sebelum mengizinkan tindakan yang akan dilakukan. Untuk informasi selengkapnya dan daftar tombol AWS-wide, lihat Kunci yang Tersedia untuk Ketentuan di Panduan Pengguna IAM.

catatan

Route 53 tidak mendukung kunci kondisi berbasis tag.

Tabel berikut menunjukkan kunci kondisi khusus layanan Route 53 yang berlaku untuk Route 53.

Kunci Kondisi Rute 53 Operasi API Tipe nilai Deskripsi
route53:ChangeResourceRecordSetsNormalizedRecordNames

ChangeResourceRecordSets

Multi-nilai

Merupakan daftar nama catatan DNS dalam permintaan. ChangeResourceRecordSets Untuk mendapatkan perilaku yang diharapkan, nama DNS dalam kebijakan IAM harus dinormalisasi sebagai berikut:

  • Semua huruf harus huruf kecil.

  • Nama DNS harus tanpa trailing dot.

  • Karakter selain a hingga z, 0 hingga 9, - (tanda hubung), _ (garis bawah), dan. (periode, sebagai pembatas antara label) harus menggunakan kode escape dalam format\ kode oktal tiga digit.

route53:ChangeResourceRecordSetsRecordTypes

ChangeResourceRecordSets

Multi-nilai

Merupakan daftar jenis catatan DNS dalam permintaan. ChangeResourceRecordSets

ChangeResourceRecordSetsRecordTypesdapat berupa salah satu jenis catatan DNS yang didukung Route 53. Untuk informasi selengkapnya, lihat Tipe data DNS yang didukung. Semua harus dimasukkan dalam huruf besar dalam kebijakan.

route53:ChangeResourceRecordSetsActions

ChangeResourceRecordSets

Multi-nilai

Merupakan daftar tindakan dalam permintaanChangeResourceRecordSets.

ChangeResourceRecordSetsActionsdapat berupa salah satu dari nilai berikut (harus huruf besar):

  • CREATE

  • MENEGAKKAN

  • HAPUS

route53:VPCs

Rekanan VPCWith HostedZone

Pisahkan VPCFrom HostedZone

ListHostedZonesByVPC

CreateHostedZone

Buat VPCAssociation Otorisasi

Hapus VPCAssociation Otorisasi

Multi-nilai

Merupakan daftar VPCs dalam permintaanAssociateVPCWithHostedZone,,DisassociateVPCFromHostedZone, ListHostedZonesByVPCCreateHostedZone,CreateVPCAssociationAuthorization, danDeleteVPCAssociationAuthorization, dalam format "VPCId=<vpc-id>, VPCRegion = <region>

Contoh kebijakan: Menggunakan kondisi untuk akses berbutir halus

Setiap contoh di bagian ini menetapkan klausa Efek ke Izinkan dan hanya menentukan tindakan, sumber daya, dan parameter yang diizinkan. Akses hanya diizinkan untuk apa yang tercantum secara eksplisit dalam kebijakan IAM.

Dalam beberapa kasus, dimungkinkan untuk menulis ulang kebijakan ini sehingga berbasis penolakan (yaitu, menyetel klausa Efek ke Deny dan membalikkan semua logika dalam kebijakan). Namun, kami menyarankan agar Anda menghindari penggunaan kebijakan berbasis penolakan karena sulit untuk ditulis dengan benar, dibandingkan dengan kebijakan berbasis izin. Hal ini terutama berlaku untuk Route 53 karena normalisasi teks yang diperlukan.

Berikan izin yang membatasi akses ke catatan DNS dengan nama tertentu

Kebijakan izin berikut memberikan izin yang mengizinkan ChangeResourceRecordSets tindakan di Zona Hosted Z12345 untuk example.com dan marketing.example.com. Ini menggunakan tombol route53:ChangeResourceRecordSetsNormalizedRecordNames kondisi untuk membatasi tindakan pengguna hanya pada catatan yang cocok dengan nama yang ditentukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["example.com", "marketing.example.com"] } } } ] }

ForAllValues:StringEqualsadalah operator kondisi IAM yang berlaku untuk kunci multi-nilai. Kondisi dalam kebijakan di atas akan memungkinkan operasi hanya ketika semua perubahan ChangeResourceRecordSets memiliki nama DNS example.com. Untuk informasi selengkapnya, lihat operator kondisi IAM dan kondisi IAM dengan beberapa kunci atau nilai dalam Panduan Pengguna IAM.

Untuk menerapkan izin yang cocok dengan nama dengan sufiks tertentu, Anda dapat menggunakan wildcard IAM (*) dalam kebijakan dengan operator kondisi atau. StringLike StringNotLike Kebijakan berikut akan memungkinkan operasi ketika semua perubahan dalam ChangeResourceRecordSets operasi memiliki nama DNS yang diakhiri dengan “-beta.example.com”.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringLike":{ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["*-beta.example.com"] } } } ] }
catatan

Wildcard IAM tidak sama dengan wildcard nama domain. Lihat contoh berikut untuk cara menggunakan wildcard dengan nama domain.

Berikan izin yang membatasi akses ke catatan DNS yang cocok dengan nama domain yang berisi wildcard

Kebijakan izin berikut memberikan izin yang mengizinkan ChangeResourceRecordSets tindakan di Zona Dihosting Z12345 untuk example.com. Ini menggunakan kunci route53:ChangeResourceRecordSetsNormalizedRecordNames kondisi untuk membatasi tindakan pengguna hanya untuk catatan yang cocok*.example.com.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["\\052.example.com"] } } } ] }

\052 adalah kode oktal untuk karakter* dalam nama DNS, dan \ in diloloskan \\ untuk mengikuti \052 sintaks JSON.

Berikan izin yang membatasi akses ke catatan DNS tertentu

Kebijakan izin berikut memberikan izin yang mengizinkan ChangeResourceRecordSets tindakan di Zona Dihosting Z12345 untuk example.com. Ini menggunakan kombinasi tiga tombol kondisi untuk membatasi tindakan pengguna untuk memungkinkan hanya membuat atau mengedit catatan DNS dengan nama dan jenis DNS tertentu.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["example.com"], "route53:ChangeResourceRecordSetsRecordTypes": ["MX"], "route53:ChangeResourceRecordSetsActions": ["CREATE", "UPSERT"] } } } ] }
Berikan izin yang membatasi akses untuk membuat dan mengedit hanya jenis catatan DNS yang ditentukan

Kebijakan izin berikut memberikan izin yang mengizinkan ChangeResourceRecordSets tindakan di Zona Dihosting Z12345 untuk example.com. Ini menggunakan tombol route53:ChangeResourceRecordSetsRecordTypes kondisi untuk membatasi tindakan pengguna hanya pada catatan yang cocok dengan jenis yang ditentukan (A dan AAAA).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsRecordTypes": ["A", "AAAA"] } } } ] }
Berikan izin yang menentukan VPC tempat prinsipal IAM dapat beroperasi

Kebijakan izin berikut memberikan izin yang mengizinkanAssociateVPCWithHostedZone,,,,, DisassociateVPCFromHostedZone ListHostedZonesByVPC CreateHostedZoneCreateVPCAssociationAuthorization, dan DeleteVPCAssociationAuthorization tindakan pada VPC yang ditentukan oleh vpc-id.

penting

Nilai kondisi harus dalam formatVPCId=<vpc-id>,VPCRegion=<region>. Jika Anda menentukan VPC ARN dalam nilai kondisi, kunci kondisi tidak akan berlaku.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "route53:*" ], "Resource": [ "*" ], "Condition": { "ForAllValues:StringLike": { "route53:VPCs": [ "VPCId=<vpc-id>,VPCRegion=<region>" ] } } }, { "Sid": "Statement2", "Effect": "Allow", "Action": "ec2:DescribeVpcs", "Resource": "*" } ] }