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

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 (lihatKontrol akses). Misalnya, Anda dapat:

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

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

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

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

  • Berikan izin untuk mengizinkan pengguna mengaitkan atau memisahkan zona pribadi yang dihosting dari VPC tertentu.

  • Berikan izin untuk mengizinkan pengguna membuat daftar zona yang dihosting yang terkait dengan VPC tertentu.

  • Berikan izin untuk mengizinkan pengguna mengakses untuk membuat zona yang dihosting pribadi baru dan mengaitkannya ke VPC tertentu.

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

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

  • Berikan izin untuk mengizinkan pengguna mengelola (associate/disassociate/memperbarui) hanya ARN sumber daya tertentu dengan Profil Route 53.

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

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

  • Berikan izin untuk mengizinkan pengguna mengelola (associate/disassociate/memperbarui) Grup Aturan Firewall dengan rentang prioritas tertentu di Profil Route 53.

  • Berikan izin untuk memungkinkan pengguna mengelola (associate/disassociate) Profil Route 53 dengan VPC tertentu.

Anda juga dapat membuat izin yang menggabungkan salah satu izin granular.

Normalisasi 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 titik akhir.

  • Karakter selain a—z, 0—9, - (tanda hubung), _ (garis bawah), dan. (titik, 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 berikut ini dan harus huruf besar:

  • CREATE

  • UPGRADE

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

penting

Agar izin Anda mengizinkan atau membatasi tindakan sesuai keinginan Anda, Anda harus mengikuti konvensi ini. Hanya VPCId dan VPCRegion elemen diterima oleh kunci kondisi ini, AWS sumber daya lain, 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 AWS sumber daya yang valid ARN, sepertiarn:aws:route53:::hostedzone/Z12345.

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

Untukroute53profiles:HostedZoneDomains:

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

  • Nama domain harus tanpa titik akhir.

  • Nilai ini peka huruf besar kecil.

Untukroute53profiles:ResolverRuleDomains:

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

  • Nama domain harus tanpa titik akhir.

  • 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, sepertivpc-1a2b3c4d5e6f.

  • Nilai ini peka huruf besar kecil.

Anda dapat menggunakan Penganalisis Akses atau Simulator Kebijakan 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 atau peran uji untuk melakukan operasi Route 53.

Menentukan kondisi: menggunakan kunci kondisi

AWS menyediakan satu set kunci kondisi yang telah ditentukan (kunci kondisi AWS-wide) 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 kunci AWS-wide, lihat Kunci Tersedia untuk Kondisi di Panduan Pengguna IAM.

catatan

Rute 53 tidak mendukung kunci kondisi berbasis tag.

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

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

ChangeResourceRecordSets

Multi-valued

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

  • Semua huruf harus huruf kecil.

  • Nama DNS harus tanpa titik akhir.

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

route53:ChangeResourceRecordSetsRecordTypes

ChangeResourceRecordSets

Multi-valued

Merupakan daftar jenis catatan DNS dalam permintaanChangeResourceRecordSets.

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

Merupakan daftar tindakan dalam permintaanChangeResourceRecordSets.

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

  • CREATE

  • UPGRADE

  • DELETE

route53:VPCs

AssociateVPCWithHostedZone

DisassociateVPCFromHostedZone

ListHostedZonesByVPC

CreateHostedZone

CreateVPCAssociationAuthorization

DeleteVPCAssociationAuthorization

Multi-valued

<vpc-id>Merupakan daftar VPC dalam permintaanAssociateVPCWithHostedZone,,,,,, dan DisassociateVPCFromHostedZone ListHostedZonesByVPC CreateHostedZoneCreateVPCAssociationAuthorization, dalam format “vpc DeleteVPCAssociationAuthorization ID =, vpcRegion= <region>
route53profiles:ResourceTypes

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

String

Memfilter akses berdasarkan jenis sumber daya tertentu.

route53profiles:ResourceTypesdapat berupa salah satu dari nilai-nilai berikut (case sensitive):

  • HostedZone

  • FirewallRuleGroup

  • ResolverQueryLoggingConfig

  • ResolverRule

  • VPCendPoint

route53profiles:ResourceArns

AssociateResourceToProfile

DisassociateResourceFromProfile

ARN

Memfilter akses berdasarkan ARN sumber daya tertentu.
route53profiles:HostedZoneDomains

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

String

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

  • Nama domain harus tanpa titik akhir.

  • Nilai ini peka huruf besar kecil.

route53profiles:ResolverRuleDomains

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

String

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

  • Nama domain harus tanpa titik akhir.

  • 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 oleh VPC yang diberikan.

Contoh kebijakan: Menggunakan kondisi untuk akses 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 mereka berbasis penolakan (yaitu, menetapkan klausa Efek ke Tolak dan membalikkan semua logika dalam kebijakan). Namun, sebaiknya hindari penggunaan kebijakan berbasis penolakan karena sulit untuk ditulis dengan benar, dibandingkan dengan kebijakan berbasis izin. Hal ini terutama berlaku untuk Rute 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 Terhosting Z12345 untuk example.com dan marketing.example.com. Ini menggunakan kunci 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 mengizinkan operasi hanya jika semua perubahan ChangeResourceRecordSets memiliki nama DNS example.com. Untuk informasi selengkapnya, lihat Oper ator kondisi IAM dan kondisi IAM dengan beberapa kunci atau nilai di Panduan Pengguna IAM.

Untuk menerapkan izin yang mencocokkan nama dengan akhiran tertentu, Anda dapat menggunakan wildcard IAM (*) dalam kebijakan dengan operator kondisi atau. StringLike StringNotLike Kebijakan berikut akan mengizinkan 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.

Memberikan 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 Terhosting Z12345 untuk example.com. Ini menggunakan kunci route53:ChangeResourceRecordSetsNormalizedRecordNames kondisi untuk membatasi tindakan pengguna hanya untuk catatan yang cocok dengan *.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 \052 lolos menjadi \\ mengikuti sintaks JSON.

Berikan izin yang membatasi akses ke catatan DNS tertentu

Kebijakan izin berikut memberikan izin yang mengizinkan ChangeResourceRecordSets tindakan di Zona Terhosting Z12345 untuk example.com. Ini menggunakan kombinasi tiga kunci 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 Terhosting Z12345 untuk example.com. Ini menggunakan kunci route53:ChangeResourceRecordSetsRecordTypes kondisi untuk membatasi tindakan pengguna hanya pada catatan yang cocok dengan tipe 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

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

Memberikan izin yang membatasi asosiasi sumber daya ke jenis sumber daya tertentu di Profil Route 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 ARN sumber daya tertentu di Profil Route 53

Kebijakan izin berikut memberikan izin yang mengizinkan AssociateResourceToProfile dan DisassociateResourceFromProfile bertindak hanya untuk ARN sumber daya tertentu. 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 yang dihosting tertentu di Profil Route 53

Kebijakan izin berikut memberikan izin yang memungkinkan 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 yang dihosting 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 Penyelesai tertentu di Profil Route 53

Kebijakan izin berikut memberikan izin yang mengizinkanAssociateResourceToProfile,DisassociateResourceFromProfile, dan UpdateProfileResourceAssociation tindakan hanya jika domain Aturan Penyelesai cocok dengan nilai yang ditentukan. Ini menggunakan kunci route53profiles:ResolverRuleDomains kondisi untuk membatasi domain Resolver Rule 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 Route 53

Kebijakan izin berikut memberikan izin yang memungkinkan 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 ke VPC tertentu di Profil Route 53

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

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