Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation IAM de conditions politiques pour un contrôle d'accès précis
Dans Route 53, vous pouvez spécifier des conditions lors de l'octroi d'autorisations à l'aide d'une IAM politique (voirContrôle d’accès). Par exemple, vous pouvez :
-
Accorder des autorisations pour autoriser l'accès à un ensemble d'enregistrements de ressources unique
-
Accordez des autorisations pour permettre aux utilisateurs d'accéder à tous les ensembles d'enregistrements de ressources d'un type d'DNSenregistrement spécifique dans une zone hébergée, par exemple A et AAAA enregistrements.
-
Accordez des autorisations pour permettre aux utilisateurs d'accéder à un ensemble d'enregistrements de ressources dont le nom contient une chaîne spécifique.
-
Accordez des autorisations pour permettre aux utilisateurs d'effectuer uniquement un sous-ensemble des
CREATE | UPSERT | DELETE
actions sur la console Route 53 ou lorsqu'ils utilisent le ChangeResourceRecordSetsAPI. -
Accordez des autorisations pour permettre aux utilisateurs d'associer ou de dissocier des zones hébergées privées d'une zone particulièreVPC.
-
Accordez des autorisations pour permettre aux utilisateurs de répertorier les zones hébergées associées à une donnée en particulierVPC.
-
Accordez des autorisations permettant aux utilisateurs d'accéder à la création d'une nouvelle zone hébergée privée et de l'associer à une zone particulièreVPC.
-
Accordez des autorisations pour permettre aux utilisateurs de créer ou de supprimer une autorisation d'VPCassociation.
Vous pouvez également créer des autorisations qui combinent n'importe laquelle des autorisations granulaires.
Normalisation des valeurs clés de la condition Route 53
Les valeurs que vous saisissez pour les conditions de politique doivent être formatées, ou normalisées, comme suit :
Pour route53:ChangeResourceRecordSetsNormalizedRecordNames
:
-
Toutes les lettres doivent être en minuscules.
-
Le DNS nom ne doit pas comporter de point final.
-
Les caractères autres que a à z, 0 à 9, - (tiret), _ (trait de soulignement) et . (point, comme délimiteur entre les étiquettes) doivent utiliser des codes d'échappement au format \code octal à trois chiffres. Par exemple,
\052
est le code octal du caractère *.
Pour route53:ChangeResourceRecordSetsActions
, la valeur peut être l'une valeurs des suivantes et doit être en majuscules :
-
CREATE
-
UPSERT
-
DELETE
Pour route53:ChangeResourceRecordSetsRecordTypes
:
-
La valeur doit être en majuscules et peut être n'importe quel type d'DNSenregistrement pris en charge par Route 53. Pour de plus amples informations, veuillez consulter Types d'DNSenregistrements pris en charge.
Pour route53:VPCs
:
-
La valeur doit être au format de
VPCId=<vpc-id>,VPCRegion=<region>
. -
La valeur de
<vpc-id>
et<region>
doit être en minuscules, par exemple et.VPCId=vpc-123abc
VPCRegion=us-east-1
-
Les clés de contexte et les valeurs distinguent les majuscules et minuscules.
Important
Pour obtenir l'autorisation d'autoriser ou de restreindre les actions que vous souhaitez, vous devez suivre ces conventions. Seuls VPCId
les VPCRegion
éléments sont acceptés par cette clé de condition, les autres AWS ressources, telles que Compte AWS, ne sont pas prises en charge.
Vous pouvez utiliser l'analyseur d'accès ou le simulateur de politiques du guide de IAM l'utilisateur pour vérifier que votre politique accorde ou restreint les autorisations comme prévu. Vous pouvez également valider les autorisations en appliquant une IAM politique à un utilisateur ou à un rôle de test pour effectuer des opérations sur la Route 53.
Spécification de conditions : utilisation de clés de condition
AWS fournit un ensemble de clés de condition prédéfinies (clés AWS de condition étendues) pour tous les AWS services prenant en charge IAM le contrôle d'accès. Par exemple, vous pouvez utiliser la clé de condition aws:SourceIp
pour vérifier l'adresse IP du demandeur avant de permettre l'exécution d'une action. Pour plus d'informations et une liste des touches « wide AWS », consultez la section Clés disponibles pour les conditions dans le guide de IAM l'utilisateur.
Note
Route 53 ne prend pas en charge les clés de condition basées sur des balises.
Le tableau suivant indique les clés de condition spécifiques au service Route 53 qui s'appliquent à Route 53.
Clé de condition Route 53 | APIopérations | Type de la valeur | Description |
---|---|---|---|
route53:ChangeResourceRecordSetsNormalizedRecordNames |
Multi-valeurs |
Représente une liste de noms d'DNSenregistrements dans la demande deChangeResourceRecordSets. Pour obtenir le comportement attendu, DNS les noms de la IAM politique doivent être normalisés comme suit :
|
|
route53:ChangeResourceRecordSetsRecordTypes |
Multi-valeurs |
Représente une liste de types d'DNSenregistrements dans la demande de
|
|
route53:ChangeResourceRecordSetsActions |
Multi-valeurs |
Représente une liste des actions de la demande de
|
|
route53:VPCs |
D isassociateVPCFrom HostedZone |
Multi-valeurs |
Représente une liste de VPCs dans la demande de AssociateVPCWithHostedZone DisassociateVPCFromHostedZone , ListHostedZonesByVPC CreateHostedZone ,CreateVPCAssociationAuthorization ,,DeleteVPCAssociationAuthorization , et, au format "VPCId=<vpc-id>, VPCRegion = <region> |
Exemples de politiques : utilisation de conditions pour un accès précis
Chacun des exemples de cette section définit la clause Effect sur Allow et spécifie uniquement les actions, ressources et paramètres autorisés. L'accès est autorisé uniquement à ce qui est explicitement indiqué dans la IAM politique.
Dans certains cas, il est possible de réécrire ces politiques afin qu'elles soient basées sur le refus (autrement dit, définition de la clause Effect sur Deny et inversion de toute la logique de la politique). Cependant, nous vous recommandons d'éviter d'utiliser les politiques basées sur le refus, car elles sont difficiles à écrire correctement, par comparaison avec les stratégies basées sur l'autorisation. Cela est particulièrement vrai pour Route 53 en raison de la normalisation du texte requise.
Accordez des autorisations qui limitent l'accès aux DNS enregistrements portant des noms spécifiques
La politique d'autorisations suivante accorde les autorisations qui autorise les actions ChangeResourceRecordSets
sur la zone hébergée Z12345 pour example.com et marketing.example.com. Elle utilise la clé de condition route53:ChangeResourceRecordSetsNormalizedRecordNames
pour limiter les actions de l'utilisateur uniquement sur les enregistrements correspondant aux noms spécifiés.
{ "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
est un opérateur de IAM condition qui s'applique aux clés à valeurs multiples. La condition énoncée dans la politique ci-dessus autorisera l'opération uniquement lorsque toutes les modifications ChangeResourceRecordSets
apportées porteront le DNS nom exemple.com. Pour plus d'informations, consultez les IAM sections Opérateurs de IAMcondition et condition comportant plusieurs clés ou valeurs dans le Guide de IAM l'utilisateur.
Pour implémenter l'autorisation qui associe les noms à certains suffixes, vous pouvez utiliser le IAM caractère générique (*) dans la politique avec l'opérateur de condition ou. StringLike
StringNotLike
La politique suivante autorise l'opération lorsque toutes les modifications apportées à l'ChangeResourceRecordSets
opération DNS portent des noms se terminant par « -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"] } } } ] }
Note
Le IAM caractère générique n'est pas le même que le caractère générique du nom de domaine. Consultez l'exemple suivant pour savoir comment utiliser le caractère générique avec un nom de domaine.
Accordez des autorisations qui limitent l'accès aux DNS enregistrements correspondant à un nom de domaine contenant un caractère générique
La politique d'autorisations suivante accorde les autorisations qui autorise les actions ChangeResourceRecordSets
sur la zone hébergée Z12345 pour example.com. Elle utilise la clé de condition route53:ChangeResourceRecordSetsNormalizedRecordNames
pour limiter les actions de l'utilisateur uniquement aux enregistrements correspondant à *.example.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
est le code octal du caractère * dans le DNS nom, et \
in \052
est évité pour \\
suivre la JSON syntaxe.
Accordez des autorisations qui limitent l'accès à des DNS enregistrements spécifiques
La politique d'autorisations suivante accorde les autorisations qui autorise les actions ChangeResourceRecordSets
sur la zone hébergée Z12345 pour example.com. Il utilise la combinaison de trois clés de condition pour limiter les actions des utilisateurs afin de n'autoriser que la création ou la modification d'DNSenregistrements portant un certain DNS nom et un certain type.
{ "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"] } } } ] }
Accordez des autorisations qui limitent l'accès à la création et à la modification uniquement des types d'DNSenregistrements spécifiés
La politique d'autorisations suivante accorde les autorisations qui autorise les actions ChangeResourceRecordSets
sur la zone hébergée Z12345 pour example.com. Il utilise la clé de route53:ChangeResourceRecordSetsRecordTypes
condition pour limiter les actions de l'utilisateur uniquement sur les enregistrements correspondant aux types spécifiés (A etAAAA).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsRecordTypes": ["A", "AAAA"] } } } ] }
Accorder des autorisations qui spécifient les VPC conditions dans IAM lesquelles le principal peut opérer
La politique d'autorisation suivante accorde des autorisations qui autorisentAssociateVPCWithHostedZone
,DisassociateVPCFromHostedZone
,ListHostedZonesByVPC
, CreateHostedZone
CreateVPCAssociationAuthorization
, et des DeleteVPCAssociationAuthorization
actions sur le paramètre VPC spécifié par le vpc-id.
Important
La valeur de la condition doit être au format deVPCId=<vpc-id>,VPCRegion=<region>
. Si vous spécifiez a VPC ARN dans la valeur de la condition, la clé de condition ne prendra pas effet.
{ "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": "*" } ] }