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.
IAM utilise quelques identifiants différents pour les utilisateurs, les groupes IAM, les rôles, les politiques et les certificats de serveur. Cette section décrit les identifiants et quand vous utilisez chacun d'eux.
Noms conviviaux et chemins
Lorsque vous créez un utilisateur, un rôle, un groupe d'utilisateurs ou une politique, ou lorsque vous téléchargez un certificat de serveur, vous lui attribuez un nom convivial. Par exemple, Bob, TestApp1, Developers, ManageCredentialsPermissions ou ProdServerCert.
Si vous utilisez l'API IAM ou AWS Command Line Interface (AWS CLI) pour créer des ressources IAM, vous pouvez ajouter aux ressources un chemin facultatif. Vous pouvez utiliser un seul chemin ou imbriquer plusieurs chemins en une structure de dossiers. Par exemple, vous pouvez utiliser le chemin imbriqué /division_abc/subdivision_xyz/product_1234/engineering/
pour correspondre à l'organigramme de votre société. Vous pouvez ensuite créer une politique pour autoriser tous les utilisateur dans ce chemin à accéder à l'API de simulateur de politique. Pour afficher cette politique, consultez IAM : accès à l'API du simulateur de politique en fonction du chemin d'utilisateur. Pour plus d'informations sur la façon dont un nom convivial peut être spécifié, consultez la documentation de l'API utilisateur. Pour trouver des exemples de la manière dont vous pouvez utiliser des chemins, consultez ARN IAM.
Lorsque vous utilisez AWS CloudFormation pour créer des ressources, vous pouvez spécifier un chemin d’accès pour les utilisateurs, les groupes IAM, les rôles et les politiques gérées par le client.
Si vous avez un utilisateur et un groupe d'utilisateurs sur le même chemin, IAM ne place pas automatiquement l'utilisateur dans ce groupe d'utilisateurs. Par exemple, vous pouvez créer un groupe d'utilisateurs Développeurs et spécifier le chemin d'accès comme /division_abc/subdivision_xyz/product_1234/engineering/
. Si vous créez un utilisateur nommé Bob et lui ajoutez le même chemin, cela ne place pas Bob automatiquement dans le groupe d'utilisateurs Développeurs. IAM n’impose aucune limite entre utilisateurs ou groupes IAM en fonction de leurs chemins. Les utilisateurs ayant des chemins différents peuvent utiliser les mêmes ressources en supposant qu'ils aient autorisation d'accéder à ces ressources. Le nombre et la taille des ressources IAM dans un compte AWS sont limités. Pour plus d'informations, veuillez consulter IAMet AWS STS quotas.
ARN IAM
Les plupart des ressources ont un nom convivial, par exemple, un utilisateur appelé Bob
ou un groupe d'utilisateurs appelé Developers
. Toutefois, le langage de politique d'autorisation nécessite que vous indiquiez la ou les ressources au format Amazon Resource Name (ARN) suivant.
arn:partition
:service
:region
:account
:resource
Où :
-
partition
identifie la partition pour la ressource. Pour les Régions AWS standards, la partition estaws
. Si vous avez des ressources dans d’autres partitions, la partition estaws-
. Par exemple, la partition des ressources de la région Chine (Beijing) estpartitionname
aws-cn
. Vous ne pouvez pas déléguer l'accès entre comptes dans différentes partitions. -
service
identifie le produit AWS. Les ressources IAM utilisent toujoursiam
. -
region
identifie la région de la ressource. Pour les ressources IAM, elle est toujours laissée vide. -
account
spécifie l'ID d'Compte AWS sans trait d'union. -
resource
identifie la ressources spécifique par nom.
Vous pouvez spécifier les ARN IAM et AWS STS à l'aide de la syntaxe suivante. La partie de la région de l'ARN est vide, car les ressources IAM sont globales.
Syntaxe :
arn:aws:iam::
account
:root arn:aws:iam::account
:user/user-name-with-path
arn:aws:iam::account
:group/group-name-with-path
arn:aws:iam::account
:role/role-name-with-path
arn:aws:iam::account
:policy/policy-name-with-path
arn:aws:iam::account
:instance-profile/instance-profile-name-with-path
arn:aws:sts::account
:federated-user/user-name
arn:aws:sts::account
:assumed-role/role-name
/role-session-name
arn:aws:sts::account
:self arn:aws:iam::account
:mfa/virtual-device-name-with-path
arn:aws:iam::account
:u2f/u2f-token-id
arn:aws:iam::account
:server-certificate/certificate-name-with-path
arn:aws:iam::account
:saml-provider/provider-name
arn:aws:iam::account
:oidc-provider/provider-name
Bon nombre des exemples suivants incluent des chemins dans la partie des ressources de l'ARN. Les chemins ne peuvent pas être créés ou manipulés dans l'interface AWS Management Console. Pour utiliser les chemins, vous devez utiliser la ressource avec l'API AWS, la AWS CLI ou Tools for Windows PowerShell.
Exemples :
arn:aws:iam::123456789012:root
arn:aws:iam::123456789012:user/JohnDoe
arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/JaneDoe
arn:aws:iam::123456789012:group/Developers
arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_A/Developers
arn:aws:iam::123456789012:role/S3Access
arn:aws:iam::123456789012:role/application_abc/component_xyz/RDSAccess
arn:aws:iam::123456789012:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer
arn:aws:iam::123456789012:role/service-role/QuickSightAction
arn:aws:iam::123456789012:policy/UsersManageOwnCredentials
arn:aws:iam::123456789012:policy/division_abc/subdivision_xyz/UsersManageOwnCredentials
arn:aws:iam::123456789012:instance-profile/Webserver
arn:aws:sts::123456789012:federated-user/JohnDoe
arn:aws:sts::123456789012:assumed-role/Accounting-Role/JaneDoe
arn:aws:sts::123456789012:self
arn:aws:iam::123456789012:mfa/JaneDoeMFA
arn:aws:iam::123456789012:u2f/user/JohnDoe/default (U2F security key)
arn:aws:iam::123456789012:server-certificate/ProdServerCert
arn:aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert
arn:aws:iam::123456789012:saml-provider/ADFSProvider
arn:aws:iam::123456789012:oidc-provider/GoogleProvider
arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/a1b2c3d4567890abcdefEXAMPLE11111
arn:aws:iam::123456789012:oidc-provider/server.example.org
Les exemples suivants fournissent plus de détails pour vous aider à comprendre le format ARN pour différents types de ressources IAM et AWS STS.
-
Un utilisateur IAM dans le compte :
Note
Chaque nom d'utilisateur IAM est unique. Le nom d'utilisateur est sensible à la casse pour l'utilisateur, par exemple lors du processus de connexion, mais il l'est également lorsque vous l'utilisez dans une politique ou dans le cadre d'un ARN.
arn:aws:iam::123456789012:user/JohnDoe
-
Un autre utilisateur avec un chemin reflétant un organigramme :
arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/JaneDoe
-
Pour un groupe d'utilisateurs IAM :
arn:aws:iam::123456789012:group/Developers
-
Un groupe d'utilisateurs IAM avec un chemin :
arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_A/Developers
-
Un rôle IAM :
arn:aws:iam::123456789012:role/S3Access
-
arn:aws:iam::123456789012:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer
-
Un rôle de service :
arn:aws:iam::123456789012:role/service-role/QuickSightAction
-
Une politique gérée :
arn:aws:iam::123456789012:policy/ManageCredentialsPermissions
-
Un profil d'instance qui peut être associé à une instance Amazon EC2 :
arn:aws:iam::123456789012:instance-profile/Webserver
-
Un utilisateur fédéré identifié dans IAM sous le nom de « Paulo » :
arn:aws:sts::123456789012:federated-user/Paulo
-
La session active d'une personne endossant le rôle de « Comptable », avec le nom de session de rôle « Mary » :
arn:aws:sts::123456789012:assumed-role/Accounting-Role/Mary
-
Représente la propre session de l’appelant lorsqu’elle est utilisée comme ressource dans un appel d’API, tel que l’API AWS STS SetContext, qui opère sur la session d’appel :
arn:aws:sts::123456789012:self
-
L'appareil MFA (Multi-Factor Authentication) attribué à l'utilisateur nommé Jorge :
arn:aws:iam::123456789012:mfa/Jorge
-
Un certificat de serveur :
arn:aws:iam::123456789012:server-certificate/ProdServerCert
-
Un certificat de serveur avec un chemin qui reflète un organigramme :
arn:aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert
-
Fournisseurs d'identité (SAML et OIDC) :
arn:aws:iam::123456789012:saml-provider/ADFSProvider arn:aws:iam::123456789012:oidc-provider/GoogleProvider arn:aws:iam::123456789012:oidc-provider/server.example.org
-
Un fournisseur d'identité OIDC avec un chemin qui reflète l'URL d'un fournisseur d'identité OIDC d'Amazon EKS :
arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/a1b2c3d4567890abcdefEXAMPLE11111
Autre ARN important : celui de l'utilisateur racine. Bien qu'il ne s'agisse pas d'une ressource IAM, vous devez connaître le format de cet ARN. Il est souvent utilisé dans l'élément Principal d'une stratégie.
-
L'Compte AWS affiche les éléments suivants :
arn:aws:iam::123456789012:root
L'exemple suivant montre une politique que vous pouvez affecter à Richard afin de lui permettre de gérer ses clés d'accès. Notez que la ressource est l'utilisateur IAM Richard.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ManageRichardAccessKeys",
"Effect": "Allow",
"Action": [
"iam:*AccessKey*",
"iam:GetUser"
],
"Resource": "arn:aws:iam::*:user/division_abc/subdivision_xyz/Richard"
},
{
"Sid": "ListForConsole",
"Effect": "Allow",
"Action": "iam:ListUsers",
"Resource": "*"
}
]
}
Note
Lorsque vous utilisez des ARN pour identifier des ressources dans une politique IAM, vous pouvez inclure des variables de politique. Les variables de politique peuvent inclure des espaces réservés pour les informations d'exécution (notamment le nom de l'utilisateur) comme faisant partie de l'ARN. Pour plus d'informations, veuillez consulter Éléments des politiques IAM : variables et balises.
Utilisation de caractères génériques et de chemins dans les ARN
Vous pouvez utiliser des caractères génériques dans la partie ressource
de l’ARN pour spécifier plusieurs utilisateurs, groupes IAM ou politiques. Par exemple, pour spécifier tous les utilisateurs travaillant sur le produit_1234, vous utilisez :
arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/*
Si vous avez des utilisateurs dont le nom commence par la chaîne app_
, vous pouvez faire référence à tous ces utilisateurs avec l'ARN suivant.
arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/app_*
Pour spécifier tous les utilisateurs, groupes IAM ou politiques de votre Compte AWS, utilisez un caractère générique après la partie user/
, group/
ou policy/
de l’ARN, respectivement.
arn:aws:iam::123456789012:user/*
arn:aws:iam::123456789012:group/*
arn:aws:iam::123456789012:policy/*
Si vous spécifiez l'ARN suivant pour un utilisateur arn:aws:iam::111122223333:user/*
, il correspond aux deux exemples suivants.
arn:aws:iam::111122223333:user/JohnDoe
arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/JaneDoe
Mais, si vous spécifiez l'ARN suivant pour un utilisateur arn:aws:iam::111122223333:user/division_abc*
, il correspond au second exemple, mais pas au premier.
arn:aws:iam::111122223333:user/JohnDoe
arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/JaneDoe
N'utilisez pas un caractère générique dans la partie user/
, group/
ou policy/
de l'ARN. Par exemple, IAM n'autorise pas ce qui suit :
arn:aws:iam::123456789012:u*
Exemple d'utilisation des chemins et des ARN d'un groupe d'utilisateurs basé sur un projet
Les chemins ne peuvent pas être créés ou manipulés dans l'interface AWS Management Console. Pour utiliser les chemins, vous devez utiliser la ressource avec l'API AWS, la AWS CLI ou Tools for Windows PowerShell.
Dans cet exemple, Jules dans le groupe d'utilisateurs Marketing_Admin crée un groupe d'utilisateurs basé sur un projet dans le chemin /marketing/. Il attribue des utilisateurs de différentes parties de l'entreprise au groupe d'utilisateurs. Cet exemple illustre que le chemin d'un utilisateur n'est pas lié aux groupes d'utilisateurs dont fait partie l'utilisateur.
Le groupe de marketing a un nouveau produit à lancer, Jules crée un groupe d'utilisateurs sur le chemin /marketing/ appelé Widget_Launch. Jules affecte ensuite la politique suivante au groupe d'utilisateurs qui accorde à celui-ci l'accès aux objets situés dans la partie du example_bucket
désigné pour ce lancement spécifique.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::example_bucket/marketing/newproductlaunch/widget/*"
},
{
"Effect": "Allow",
"Action": "s3:ListBucket*",
"Resource": "arn:aws:s3:::example_bucket",
"Condition": {"StringLike": {"s3:prefix": "marketing/newproductlaunch/widget/*"}}
}
]
}
Jules affecte ensuite les utilisateurs qui travaillent sur ce lancement au groupe d'utilisateurs. Cela inclut Patricia et Eli du chemin /marketing/. Cela inclut également Chris et Chloe du chemin /sales/ et Alice et Jim du chemin /legal/.
Identifiants uniques
Lorsqu'IAM crée un utilisateur, un groupe d'utilisateurs, un rôle, une stratégie, un profil d'instance ou un certificat de serveur, il accorde à chaque ressource un ID unique. L'ID se présente comme suit :
AIDAJQABLZS4A3QDU576Q
En règle générale, vous avez recours à des noms conviviaux et à des ARN lorsque vous utilisez des ressources IAM. De la sorte, vous n'avez pas besoin de connaître l'ID unique d'une ressource spécifique. En revanche, l'ID unique peut parfois être utile quand il n'est pratique d'utiliser des noms conviviaux.
Voici un exemple qui illustre la réutilisation de noms conviviaux dans votre Compte AWS. Dans votre compte, un nom convivial pour un utilisateur, un groupe d'utilisateurs ou une stratégie doivent être uniques. Par exemple, vous pouvez créer un utilisateur IAM appelé John
. Votre entreprise utilise Amazon S3 et dispose d'un compartiment avec des dossiers pour chaque employé. L'utilisateur IAM John
est membre d'un groupe d'utilisateurs IAM appelé User-S3-Access
avec des autorisations qui permettent aux utilisateurs d'accéder uniquement à leurs propres dossiers dans le compartiment. Pour obtenir un exemple de création d'une stratégie basée sur l'identité qui autorise des utilisateurs IAM à accéder à leur propre objet de compartiment dans S3 à l'aide du nom convivial des utilisateurs, consultez Amazon S3 : autorise les utilisateurs IAM à accéder à leur répertoire de base S3, par programmation et dans la console.
Supposons que l'employé appelé John quitte votre entreprise et que vous supprimez l'utilisateur IAM correspondant appelé John
. Mais plus tard, un autre employé appelé John commence à travailler pour votre entreprise et vous créez un utilisateur IAM appelé John
. Vous ajoutez le nouvel utilisateur IAM appelé John
au groupe d'utilisateurs IAM User-S3-Access
existant. Si la stratégie associée au groupe d'utilisateurs spécifie le nom d''utilisateur IAM convivial John
, la stratégie permet au nouveau John d'accéder aux informations laissées par l'ancien John.
En règle générale, nous vous recommandons de spécifier l'ARN de la ressource dans vos politiques au lieu de son ID unique. En revanche, chaque utilisateur IAM dispose d'un ID unique, même si vous créez un utilisateur IAM qui réutilise un nom convivial que vous avez supprimé avant. Dans l'exemple, l'ancien utilisateur IAM John
et le nouvel utilisateur IAM John
ont des ID uniques distincts. Vous pouvez créer des politiques basées sur les ressources qui accordent l'accès par ID unique et pas seulement par nom d'utilisateur. Vous réduisez ainsi le risque d'accorder par inadvertance l'accès à des informations dont un employé ne devrait pas disposer.
L'exemple suivant montre comment spécifier des ID uniques dans l'élément Principal principal d'une stratégie basée sur les ressources.
"Principal": {
"AWS": [
"arn:aws:iam::111122223333
:role/role-name
",
"AIDACKCEVSQ6C2EXAMPLE
",
"AROADBQP57FF2AEXAMPLE
"
}
L'exemple suivant montre comment spécifier des ID uniques dans l'élément Condition principal d'une stratégie en utilisant une clé de condition globale aws:userid.
"Condition": { "StringLike": { "aws:userId": [ "
AIDACKCEVSQ6C2EXAMPLE
", "AROADBQP57FF2AEXAMPLE
:role-session-name
", "AROA1234567890EXAMPLE
:*
", "111122223333
" ] } }
Un autre exemple dans lequel les ID d'utilisateur puevent être utiles c'est lorsque vous maintenez votre propre base de données (ou autre moyen de stockage) d'un utilisateur IAM ou d'informations sur les rôles. L'ID unique peut fournir un identifiant unique pour chaque utilisateur IAM que vous créez. Cela reste vrai lorsque vous avez des utilisateurs IAM ou des rôles qui réutilisent un nom, comme dans l'exemple précédent.
Présentation des préfixes d'ID uniques
IAM utilise les préfixes suivants pour indiquer le type de ressource auquel chaque ID unique s'applique. Les préfixes peuvent varier en fonction de leur date de création.
Préfixe | Type de ressource |
---|---|
ABIA | Jeton porteur de service AWS STS |
ACCA | Informations d'identification spécifiques au contexte |
AGPA |
Groupe d'utilisateurs |
AIDA |
Utilisateur IAM |
AIPA | Profil d'instance Amazon EC2 |
AKIA | Clé d'accès |
ANPA |
Politique gérée |
ANVA |
La version d'une politique gérée |
APKA | Clé publique |
AROA | Rôle |
ASCA | Certificat |
ASIA |
Les ID de clé d'accès temporaire (AWS STS) utilisent ce préfixe, mais ne sont uniques qu'en combinaison avec la clé d'accès secrète et le jeton de session. |
Obtention de l'identifiant unique
L'ID unique d'une ressource IAM n'est pas disponible dans la console IAM. Pour obtenir l'ID unique, vous pouvez utiliser les commandes AWS CLI suivantes ou les appels d'API IAM.
AWS CLI:
API IAM