Utilizzo di condizioni di policy IAM per il controllo granulare degli accessi per gestire i set di record di risorse - 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 di policy IAM per il controllo granulare degli accessi per gestire i set di record di risorse

Quando concedi le autorizzazioni per i set di record di risorse in Route 53, puoi specificare le condizioni che determinano il modo in cui una policy di autorizzazione viene applicata.

In Route 53 puoi specificare le condizioni durante la concessione delle autorizzazioni utilizzando una policy IAM (consulta 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 record DNS specifico in una zona ospitata, ad esempio i record A e 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 utilizzano l'API. ChangeResourceRecordSets

Puoi anche creare autorizzazioni che combinano tutte le autorizzazioni granulari.

Puoi utilizzare l'elemento Condition IAM per implementare una policy di controllo degli accessi granulare. Aggiungendo un elemento Condition a una policy di autorizzazioni, puoi consentire o negare l'accesso ai record nei set di record di risorse di Route 53, in base ai tuoi requisiti aziendali. Ad esempio, la policy IAM può limitare l'accesso a singoli record DNS in una zona ospitata. Sarà quindi possibile collegare la policy a utenti, gruppi o ruoli.

Normalizzazione dei valori delle chiavi della condizione

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 nome DNS non deve avere un 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 DNS supportati da Route 53. Per ulteriori informazioni, consulta Tipi di record DNS supportati.

Importante

Affinché le tue autorizzazioni consentano o limitino le azioni come desideri, devi seguire queste convenzioni.

Puoi utilizzare l’Analizzatore di accessi o il Simulatore di policy nella Guida per l'utente di IAM per accertarti che la policy conceda o limiti le autorizzazioni come previsto. Puoi verificare le autorizzazioni anche applicando una policy IAM a un utente o ruolo di test che esegua le operazioni di 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 per 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 per un elenco completo delle chiavi AWS generiche, consulta Chiavi disponibili per le condizioni nella Guida per l'utente di IAM.

Nota

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

La seguente tabella mostra le chiavi di condizione specifiche dei servizi di Route 53 che si applicano ai set di record di risorse.

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

ChangeResourceRecordSets

Multivalore

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

  • Tutte le lettere devono essere minuscole.

  • Il nome DNS non deve avere un 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 record DNS nella richiesta di ChangeResourceRecordSets.

ChangeResourceRecordSetsRecordTypes può essere uno qualsiasi dei tipi di record DNS 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

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 è elencato esplicitamente nella policy IAM.

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.

Concessione delle autorizzazioni che limitano l'accesso ai record DNS 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 condizioni IAM che si applica alle chiavi con più valori. La condizione indicata nella policy precedente consentirà l'operazione solo quando tutte le modifiche apportate in ChangeResourceRecordSets hanno il nome DNS di esempio.com. Per ulteriori informazioni, consulta Operatori di condizione IAM e Condizione IAM con più chiavi o valori nella Guida per l'utente di IAM.

Per implementare l'autorizzazione che abbina i nomi a determinati suffissi, puoi utilizzare il carattere jolly IAM (*) nella policy con operatore di condizione StringLike o StringNotLike. La seguente policy consentirà l'operazione quando tutte le modifiche apportate nell'operazione ChangeResourceRecordSets ha nomi DNS che terminano con "-beta.esempio.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 jolly IAM non è uguale al carattere jolly 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 record DNS 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 nome DNS, e \ in \052 è sottoposto a escape in modo da essere \\ per seguire la sintassi JSON.

Concessione delle autorizzazioni che limitano l'accesso a record DNS specifici

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

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

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:ChangeResourceRecordSetsRecordTypes per limitare le azioni dell'utente solo sui record che corrispondono ai tipi specificati (A e AAAA).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsRecordTypes": ["A", "AAAA"] } } } ] }