AWS utilise Amazon Resource Names (ARN) pour de nombreuses choses, y compris le système d'autorisations IAM, où ils sont utilisés pour mettre en liste blanche l'accès à des ressources AWS spécifiques plutôt que pour donner un accès à l'échelle du service. En général, il s'agit d'un identifiant unique à l'échelle du compte pour n'importe quel service.
Qu'est-ce qu'un ARN?
Les ARN ont un format prédéfini, donc même si la console ne répertorie pas l'ARN d'une ressource spécifique, vous pouvez probablement le construire manuellement. Le format général pour eux est
arn: partition: service: region: account-id: resource-id arn: partition: service: région: id-compte: type-ressource / id-ressource arn: partition: service: région: id-compte: type-ressource: id-ressource
cloison
: AWS est divisé en trois régions physiquement séparées: Public (aws
), GovCloud (aws-us-gov
) et la Chine (aws-cn
). Vous utilisez presque certainement la partition publique, donc cette valeur sera toujours "aws
. »un service
: Le nom du service auquel appartient la ressource (s3
,ec2
, etc.)Région
: La région dans laquelle se trouve la ressource (us-east-1
,us-west-2
, etc.). Notez qu'il ne s'agit pas de la zone de disponibilité et que pour certaines ressources peuvent être laissées videsidentifiant de compte
: Votre identifiant de compte personnelRessource
: Varie selon le service. Pour des services comme S3, cela peut simplement être fait par l'ID de l'objet (par exemple, le nom du compartiment S3). Pour les autres services, cela peut être divisé par type de ressource et ID (par exemple,instance / i-12345678
).
Chaque service peut avoir un format différent pour la dernière partie. Heureusement, AWS documente cela en détail, et vous pouvez trouver le format exact de la ressource que vous recherchez dans leurs documents. Il s'agit généralement du nom du type de ressource (exemple
, groupe de sécurité
, instantané
), suivi de l'ID général de la ressource, qui est généralement visible dans la description de cette ressource.
Comment trouver votre ARN
Pour certains services, l'ARN est facilement disponible à partir de la page d'informations de la ressource. Cherchez quelque chose qui commence par arn: aws:
. Pour S3, l'ARN est facilement disponible et copiable à partir de la barre latérale d'informations:
Pour les autres services (EC2 en particulier), l'ARN ne s'affiche pas du tout. Pour une instance EC2, le format est:
arn: $ {Partition}: ec2: $ {Region}: $ {Account}: instance / $ {InstanceId}
Si vous travaillez à partir de la ligne de commande, l'ARN doit être construit manuellement de cette manière. Vous pouvez consulter la documentation pour le format exact.
Si vous avez accès à la console, l'assistant peut vous aider. dans le Console de gestion IAM, accédez à l'onglet "Politiques", puis cliquez sur "Créer une politique". Sélectionnez le service AWS auquel appartient la ressource, puis sélectionnez «Toutes les actions» sous l'onglet Actions:
Sous l'onglet ressources, vous verrez une liste de toutes les ressources possibles avec des ARN. Par exemple, si vous souhaitez créer l'ARN d'une interface réseau particulière, sélectionnez "Ajouter un ARN" sous interface réseau
:
Vous devez maintenant sélectionner la région et l'ID général de la ressource, qui sont généralement beaucoup plus facilement disponibles. Dans ce cas, l'ID de l'interface réseau est visible sous l'onglet «Interfaces réseau» de la console EC2.
Entrez les informations et l'ARN devrait être construit pour vous. Vous pouvez quitter l'assistant une fois que vous avez terminé, car vous ne souhaitez pas réellement enregistrer la stratégie.