Menu
AWS Identity and Access Management
Guide de l'utilisateur

Octroi d'autorisations à un utilisateur pour assumer un rôle

Lorsque vous créez un rôle pour un accès entre comptes, vous établissez une relation d'approbation entre le compte qui est propriétaire du rôle et des ressources (compte d'approbation) et le compte qui contient les utilisateurs (compte approuvé). Pour ce faire, vous spécifiez le numéro du compte approuvé en tant que Principal dans la stratégie d'approbation du rôle. Cela permet potentiellement à n'importe quel utilisateur du compte approuvé d'assumer le rôle. Pour achever la configuration, l'administrateur du compte approuvé doit accorder l'autorisation d'assumer ce rôle à des groupes ou utilisateurs spécifiques du compte.

Pour accorder à un utilisateur l'autorisation d'assumer un rôle, vous créez une nouvelle stratégie pour l'utilisateur ou modifiez une stratégie existante de manière à ajouter les éléments requis. Vous pouvez ensuite envoyer à l'utilisateur un lien qui le dirige vers la page Switch Role dans laquelle tous les détails sont déjà remplis. Sinon, vous pouvez lui fournir l'ID ou l'alias du compte contenant le rôle, ainsi que le nom du rôle. L'utilisateur accède ensuite à la page Switch Role et ajoute les détails manuellement. Pour plus d'informations sur la façon dont un utilisateur assume un rôle, consultez Assumer un rôle (AWS Management Console).

Notez que pour assumer un rôle, vous devez être connecté en tant qu’utilisateur IAM. Il n'est pas possible d'assumer un rôle si vous êtes connecté en tant qu’utilisateur racine du compte AWS.

Important

Vous ne pouvez pas échanger de rôles dans AWS Management Console avec un rôle qui nécessite une valeur ExternalID. Vous ne pouvez basculer vers un tel rôle qu'en appelant l'API AssumeRole qui prend en charge le paramètre ExternalID.

Remarques

  • Cette rubrique décrit les stratégies applicables à un utilisateur car au final, nous accordons des autorisations à un utilisateur pour lui permettre d'effectuer une tâche. Toutefois, la bonne pratique consiste à ne pas accorder d'autorisations directement à un utilisateur individuel. Pour faciliter la gestion, il est recommandé d'affecter des stratégies et d'accorder des autorisations à des groupes IAM, puis de faire de ces utilisateurs des membres des groupes appropriés.

  • Lorsque vous changez de rôles dans AWS Management Console, la console continue d'utiliser les informations d'identification d'origine pour autoriser le changement. Cela s'applique que vous soyez connecté en tant qu'utilisateur IAM, en tant que rôle fédéré SAML ou en tant que rôle fédéré d'identité web. Par exemple, si vous basculez sur RoleA, les informations d'identification d'utilisateur ou du rôle fédéré d'origine déterminent si vous êtes autorisé à assumer le rôle RoleA. Si vous essayez ensuite de basculer sur RoleB pendant que vous utilisez RoleA, les informations d'identification d'utilisateur ou du rôle fédéré d'origine sont toujours utilisées pour autoriser votre tentative de basculement vers RoleB, et non celles de RoleA.

Création ou modification de la stratégie

Une stratégie qui accorde à un utilisateur l'autorisation d'assumer un rôle doit inclure une déclaration avec l'effet Allow sur l'action sts:AssumeRole et l'ARN (Amazon Resource Name) du rôle dans un élément Resource, comme illustré dans l'exemple suivant. Les utilisateurs disposant de la stratégie (via l'appartenance à un groupe ou par la stratégie directement attachée) sont autorisés à assumer le rôle spécifié.

Note

Notez que si Resource est défini sur *, l'utilisateur peut assumer n'importe quel rôle dans n'importe quel compte faisant confiance au compte de l'utilisateur (la stratégie d'approbation du rôle spécifie le compte de l'utilisateur en tant que Principal). La bonne pratique consiste à appliquer le principe du moindre privilège et à spécifier l'ARN complet uniquement pour les rôles dont l'utilisateur a besoin.

L'exemple suivant illustre une stratégie qui permet à l'utilisateur d'assumer des rôles dans un seul compte et qui spécifie également, à l'aide d'un caractère générique (*), qu'il peut uniquement assumer un rôle dans ce compte si le nom du compte commence par les lettres « Test », suivies de n'importe quelle autre combinaison de caractères.

Copy
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:role/Test*" } }

Note

Les autorisations que le rôle octroie à l'utilisateur ne viennent pas s'ajouter aux autorisations dont il dispose déjà. Lorsqu'un utilisateur assume un rôle, il abandonne temporairement ses autorisations d'origine, de manière à adopter celles accordées par le rôle. Lorsqu'il quitte le rôle, ses autorisations d'origine sont automatiquement restaurées. Par exemple, si les autorisations de l'utilisateur lui permettent d'utiliser des instances Amazon EC2 mais que la stratégie d'autorisation du rôle n'accorde pas ces autorisations, il n'est pas en mesure d'utiliser d'instances Amazon EC2 dans la console tant qu'il assume le rôle et les informations d'identification temporaires obtenues via AssumeRole ne fonctionnent pas par programmation avec les instances Amazon EC2.

Fourniture d'informations à l'utilisateur

Après avoir créé un rôle et accordé à l'utilisateur les autorisations requises pour assumer le rôle, vous devez lui fournir le nom du rôle ainsi que l'ID ou l'alias du compte qui contient le rôle. Pour faciliter la tâche aux utilisateurs, vous pouvez leur envoyer un lien préconfiguré contenant l'ID du compte et le nom du rôle. Le lien est fourni sur la page finale de l'assistant Create Role ou sur la page Role Summary pour n'importe quel rôle entre comptes.

Note

Si vous créez le rôle avec l'AWS CLI, les Outils pour Windows PowerShell ou l'API AWS, vous pouvez inclure un chemin en plus du nom pour le rôle. Dans ce cas, vous devez fournir le chemin complet et le nom du rôle à vos utilisateurs afin qu'ils les saisissent sur la page Switch Role d'AWS Management Console. Par exemple : division_abc/subdivision_efg/role_XYZ.

Important

Si vous créez le rôle par programmation plutôt que dans la console IAM, vous avez la possibilité d'ajouter un élément Path de 512 caractères maximum à l'élément RoleName qui lui, est de 64 caractères maximum. Toutefois, pour utiliser un rôle avec la fonction de changement de rôle (Switch Role) dans la console AWS, l'ensemble Path et RoleName ne doit pas comporter plus de 64 caractères.

Vous pouvez également utiliser le format suivant pour créer le lien manuellement. Remplacez les deux paramètres de la requête par l'ID ou l'alias de votre compte et le nom du rôle.

https://signin.aws.amazon.com/switchrole?account=YourAccountIDorAliasHere&roleName=pathIfAny/YourRoleNameHere

Nous vous recommandons de diriger vos utilisateurs vers la rubrique Assumer un rôle (AWS Management Console) pour les guider à travers le processus.

Note

Pour des raisons de sécurité, vous pouvez utiliser AWS CloudTrail pour analyser le changement de rôle. Si CloudTrail est activé pour le compte, IAM consigne dans les journaux les actions exécutées avec les informations d'identification de sécurité temporaires du rôle. Pour plus d'informations, consultez Référence des événements CloudTrail dans le manuel AWS CloudTrail User Guide.