Identifier les ressources AWS avec Amazon Resource Name (ARN)
Les Amazon Resource Name (ARN) identifient de façon unique les ressources AWS. L'ARN permet de spécifier une ressource sans aucune ambiguïté sur l'ensemble d'AWS, comme par exemple dans les politiques IAM, les balises Amazon Relational Database Service (Amazon RDS) et les appels d'API. Bien que les ARN, comme toute information d’identification, doivent être utilisés et partagés avec prudence, ils ne sont pas considérés comme des informations secrètes, sensibles ou confidentielles.
Format ARN
Voici les formats généraux des ARN. Les formats spécifiques dépendent de la ressource. Pour utiliser un ARN, remplacez le texte en italique par les informations spécifiques à la ressource. Sachez que les ARN de certaines ressources omettent la région, l'ID du compte ou la région et l'ID du compte.
arn:partition:service:region:account-id:resource-idarn:partition:service:region:account-id:resource-type/resource-idarn:partition:service:region:account-id:resource-type:resource-id
partition-
Partition dans laquelle se trouve la ressource. Une partition est un groupe de régions AWS. Chaque compte AWS est étendu à une partition.
Les partitions prises en charge sont les suivantes :
-
aws- AWS Régions -
aws-cn- Régions chinoises -
aws-us-gov- AWS GovCloud (US) Régions
-
service-
Espace de noms du service qui identifie le produit AWS.
region-
Code de région. Par exemple, indiquez
us-east-2pour la région USA Est (Ohio). Pour obtenir la liste des codes de région, consultez Points de terminaison régionaux dans Références générales AWS. account-id-
L'ID du compte AWS qui possède la ressource, sans les traits d'union. Par exemple,
123456789012. resource-type-
Type de ressource. Par exemple,
vpcpour un cloud privé virtuel (VPC) resource-id-
Identificateur de la ressource. Il s'agit du nom de la ressource, de l'ID de la ressource ou d'un chemin de ressource. Certains identifiants de ressource incluent une ressource parent (type-sous-ressource/ressource-parent/sous-ressource) ou un qualificateur tel qu'une version (type-ressource:nom-ressource:qualificateur).
Exemples
- Utilisateur IAM
-
arn:aws:iam::
123 456 789 012:user/john - Rubrique SNS
-
arn:aws:sns:
us-east-1:123456789012:example-sns-topic-name - VPC
-
arn:aws:ec2:
us-east-1:123456789012:vpc/vpc-0e9801d129EXAMPLE
Rechercher le format d'ARN pour une ressource
Le format exact d'un ARN dépend du service et du type de ressource. Certains ARN de ressources peuvent inclure un chemin, une variable ou un caractère générique. Pour rechercher le format d'ARN pour une ressource AWS spécifique, ouvrez la Référence de l'ARN de service, ouvrez la page du service et accédez au tableau des types de ressources.
Chemins d'accès dans les ARN
Certains ARN de ressource peuvent inclure un chemin. Par exemple, dans Amazon S3, l'identificateur de ressource est un nom d'objet qui peut inclure des barres obliques (/) pour former un chemin d'accès. De même, les noms d'utilisateur et les noms de groupe IAM peuvent inclure des chemins d'accès. Seuls les caractères alphanumériques et les caractères suivants sont autorisés dans les chemins IAM : barre oblique (/), plus (+), égal (=), virgule (,), point (.), arobase (@), trait de soulignement (_), et trait d’union (-).
Utilisation de caractères génériques dans les chemins
Les chemins peuvent inclure un caractère générique, à savoir un astérisque (*). Certains éléments de politique autorisent les caractères génériques, d’autres non. Vous pouvez utiliser des caractères génériques pour les éléments Resource ou NotResource, mais pas pour les éléments Principal ou NotPrincipal. Pour de plus amples informations, consultez Référence de politique JSON IAM.
Vous pouvez spécifier role/* pour désigner tous les rôles du compte 123456789012, comme dans l’exemple suivant :
arn:aws:iam::123456789012:role/*
Vous pouvez également terminer le nom d’une ressource par un caractère générique. Par exemple, vous pouvez spécifier service-* pour désigner tous les rôles commençant par service et se terminant par différents caractères tels que service-role1 ou service-test :
arn:aws:iam::123456789012:role/service-*
L’exemple suivant illustre les ARN pour les objets d’un compartiment Amazon S3 dans lequel le nom de la ressource inclut un chemin d’accès. L’ARN arn:aws:s3:::amzn-s3-demo-bucket/* concerne tous les objets de ce compartiment, quel que soit leur préfixe. L’ARN arn:aws:s3:::amzn-s3-demo-bucket/ concerne tous les objets créés dans le préfixe Development/*/Development/.
Vous pouvez également utiliser le caractère générique ? pour spécifier un caractère dans un ARN. Par exemple, vous pouvez utiliser l’ARN suivant pour tous les dossiers commençant par quatre caractères et se terminant par -test dans le compartiment S3 nommé amzn-s3-demo-bucket. Certains dossiers qui correspondraient à cette description incluent 1234-test, 2024-test, ou a100-test.
arn:aws:s3:::amzn-s3-demo-bucket/????-test
Vous pouvez également utiliser des caractères génériques dans les différentes sections d’un ARN, délimités par deux points « : ». Dans l’exemple suivant, deux caractères génériques sont utilisés pour correspondre à toutes les applications Amazon Q et ressources au sein des applications dans toutes les régions pour le compte 123456789012 :
arn:aws:qbusiness:*:123456789012:*
De même, l’exemple suivant correspond à tous les VPC Amazon dans toutes les régions pour le compte 123456789012 :
arn:aws:ec2:*:123456789012:vpc/*
L’exemple suivant correspond à tous les volumes Amazon EBS dans toutes les régions pour le compte 123456789012 :
arn:aws:ec2:*:123456789012:volume/*
Limitations relatives à l’utilisation des caractères génériques dans les ARN
Vous ne pouvez pas utiliser de caractère générique dans la partie de l’ARN qui spécifie le type de ressource. L’exemple d’ARN suivant, qui contient un caractère générique dans le type de ressource, n’est pas valide :
arn:aws:lambda:us-east-2:123456789012:functi*:my-function <== not allowed
Note
Lorsque vous spécifiez un ARN incomplet (comportant moins que les six champs standard) dans une politique basée sur l’identité, AWS complète automatiquement l’ARN en ajoutant des caractères génériques (*) à tous les champs manquants. Par exemple, spécifier arn:aws:sqs équivaut à arn:aws:sqs:*:*:*, ce qui donne accès à toutes les ressources Amazon SQS dans toutes les régions et tous les comptes.
Vous ne pouvez pas non plus utiliser de caractère générique dans le préfixe de l’ARN, ni avoir de caractère générique dans la section partition d’un ARN.
arn:aws:redshift:us-east-1:123456789012:? <== not allowed