Utilisation IAM de conditions politiques pour un contrôle d'accès précis - Amazon Route 53

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 deVPCId=<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

ChangeResourceRecordSets

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 :

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

route53:ChangeResourceRecordSetsRecordTypes

ChangeResourceRecordSets

Multi-valeurs

Représente une liste de types d'DNSenregistrements dans la demande deChangeResourceRecordSets.

ChangeResourceRecordSetsRecordTypespeut ê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. Tout doit être saisi en majuscules dans la politique.

route53:ChangeResourceRecordSetsActions

ChangeResourceRecordSets

Multi-valeurs

Représente une liste des actions de la demande de ChangeResourceRecordSets.

ChangeResourceRecordSetsActions peut être n'importe laquelle des valeurs suivantes (doit être en majuscule) :

  • CREATE

  • UPSERT

  • DELETE

route53:VPCs

UN ssociateVPCWith HostedZone

D isassociateVPCFrom HostedZone

ListHostedZonesByVPC

CreateHostedZone

reateVPCAssociationAutorisation C

D eleteVPCAssociation Autorisation

Multi-valeurs

Représente une liste de VPCs dans la demande de AssociateVPCWithHostedZoneDisassociateVPCFromHostedZone, ListHostedZonesByVPCCreateHostedZone,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:StringEqualsest 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'ChangeResourceRecordSetsopé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, CreateHostedZoneCreateVPCAssociationAuthorization, 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": "*" } ] }