Utilizzo di condizioni IAM politiche per un controllo granulare degli accessi - Amazon Route 53

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di condizioni IAM politiche per un controllo granulare degli accessi

In Route 53, è possibile specificare le condizioni per la concessione delle autorizzazioni utilizzando una IAM politica (vedi). Controllo accessi Ad esempio, puoi:

  • Concedi le autorizzazioni per consentire l'accesso a un singolo set di record di risorse.

  • Concedi le autorizzazioni per consentire agli utenti di accedere a tutti i set di record di risorse di un tipo di DNS record specifico in una zona ospitata, ad esempio A e record. AAAA

  • Concedi le autorizzazioni per consentire agli utenti di accedere a un set di record di risorse in cui il nome contiene una stringa specifica.

  • Concedi le autorizzazioni per consentire agli utenti di eseguire solo un sottoinsieme delle CREATE | UPSERT | DELETE azioni sulla console Route 53 o quando si utilizza il. ChangeResourceRecordSetsAPI

  • Concedi le autorizzazioni per consentire agli utenti di associare o dissociare zone private ospitate da una particolare zona. VPC

  • Concedi le autorizzazioni per consentire agli utenti di elencare le zone ospitate associate a un particolare. VPC

  • Concedi le autorizzazioni per consentire agli utenti di accedere per creare una nuova zona ospitata privata e associarla a una particolare. VPC

  • Concedi le autorizzazioni per consentire agli utenti di creare o eliminare un'autorizzazione di VPC associazione.

Puoi anche creare autorizzazioni che combinano tutte le autorizzazioni granulari.

Normalizzazione dei valori chiave della condizione Route 53

I valori inseriti per le condizioni della policy devono essere formattati o normalizzati come segue:

Per route53:ChangeResourceRecordSetsNormalizedRecordNames:

  • Tutte le lettere devono essere minuscole.

  • Il DNS nome deve essere privo del punto finale.

  • I caratteri diversi da a-z, 0-9, - (trattino), _ (trattino basso) e . (punto, come delimitatore tra le etichette) devono utilizzare i codici escape nel formato \codice ottale a tre cifre. Ad esempio, \052 è il codice ottale per il carattere *.

Per route53:ChangeResourceRecordSetsActions, il valore può essere uno dei seguenti e deve essere in maiuscolo:

  • CREATE

  • UPSERT

  • DELETE

Per route53:ChangeResourceRecordSetsRecordTypes:

  • Il valore deve essere in maiuscolo e può essere uno qualsiasi dei tipi di record supportati DNS da Route 53. Per ulteriori informazioni, consulta Tipi di record DNS supportati.

Per route53:VPCs:

  • Il valore deve essere nel formato di. VPCId=<vpc-id>,VPCRegion=<region>

  • Il valore di <vpc-id> e <region> deve essere in minuscolo, ad esempio eVPCId=vpc-123abc. VPCRegion=us-east-1

  • Le chiavi e i valori di contesto fanno distinzione tra maiuscole e minuscole.

Importante

Affinché le tue autorizzazioni consentano o limitino le azioni come desideri, devi seguire queste convenzioni. Solo VPCId gli VPCRegion elementi sono accettati da questa chiave di condizione, tutte AWS le altre risorse, ad esempio Account AWS, non sono supportate.

È possibile utilizzare Access Analyzer o Policy Simulator nella Guida per l'IAMutente per verificare che la politica conceda o limiti le autorizzazioni come previsto. Puoi anche convalidare le autorizzazioni applicando una IAM policy a un utente o un ruolo di prova per eseguire le operazioni Route 53.

Specifica delle condizioni: uso delle chiavi di condizione

AWS fornisce un set di chiavi di condizione predefinite (AWS-wide condition keys) per tutti i AWS servizi che supportano IAM il controllo degli accessi. Ad esempio, puoi utilizzare la chiave di condizione aws:SourceIp per controllare l'indirizzo IP del richiedente prima che un'operazione venga effettuata. Per ulteriori informazioni e un elenco delle chiavi AWS-wide, consulta Available Keys for Conditions nella Guida per l'IAMutente.

Nota

Route 53 non supporta le chiavi di condizione basate su tag.

La tabella seguente mostra le chiavi delle condizioni specifiche del servizio Route 53 che si applicano a Route 53.

Chiave di condizione di Route 53 APIoperazioni Value type (Tipo di valore) Descrizione
route53:ChangeResourceRecordSetsNormalizedRecordNames

ChangeResourceRecordSets

Multivalore

Rappresenta un elenco di nomi di DNS record nella richiesta diChangeResourceRecordSets. Per ottenere il comportamento previsto, DNS i nomi nella IAM policy devono essere normalizzati come segue:

  • Tutte le lettere devono essere minuscole.

  • Il DNS nome deve essere privo del punto finale.

  • I caratteri diversi da a-z, 0-9, - (trattino), _ (trattino basso) e . (punto, come delimitatore tra le etichette) devono utilizzare i codici escape nel formato \codice ottale a tre cifre.

route53:ChangeResourceRecordSetsRecordTypes

ChangeResourceRecordSets

Multivalore

Rappresenta un elenco di tipi di DNS record nella richiesta diChangeResourceRecordSets.

ChangeResourceRecordSetsRecordTypespuò essere uno qualsiasi dei tipi di DNS record supportati da Route 53. Per ulteriori informazioni, consulta Tipi di record DNS supportati. Quanto riportato nella policy deve essere tutto maiuscolo.

route53:ChangeResourceRecordSetsActions

ChangeResourceRecordSets

Multivalore

Rappresenta un elenco di operazioni nella richiesta di ChangeResourceRecordSets.

ChangeResourceRecordSetsActions può essere uno dei seguenti valori (deve essere in maiuscolo):

  • CREATE

  • UPSERT

  • DELETE

route53:VPCs

A ssociateVPCWith HostedZone

D isassociateVPCFrom HostedZone

ListHostedZonesByVPC

CreateHostedZone

C reateVPCAssociation Autorizzazione

D eleteVPCAssociation Autorizzazione

Multivalore

Rappresenta un elenco di VPCs nella richiesta di AssociateVPCWithHostedZoneDisassociateVPCFromHostedZone, ListHostedZonesByVPCCreateHostedZone,CreateVPCAssociationAuthorization,, eDeleteVPCAssociationAuthorization, nel formato "VPCId=<vpc-id>, VPCRegion = <region>

Policy di esempio: utilizzo di condizioni per l'accesso granulare

Ognuno degli esempi presenti in questa sezione imposta la clausola Effect su Allow (Consenti) e specifica solo le operazioni, le risorse e i parametri permessi. L'accesso è consentito solo a ciò che è esplicitamente elencato nella IAM politica.

In alcuni casi è possibile riscrivere queste policy in modo che si basino sul rifiuto (vale a dire impostare la clausola Effect su Deny e invertire tutta la logica nella policy). Tuttavia, ti consigliamo di evitare di utilizzare le policy basate sul rifiuto poiché sono difficili da scrivere correttamente in confronto alle policy basate sul permesso. Ciò è particolarmente vero per Route 53 a causa della normalizzazione del testo che è richiesta.

Concedi autorizzazioni che limitano l'accesso ai DNS record con nomi specifici

La seguente policy di autorizzazione concede le autorizzazioni che consentono operazioni ChangeResourceRecordSets sulla zona ospitata Z12345 per example.com e marketing.example.com. Utilizza la chiave di condizione route53:ChangeResourceRecordSetsNormalizedRecordNames per limitare le azioni dell'utente solo sui record che corrispondono ai nomi specificati.

{ "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:StringEqualsè un operatore di IAM condizione che si applica alle chiavi multivalore. La condizione riportata nella politica precedente consentirà l'operazione solo quando tutte le modifiche ChangeResourceRecordSets avranno il DNS nome di example.com. Per ulteriori informazioni, consulta gli operatori IAM delle condizioni e IAMle condizioni con più chiavi o valori nella Guida per l'IAMutente.

Per implementare l'autorizzazione che corrisponde ai nomi con determinati suffissi, puoi utilizzare il carattere IAM jolly (*) nella politica con l'operatore di condizione o. StringLike StringNotLike La seguente politica consentirà l'operazione quando tutte le modifiche all'ChangeResourceRecordSetsoperazione hanno DNS nomi che terminano con «-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"] } } } ] }
Nota

Il carattere IAM jolly non è lo stesso del nome di dominio. Consulta il seguente esempio per informazioni su come utilizzare il carattere jolly con un nome di dominio.

Concedi autorizzazioni che limitano l'accesso ai DNS record che corrispondono a un nome di dominio contenente un carattere jolly

La seguente policy di autorizzazione concede le autorizzazioni che consentono operazioni ChangeResourceRecordSets sulla zona ospitata Z12345 per esempio.com. Utilizza la chiave di condizione route53:ChangeResourceRecordSetsNormalizedRecordNames per limitare le azioni dell'utente solo ai record che corrispondono a *.esempio.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 è il codice ottale per il carattere * nel DNS nome, e \ in \052 viene escluso per seguire la sintassi. \\ JSON

Concedi autorizzazioni che limitano l'accesso a record specifici DNS

La seguente policy di autorizzazione concede le autorizzazioni che consentono operazioni ChangeResourceRecordSets sulla zona ospitata Z12345 per esempio.com. Utilizza la combinazione di tre tasti di condizione per limitare le azioni dell'utente e consentire solo la creazione o la modifica di DNS record con determinati DNS nomi e tipi.

{ "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"] } } } ] }
Concedi autorizzazioni che limitano l'accesso alla creazione e alla modifica solo dei tipi di DNS record specificati

La seguente policy di autorizzazione concede le autorizzazioni che consentono operazioni ChangeResourceRecordSets sulla zona ospitata Z12345 per esempio.com. Utilizza la chiave route53:ChangeResourceRecordSetsRecordTypes condition per limitare le azioni dell'utente solo sui record che corrispondono ai tipi specificati (A eAAAA).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsRecordTypes": ["A", "AAAA"] } } } ] }
Concedi autorizzazioni che specificano in VPC che modo il IAM principale può operare

La seguente politica di autorizzazioni concede autorizzazioni che consentonoAssociateVPCWithHostedZone,, DisassociateVPCFromHostedZone ListHostedZonesByVPC CreateHostedZoneCreateVPCAssociationAuthorization, e DeleteVPCAssociationAuthorization azioni su quanto specificato da vpc-id. VPC

Importante

Il valore della condizione deve essere nel formato di. VPCId=<vpc-id>,VPCRegion=<region> Se si specifica a VPC ARN nel valore della condizione, la chiave della condizione non avrà effetto.

{ "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": "*" } ] }