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 |
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:
|
|
route53:ChangeResourceRecordSetsRecordTypes |
Multivalore |
Rappresenta un elenco di tipi di DNS record nella richiesta di
|
|
route53:ChangeResourceRecordSetsActions |
Multivalore |
Rappresenta un elenco di operazioni nella richiesta di
|
|
route53:VPCs |
D isassociateVPCFrom HostedZone |
Multivalore |
Rappresenta un elenco di VPCs nella richiesta di AssociateVPCWithHostedZone DisassociateVPCFromHostedZone , ListHostedZonesByVPC CreateHostedZone ,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'ChangeResourceRecordSets
operazione 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
CreateHostedZone
CreateVPCAssociationAuthorization
, 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": "*" } ] }