Créer un rôle pour attribuer des autorisations à un utilisateur IAM
Vous pouvez utiliser des rôles IAM pour donner l’accès à vos ressources AWS. Les rôles IAM vous permettent d'établir des relations d'approbation entre votre compte d'approbation et d'autres comptes AWS approuvés. Le compte d'approbation est propriétaire des ressources auxquelles les utilisateurs ont accès , tandis que le compte approuvé contient les utilisateurs devant accéder aux ressources. Toutefois, il est possible qu'un autre compte détienne une ressource dans votre compte. Par exemple, le compte de confiance peut autoriser le compte approuvé à créer de nouvelles ressources, telles que la création de nouveaux objets dans un compartiment Amazon S3. Dans ce cas, le compte qui crée la ressource la détient et contrôle les personnes pouvant y accéder.
Une fois que vous avez créé la relation d'approbation, un utilisateur ou une application IAM du compte approuvé peut utiliser l'opération d'API AWS Security Token Service (AWS STS) AssumeRole. Cette opération fournit des informations d'identification de sécurité temporaires permettant d'accéder aux ressources AWS de votre compte.
Les deux comptes peuvent être contrôlés par vous-même, ou le compte contenant les utilisateurs peut être contrôlé par un tiers. Si l'autre compte contenant les utilisateurs est un Compte AWS que vous ne contrôlez pas, vous pouvez utiliser l'attribut externalId. L'ID externe peut être n'importe quel mot ou nombre convenu avec l'administrateur du compte tiers. Cette option ajoute automatiquement une condition à la politique d'approbation. Cette condition permet à l'utilisateur d'endosser le rôle uniquement si la demande inclut l'élément approprié sts:ExternalID. Pour de plus amples informations, consultez Accès à des Comptes AWS appartenant à des tiers.
Pour plus d'informations sur la façon d'utiliser les rôles pour déléguer des autorisations, consultez Termes et concepts relatifs aux rôles. Pour en savoir plus sur l'utilisation d'un rôle de service afin de permettre aux services l'accès aux ressources de votre compte, consultez Création d’un rôle pour la délégation d’autorisations à un service AWS.
Création d'un rôle IAM (console)
Vous pouvez utiliser la AWS Management Console pour créer un rôle qu'un utilisateur IAM peut endosser. Par exemple, supposons que votre organisation dispose de plusieurs Comptes AWS pour isoler un environnement de développement d'un environnement de production. Pour des informations générales sur la création d'un rôle autorisant les utilisateurs du compte de développement à accéder aux ressources du compte de production, consultez Exemple de scénario utilisant des comptes de développement et de production distincts.
Autorisations minimales
Pour effectuer les étapes suivantes, vous devez au moins disposer des autorisations IAM suivantes :
-
access-analyzer:ValidatePolicy -
iam:AttachRolePolicy -
iam:CreatePolicy -
iam:CreateRole -
iam:GetAccountSummary -
iam:GetPolicy -
iam:GetPolicyVersion -
iam:GetRole -
iam:ListAccountAliases -
iam:ListAttachedRolePolicies -
iam:ListOpenIDConnectProviders -
iam:ListPolicies -
iam:ListRolePolicies -
iam:ListRoles -
iam:ListRoleTags -
iam:ListSAMLProviders
Création d'un rôle IAM (AWS CLI)
La création d'un rôle à partir de la AWS CLI comporte plusieurs étapes. Lorsque vous créez un rôle à partir de la console, la plupart des étapes sont exécutées automatiquement pour vous. En revanche, lors de l'utilisation de l'AWS CLI, vous devez exécuter explicitement chaque étape vous-même. Vous devez créer le rôle et lui attribuer une politique d'autorisations. Vous pouvez également définir la limite d'autorisations pour votre rôle.
Pour créer un rôle pour l'accès entre comptes (AWS CLI)
-
Créez un rôle : aws iam create-role
-
Attachez une politique d'autorisations gérée au rôle : aws iam attach-role-policy
or
Créez une politique d'autorisations en ligne pour le rôle : aws iam put-role-policy
-
(Facultatif) Ajoutez des attributs personnalisés au rôle en associant des balises : aws iam tag-role
Pour plus d’informations, veuillez consulter Gestion des balises sur les rôles IAM (AWS CLI ou API AWS).
-
(Facultatif) Définissez la limite d'autorisations pour le rôle : aws iam put-role-permissions-boundary
Une limite d'autorisations contrôle les autorisations maximum dont un rôle peut disposer. Les limites d'autorisations constituent une fonctionnalité AWS avancée.
L'exemple suivant illustre les deux premières étapes les plus courantes pour créer un rôle entre comptes dans un environnement simple. Cet exemple permet à tout utilisateur du compte 123456789012 d'endosser le rôle et d'afficher le compartiment Amazon S3 example_bucket. Cet exemple suppose également que vous utilisiez un ordinateur client exécutant Windows et que vous ayez déjà configuré votre interface de ligne de commande à l'aide des informations d'identification et de la région de votre compte. Pour plus d’informations, consultez Configuration de l’interface de ligne de commande AWS.
Dans cet exemple, incluez la politique de confiance suivante dans la première commande lors de la création du rôle. Cette politique de confiance permet aux utilisateurs du compte 123456789012 d'endosser le rôle à l'aide de l'opération AssumeRole, mais uniquement s'ils fournissent l'authentification MFA à l'aide des paramètres SerialNumber et TokenCode. Pour plus d'informations sur l'authentification MFA, consultez Authentication multifactorielle AWS dans IAM.
Important
Si votre élément Principal contient l'ARN d'un rôle ou utilisateur IAM spécifique, alors cet ARN devient un ID du principal unique lorsque la politique est enregistrée. Cela permet de réduire le risque d'escalade des autorisations par la suppression et la nouvelle création du rôle ou de l'utilisateur. Cet ID n'est pas fréquent dans la console, car il existe également une transformation inverse, pour revenir à l'ARN, lorsque la politique d'approbation est affichée. Toutefois, si vous supprimez le rôle ou l'utilisateur, l'ID du principal s'affiche dans la console car AWS ne peut plus le faire correspondre à un ARN. Par conséquent, si vous supprimez et recréez un utilisateur ou rôle référencé dans l'élément Principal d'une politique de confiance, vous devez modifier le rôle afin de remplacer l'ARN.
Lorsque vous utilisez la deuxième commande, vous devez attacher au rôle une politique gérée existante. La politique d'autorisations suivante permet à toute personne endossant le rôle d'exécuter uniquement l'action ListBucket sur le compartiment Amazon S3 example_bucket.
Pour créer ce rôle Test-UserAccess-Role, vous devez d'abord enregistrer la précédente politique de confiance avec le nom trustpolicyforacct123456789012.json dans le dossier policies de votre disque local C:. Ensuite, enregistrez la précédente politique d'autorisations sous la forme d'une politique gérée par le client dans votre Compte AWS sous le nom PolicyForRole. Vous pouvez ensuite utiliser les commandes suivantes pour créer le rôle et attacher la politique gérée.
# Create the role and attach the trust policy file that allows users in the specified account to assume the role. $aws iam create-role --role-name Test-UserAccess-Role --assume-role-policy-document file://C:\policies\trustpolicyforacct123456789012.json# Attach the permissions policy (in this example a managed policy) to the role to specify what it is allowed to do. $aws iam attach-role-policy --role-name Test-UserAccess-Role --policy-arn arn:aws:iam::123456789012:policy/PolicyForRole
Important
N'oubliez pas que ceci ne représente que la première moitié de la configuration requise. Vous devez également accorder à des utilisateurs individuels du compte approuvé les autorisations permettant de changer de rôle. Pour plus d'informations sur cette étape, consultez Octroi d’autorisations à un utilisateur pour endosser un rôle.
Après avoir créé le rôle et lui avoir accordé les autorisations d'exécuter des tâches AWS ou d'accéder aux ressources AWS, tout utilisateur du compte 123456789012 peut endosser le rôle. Pour plus d’informations, veuillez consulter Basculer vers un rôle IAM (AWS CLI).
Création d'un rôle IAM (API AWS)
La création d'un rôle à partir de l'API AWS comporte plusieurs étapes. Lorsque vous utilisez la console pour créer un rôle, la plupart des étapes sont exécutées automatiquement pour vous, mais avec l'API vous devez exécuter explicitement chaque étape vous-même. Vous devez créer le rôle et lui attribuer une politique d'autorisations. Vous pouvez également définir la limite d'autorisations pour votre rôle.
Pour créer un rôle dans le code (API AWS)
-
Créez un rôle : CreateRole
Vous pouvez spécifier un emplacement de fichier pour la politique d'approbation du rôle.
-
Attachez une politique d'autorisation gérée au rôle : AttachRolePolicy
or
Créez une politique d'autorisation en ligne pour le rôle : PutRolePolicy
Important
N'oubliez pas que ceci ne représente que la première moitié de la configuration requise. Vous devez également accorder à des utilisateurs individuels du compte approuvé les autorisations permettant de changer de rôle. Pour plus d'informations sur cette étape, consultez Octroi d’autorisations à un utilisateur pour endosser un rôle.
-
(Facultatif) Ajoutez des attributs personnalisés à l'utilisateur en associant des balises : TagRole
Pour plus d’informations, veuillez consulter Gestion des balises sur les utilisateurs IAM (AWS CLI ou API AWS).
-
(Facultatif) Définissez la limite d'autorisations pour le rôle : PutRolePermissionsBoundary
Une limite d'autorisations contrôle les autorisations maximum dont un rôle peut disposer. Les limites d'autorisations constituent une fonctionnalité AWS avancée.
Après avoir créé le rôle et lui avoir accordé les autorisations d'exécuter des tâches AWS ou d'accéder aux ressources AWS, vous devez accorder des autorisations aux utilisateurs du compte pour leur permettre d'endosser le rôle. Pour plus d'informations sur l'endossement d'un rôle, consultez Basculer vers un rôle IAM (API AWS).
Création d'un rôle IAM (AWS CloudFormation)
Pour plus d'informations sur la création d'un rôle IAM dans AWS CloudFormation, reportez-vous à la référence sur les ressources et les propriétés et aux exemples dans le Guide de l'utilisateur AWS CloudFormation.
Pour plus d'informations sur les modèles IAM dans AWS CloudFormation, consultez les extraits de modèle AWS Identity and Access Management dans le Guide de l'utilisateur AWS CloudFormation.