View a markdown version of this page

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 Misalnya, 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.

  • Berikan izin untuk memungkinkan pengguna mengelola (associate/disassociate/update) hanya jenis sumber daya tertentu dengan Profil Route 53.

  • Berikan izin untuk memungkinkan pengguna mengelola (associate/disassociate/update) hanya sumber daya tertentu ARNs dengan Profil Route 53.

  • Berikan izin untuk mengizinkan pengguna mengelola (associate/disassociate/update) hanya domain zona host tertentu dengan Profil Route 53.

  • Berikan izin untuk memungkinkan pengguna mengelola (associate/disassociate/update) hanya domain Aturan Resolver tertentu dengan Profil Route 53.

  • Berikan izin untuk memungkinkan pengguna mengelola (associate/disassociate/update) Grup Aturan Firewall dengan rentang prioritas tertentu dalam Profil Route 53.

  • Berikan izin untuk memungkinkan pengguna mengelola (mengaitkan/memisahkan) Profil Route 53 dengan spesifik. VPCs

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

  • DELETE

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.

Untukroute53profiles:ResourceTypes, nilainya dapat berupa salah satu dari berikut ini dan peka huruf besar/kecil:

  • HostedZone

  • FirewallRuleGroup

  • ResolverQueryLoggingConfig

  • ResolverRule

  • VPCEndpoint

Untukroute53profiles:ResourceArns:

  • Nilai harus berupa ARN AWS sumber daya yang valid, seperti. arn:aws:route53:::hostedzone/Z12345

  • Gunakan operator ArnLike kondisi ArnEquals atau saat membandingkan nilai ARN.

Untukroute53profiles:HostedZoneDomains:

  • Nilai harus berupa nama domain yang valid, sepertiexample.com.

  • Nama domain harus tanpa trailing dot.

  • Nilai ini peka huruf besar kecil.

Untukroute53profiles:ResolverRuleDomains:

  • Nilai harus berupa nama domain yang valid, sepertiexample.com.

  • Nama domain harus tanpa trailing dot.

  • Nilai ini peka huruf besar kecil.

Untukroute53profiles:FirewallRuleGroupPriority:

  • Nilai harus berupa nilai numerik yang mewakili prioritas Grup Aturan Firewall.

  • Gunakan operator kondisi numerik sepertiNumericEquals,NumericGreaterThanEquals, atau NumericLessThanEquals untuk membandingkan nilai prioritas atau menentukan rentang prioritas.

Untukroute53profiles:ResourceIds:

  • Nilai harus berupa ID VPC yang valid, seperti. vpc-1a2b3c4d5e6f

  • Nilai ini peka huruf besar kecil.

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 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

  • DELETE

route53:VPCs

Rekanan VPCWith HostedZone

Putus hubungan 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>
route53profiles:ResourceTypes

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

String

Memfilter akses berdasarkan jenis sumber daya tertentu.

route53profiles:ResourceTypesdapat berupa salah satu dari nilai berikut (peka huruf besar/kecil):

  • HostedZone

  • FirewallRuleGroup

  • ResolverQueryLoggingConfig

  • ResolverRule

  • VPCEndpoint

route53profiles:ResourceArns

AssociateResourceToProfile

DisassociateResourceFromProfile

ARN

Memfilter akses berdasarkan sumber daya tertentu ARNs.
route53profiles:HostedZoneDomains

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

String

Memfilter akses berdasarkan domain Zona Dihosting. Untuk mendapatkan perilaku yang diharapkan, nama domain dalam kebijakan IAM harus dinormalisasi sebagai berikut:

  • Nama domain harus tanpa trailing dot.

  • Nilai ini peka huruf besar kecil.

route53profiles:ResolverRuleDomains

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

String

Memfilter akses oleh domain Aturan Resolver. Untuk mendapatkan perilaku yang diharapkan, nama domain dalam kebijakan IAM harus dinormalisasi sebagai berikut:

  • Nama domain harus tanpa trailing dot.

  • Nilai ini peka huruf besar kecil.

route53profiles:FirewallRuleGroupPriority

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

Numerik

Memfilter akses berdasarkan rentang prioritas Grup Aturan Firewall.
route53profiles:ResourceIds

AssociateProfile

DisassociateProfile

String

Memfilter akses dengan diberikan VPCs.

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.

JSON
{ "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”.

JSON
{ "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.

JSON
{ "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.

JSON
{ "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).

JSON
{ "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.

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

Kunci route53profiles kondisi tersedia di semua Wilayah AWS tempat Route 53 Route53Profiles tersedia, kecuali untuk me-central-1 dan me-south-1.

Berikan izin yang membatasi asosiasi sumber daya ke jenis sumber daya tertentu di Profil Rute 53

Kebijakan izin berikut memberikan izin yang mengizinkan AssociateResourceToProfile dan DisassociateResourceFromProfile bertindak hanya jika jenis sumber daya adalah zona yang dihosting. Ini menggunakan kunci route53profiles:ResourceTypes kondisi untuk membatasi jenis sumber daya yang dapat dikaitkan dengan profil.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile" ], "Resource": "*", "Condition": { "StringEquals": { "route53profiles:ResourceTypes": "HostedZone" } } }
Berikan izin yang membatasi asosiasi sumber daya ke sumber daya tertentu ARNs di Profil Rute 53

Kebijakan izin berikut memberikan izin yang mengizinkan AssociateResourceToProfile dan DisassociateResourceFromProfile tindakan hanya untuk ARN sumber daya yang ditentukan. Ini menggunakan kunci route53profiles:ResourceArns kondisi untuk membatasi sumber daya mana yang dapat dikaitkan dengan profil.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile" ], "Resource": "*", "Condition": { "ArnEquals": { "route53profiles:ResourceArns": "arn:aws:route53:::hostedzone/Z12345" } } }
Berikan izin yang membatasi asosiasi sumber daya ke domain zona host tertentu di Profil Rute 53

Kebijakan izin berikut memberikan izin yang mengizinkan AssociateResourceToProfileDisassociateResourceFromProfile, dan UpdateProfileResourceAssociation tindakan hanya jika domain zona yang dihosting cocok dengan nilai yang ditentukan. Ini menggunakan kunci route53profiles:HostedZoneDomains kondisi untuk membatasi domain zona host mana yang dapat dikaitkan dengan profil.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile", "route53profiles:UpdateProfileResourceAssociation" ], "Resource": "*", "Condition": { "StringEquals": { "route53profiles:HostedZoneDomains": "example.com" } } }
Berikan izin yang membatasi asosiasi sumber daya ke domain Aturan Resolver tertentu di Profil Rute 53

Kebijakan izin berikut memberikan izin yang mengizinkan AssociateResourceToProfileDisassociateResourceFromProfile, dan UpdateProfileResourceAssociation tindakan hanya jika domain Aturan Resolver cocok dengan nilai yang ditentukan. Ini menggunakan kunci route53profiles:ResolverRuleDomains kondisi untuk membatasi domain Aturan Resolver mana yang dapat dikaitkan dengan profil.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile", "route53profiles:UpdateProfileResourceAssociation" ], "Resource": "*", "Condition": { "StringEquals": { "route53profiles:ResolverRuleDomains": "example.com" } } }
Berikan izin yang membatasi asosiasi Grup Aturan Firewall ke rentang prioritas tertentu di Profil Rute 53

Kebijakan izin berikut memberikan izin yang mengizinkan AssociateResourceToProfileDisassociateResourceFromProfile, dan UpdateProfileResourceAssociation tindakan hanya jika prioritas Grup Aturan Firewall berada dalam rentang yang ditentukan. Ini menggunakan kunci route53profiles:FirewallRuleGroupPriority kondisi untuk membatasi nilai prioritas yang dapat digunakan.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile", "route53profiles:UpdateProfileResourceAssociation" ], "Resource": "*", "Condition": { "NumericGreaterThanEquals": { "route53profiles:FirewallRuleGroupPriority": "100" } } }
Berikan izin yang membatasi asosiasi profil menjadi spesifik VPCs di Profil Rute 53

Kebijakan izin berikut memberikan izin yang mengizinkan AssociateProfile dan DisassociateProfile tindakan hanya untuk VPC yang ditentukan. Ini menggunakan kunci route53profiles:ResourceIds kondisi untuk membatasi profil mana VPCs yang dapat dikaitkan dengan.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateProfile", "route53profiles:DisassociateProfile" ], "Resource": "*", "Condition": { "StringEquals": { "route53profiles:ResourceIds": "vpc-1a2b3c4d5e6f" } } }