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.
Dans Route 53, vous pouvez spécifier des conditions lors de l'octroi d'autorisations à l'aide d'une politique IAM (consultez Contrô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'enregistrement DNS spécifique dans une zone hébergée, par exemple les enregistrements A et AAAA.
-
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 lors de l'utilisation de l'ChangeResourceRecordSetsAPI. -
Accordez des autorisations pour permettre aux utilisateurs d'associer ou de dissocier des zones hébergées privées d'un VPC spécifique.
-
Accordez des autorisations pour permettre aux utilisateurs de répertorier les zones hébergées associées à un VPC spécifique.
-
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 à un VPC spécifique.
-
Accordez des autorisations pour permettre aux utilisateurs de créer ou de supprimer une autorisation d'association VPC.
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 nom DNS ne doit pas contenir de point arrière.
-
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'enregistrement DNS pris en charge par Route 53. Pour de plus amples informations, veuillez consulter Types d'enregistrements DNS 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 le plugin Access Analyzer ou Policy Simulator dans le Guide de l'utilisateur IAM pour vérifier que votre politique accorde ou restreint les autorisations comme prévu. Vous pouvez également valider les autorisations en appliquant une politique IAM à un utilisateur ou à un rôle de test pour effectuer des opérations 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 qui prennent en charge le contrôle d'accès IAM. 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 la liste des clés à l'échelle d' AWS, consultez Clés disponibles pour les conditions dans le Guide de l'utilisateur IAM.
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 | Opérations d’API | Type de la valeur | Description |
---|---|---|---|
route53:ChangeResourceRecordSetsNormalizedRecordNames |
Multi-valeurs |
Représente une liste de noms d'enregistrements DNS dans la demande deChangeResourceRecordSets. Pour obtenir le comportement attendu, les noms DNS de la politique IAM doivent être normalisés comme suit :
|
|
route53:ChangeResourceRecordSetsRecordTypes |
Multi-valeurs |
Représente une liste de types d'enregistrements DNS dans la demande de
|
|
route53:ChangeResourceRecordSetsActions |
Multi-valeurs |
Représente une liste des actions de la demande de
|
|
route53:VPCs |
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 politique IAM.
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.
Accorder des autorisations limitant l'accès aux enregistrements DNS avec 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 condition IAM qui s'applique aux clés à valeurs multiples. La condition dans la politique ci-dessus n'autorisera l'opération que lorsque tous les changements dans ChangeResourceRecordSets
auront le nom DNS example.com. Pour plus d'informations, consultez Opérateurs de condition IAM etCondition IAM avec plusieurs clés ou valeurs dans le Guide de l'utilisateur IAM.
Pour implémenter l'autorisation qui fait correspondre les noms avec certains suffixes, vous pouvez utiliser le caractère générique IAM (*) dans la politique avec l'opérateur de condition StringLike
ou StringNotLike
. La politique suivante autorisera l'opération lorsque toutes les changements dans l'opération ChangeResourceRecordSets
auront des noms DNS qui se terminent 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 caractère générique IAM n'est pas identique au 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.
Accorder des autorisations limitant l'accès aux enregistrements DNS 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 nom DNS, et \
dans \052
est échappé pour être \\
afin de suivre la syntaxe JSON.
Accorder des autorisations limitant l'accès à des enregistrements DNS 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. Elle utilise la combinaison de trois clés de condition pour limiter les actions des utilisateurs afin de permettre uniquement la création ou la modification d'enregistrements DNS avec un nom et un type de DNS spécifiques.
{
"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"]
}
}
}
]
}
Accorder des autorisations limitant l'accès à la création et la modification uniquement de types d'enregistrements DNS 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. Elle utilise la clé de condition route53:ChangeResourceRecordSetsRecordTypes
pour limiter les actions de l'utilisateur uniquement sur les enregistrements correspondant aux types spécifiés (A et AAAA).
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "route53:ChangeResourceRecordSets",
"Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333",
"Condition": {
"ForAllValues:StringEquals":{
"route53:ChangeResourceRecordSetsRecordTypes": ["A", "AAAA"]
}
}
}
]
}
Accordez des autorisations qui spécifient le VPC dans lequel le principal IAM peut opérer
La politique d'autorisation suivante accorde des autorisations qui autorisentAssociateVPCWithHostedZone
,DisassociateVPCFromHostedZone
,ListHostedZonesByVPC
, CreateHostedZone
CreateVPCAssociationAuthorization
, et DeleteVPCAssociationAuthorization
les actions sur le 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 un ARN VPC 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": "*"
}
]
}