Création d'un rôle pour déléguer des autorisations à un AWS service - AWS Gestion de l’identité et des accès

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.

Création d'un rôle pour déléguer des autorisations à un AWS service

De nombreux AWS services nécessitent que vous utilisiez des rôles pour permettre au service d'accéder aux ressources d'autres services en votre nom. Un rôle qu'un service endosse pour effectuer des actions en votre nom s'appelle un rôle de service. Lorsqu'un rôle répond à un objectif spécifique pour un service, il est classé comme un rôle lié à un service. Pour savoir quels services prennent en charge par les rôles de service liés à un service ou déterminer si un service prend en charge une forme d'informations d'identification temporaires, consultez AWS des services qui fonctionnent avec IAM. Pour découvrir comment un service individuel utilise des rôles, choisissez son nom dans le tableau pour afficher la documentation de ce service.

Lorsque vous définissez l'PassRoleautorisation, vous devez vous assurer qu'un utilisateur ne transfère pas un rôle pour lequel le rôle dispose de plus d'autorisations que vous ne le souhaitez. Par exemple, Alice n'est peut-être pas autorisée à effectuer des actions Amazon S3. Si Alice pouvait transmettre un rôle à un service qui autorise les actions Amazon S3, le service pourrait effectuer des actions Amazon S3 pour le compte d'Alice lors de l'exécution de la tâche.

Pour plus d'informations sur la façon dont les rôles aident à déléguer des autorisations, consultez Termes et concepts relatifs aux rôles.

Autorisations de fonction de service

Vous devez configurer les autorisations pour permettre à une IAM entité (utilisateur ou rôle) de créer ou de modifier un rôle de service.

Note

ARNPour un rôle lié à un service, il y a un principal de service, qui est indiqué dans les politiques suivantes sous la forme. SERVICE-NAME.amazonaws.com N'essayez pas de deviner le principal de service, car il est sensible à la casse et le format peut varier entre les services AWS . Pour afficher le principal de service d'un service, consultez la documentation de son rôle lié à un service.

Pour autoriser une IAM entité à créer un rôle de service spécifique

Ajoutez la politique suivante à l'IAMentité qui doit créer le rôle de service. Cette politique vous permet de créer un rôle lié au service spécifié et avec un nom spécifique. Vous pouvez ensuite attacher des politiques en ligne ou gérées à ce rôle.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" } ] }

Pour autoriser une IAM entité à créer n'importe quel rôle de service

AWS recommande de n'autoriser que les utilisateurs administratifs à créer un rôle de service. Une personne disposant des autorisations nécessaires pour créer un rôle et attacher n'importe quelle politique peut augmenter ses propres autorisations. Au lieu de cela, créez une politique qui l’autorise à créer uniquement les rôles dont elle a besoin ou de demander à un administrateur de créer la fonction du service en son nom.

Pour associer une politique permettant à un administrateur d'accéder à votre intégralité Compte AWS, utilisez la politique AdministratorAccess AWS gérée.

Pour autoriser une IAM entité à modifier un rôle de service

Ajoutez la politique suivante à l'IAMentité qui doit modifier le rôle de service.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EditSpecificServiceRole", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies", "iam:PutRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" }, { "Sid": "ViewRolesAndPolicies", "Effect": "Allow", "Action": [ "iam:GetPolicy", "iam:ListRoles" ], "Resource": "*" } ] }

Pour autoriser une IAM entité à supprimer un rôle de service spécifique

Ajoutez l'instruction suivante à la politique d'autorisation pour l'IAMentité qui doit supprimer le rôle de service spécifié.

{ "Effect": "Allow", "Action": "iam:DeleteRole", "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" }

Pour autoriser une IAM entité à supprimer n'importe quel rôle de service

AWS recommande de n'autoriser que les utilisateurs administratifs à supprimer un rôle de service. Au lieu de cela, créez une politique qui leur permet de supprimer uniquement les rôles dont ils ont besoin ou de demander à un administrateur de supprimer le rôle de service en leur nom.

Pour associer une politique permettant à un administrateur d'accéder à votre intégralité Compte AWS, utilisez la politique AdministratorAccess AWS gérée.

Création d'un rôle pour un AWS service (console)

Vous pouvez utiliser le AWS Management Console pour créer un rôle pour un service. Puisque certains services prennent en charge plus d'un rôle de service, consultez la documentation AWS de votre service pour savoir quel cas d'utilisation choisir. Vous pouvez apprendre à attribuer les politiques d'approbation et d'autorisation nécessaires au rôle, afin que le service puisse endosser le rôle à votre place. Les étapes que vous pouvez utiliser pour contrôler les autorisations de votre rôle peuvent varier, selon la façon dont le service définit les cas d'utilisation et si vous créez un rôle lié à un service.

Pour créer un rôle pour une Service AWS (IAMconsole)
  1. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation de la IAM console, sélectionnez Rôles, puis sélectionnez Créer un rôle.

  3. Pour Trusted entity (Entité de confiance), choisissez Service AWS.

  4. Pour Service ou cas d'utilisation, choisissez un service, puis choisissez le cas d'utilisation. Les cas d'utilisation sont définis par le service pour inclure la politique d'approbation nécessaire au service.

  5. Choisissez Suivant.

  6. Pour les politiques d'autorisations, les options dépendent du cas d'utilisation que vous avez sélectionné :

    • Si le service définit les autorisations pour le rôle, vous ne pouvez pas sélectionner de politiques d'autorisation.

    • Choisissez parmi un ensemble limité de politiques d'autorisation.

    • Choisissez parmi toutes les politiques d'autorisation.

    • Sélectionnez aucune politique d'autorisation, créez les politiques une fois le rôle créé, puis associez les politiques au rôle.

  7. (Facultatif) Définissez une limite d'autorisations. Il s’agit d’une fonctionnalité avancée disponible pour les fonctions de service, mais pas pour les rôles liés à un service.

    1. Ouvrez la section Définir les limites des autorisations, puis choisissez Utiliser une limite d'autorisations pour contrôler le nombre maximal d'autorisations de rôle.

      IAMinclut une liste des politiques AWS gérées et gérées par le client dans votre compte.

    2. Sélectionnez la politique à utiliser comme limite d'autorisations.

  8. Choisissez Suivant.

  9. Pour le nom du rôle, les options dépendent du service :

    • Si le service définit le nom du rôle, vous ne pouvez pas le modifier.

    • Si le service définit un préfixe pour le nom du rôle, vous pouvez saisir un suffixe facultatif.

    • Si le service ne définit pas le nom du rôle, vous pouvez le nommer.

      Important

      Lorsque vous nommez un rôle, tenez compte des points suivants :

      • Les noms de rôles doivent être uniques au sein du Compte AWS vôtre et ne peuvent pas être rendus uniques au cas par cas.

        Par exemple, ne créez pas de rôles nommés à la fois PRODROLE etprodrole. Lorsqu'un nom de rôle est utilisé dans une politique ou dans le cadre d'une politiqueARN, le nom du rôle distingue les majuscules et minuscules, mais lorsqu'un nom de rôle apparaît aux clients dans la console, par exemple pendant le processus de connexion, le nom du rôle ne distingue pas les majuscules et minuscules.

      • Vous ne pouvez pas modifier le nom du rôle une fois qu'il a été créé car d'autres entités peuvent y faire référence.

  10. (Facultatif) Dans Description, entrez une description pour le rôle.

  11. (Facultatif) Pour modifier les cas d'utilisation et les autorisations du rôle, dans les sections Étape 1 : Sélection des entités de confiance ou Étape 2 : Ajouter des autorisations, choisissez Modifier.

  12. (Facultatif) Pour identifier, organiser ou rechercher le rôle, ajoutez des balises sous forme de paires clé-valeur. Pour plus d'informations sur l'utilisation des balisesIAM, consultez les IAMressources relatives au balisage dans le guide de l'IAMutilisateur.

  13. Passez en revue les informations du rôle, puis choisissez Create role (Créer un rôle).

Création d'un rôle pour un service (AWS CLI)

La création d'un rôle à partir de AWS CLI implique plusieurs étapes. Lorsque vous utilisez la console pour créer un rôle, la plupart des étapes sont effectuées pour vous, mais AWS CLI vous devez effectuer chaque étape vous-même de manière explicite. Vous devez créer le rôle et lui attribuer une politique d'autorisations. Si le service avec lequel vous travaillez est AmazonEC2, vous devez également créer un profil d'instance et y ajouter le rôle. Vous pouvez également définir la limite d'autorisations pour votre rôle.

Pour créer un rôle pour un AWS service à partir du AWS CLI
  1. La commande create-role suivante crée un rôle nommé Rôle test et lui attache une politique de confiance :

    aws iam create-role --role-name Test-Role --assume-role-policy-document file://Test-Role-Trust-Policy.json

  2. Associez une politique d'autorisations gérées au rôle : aws iam attach-role-policy.

    Par exemple, la attach-role-policy commande suivante associe la politique AWS gérée nommée ReadOnlyAccess au IAM rôle nommé ReadOnlyRole :

    aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --role-name ReadOnlyRole

    or

    Créez une politique d'autorisation intégrée pour le rôle : aws iam put-role-policy

    Pour ajouter une politique d'autorisations en ligne, reportez-vous à l'exemple suivant :

    aws iam put-role-policy --role-name Test-Role --policy-name ExamplePolicy --policy-document file://AdminPolicy.json

  3. (Facultatif) Ajoutez des attributs personnalisés au rôle en associant des balises : aws iam tag-role

    Pour de plus amples informations, veuillez consulter Gestion des tags sur IAM les rôles (AWS CLI ou AWS API).

  4. (Facultatif) Définissez la limite des 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 AWS fonctionnalité avancée.

Si vous comptez utiliser le rôle auprès d'Amazon EC2 ou d'un autre AWS service utilisant AmazonEC2, vous devez le stocker dans un profil d'instance. Un profil d'instance est un conteneur pour un rôle qui peut être attaché à une EC2 instance Amazon lors de son lancement. Un profil d'instance peut contenir un rôle uniquement et cette limite ne peut pas être augmentée. Si vous créez le rôle à l'aide du AWS Management Console, le profil d'instance est créé pour vous sous le même nom que le rôle. Pour plus d'informations sur les profils d'instance, consultez Utiliser des profils d'instance. Pour plus d'informations sur le lancement d'une EC2 instance avec un rôle, consultez la section Contrôle de l'accès aux EC2 ressources Amazon dans le guide de EC2 l'utilisateur Amazon.

Pour créer un profil d'instance et y stocker le rôle (AWS CLI)
  1. Création d'un profil d'instance : aws iam create-instance-profile

  2. Ajoutez le rôle au profil d'instance : aws iam add-role-to-instance -profile

L' AWS CLI exemple de commande ci-dessous illustre les deux premières étapes de création d'un rôle et d'attribution d'autorisations. Il présente également les deux étapes de la création d'un profil d'instance et de l'ajout du rôle au profil. Cet exemple de politique de confiance permet au EC2 service Amazon d'assumer le rôle et de consulter le compartiment example_bucket Amazon S3. L'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 avec vos informations d'identification et votre région. Pour plus d'informations, voir Configuration de l'interface de ligne de AWS commande.

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 au EC2 service Amazon d'assumer ce rôle.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } }

Lorsque vous utilisez la deuxième commande, vous devez attacher une politique d'autorisations au rôle. L'exemple de politique d'autorisations suivant permet au rôle d'exécuter uniquement l'action ListBucket sur le compartiment Amazon S3 example_bucket.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::example_bucket" } }

Pour créer ce rôle Test-Role-for-EC2, vous devez d'abord enregistrer la politique de confiance précédente avec le nom trustpolicyforec2.json et la politique d'autorisations précédente avec le nom permissionspolicyforec2.json dans le répertoire policies de votre disque local C:. Vous pouvez ensuite utiliser les commandes suivantes pour créer le rôle, attacher la politique, créer le profil d'instance et ajouter le rôle au profil d'instance.

# Create the role and attach the trust policy that allows EC2 to assume this role. $ aws iam create-role --role-name Test-Role-for-EC2 --assume-role-policy-document file://C:\policies\trustpolicyforec2.json # Embed the permissions policy (in this example an inline policy) to the role to specify what it is allowed to do. $ aws iam put-role-policy --role-name Test-Role-for-EC2 --policy-name Permissions-Policy-For-Ec2 --policy-document file://C:\policies\permissionspolicyforec2.json # Create the instance profile required by EC2 to contain the role $ aws iam create-instance-profile --instance-profile-name EC2-ListBucket-S3 # Finally, add the role to the instance profile $ aws iam add-role-to-instance-profile --instance-profile-name EC2-ListBucket-S3 --role-name Test-Role-for-EC2

Lorsque vous lancez l'EC2instance, spécifiez le nom du profil de l'instance sur la page Configurer les détails de l'instance si vous utilisez la AWS console. Si vous utilisez la aws ec2 run-instances CLI commande, spécifiez le --iam-instance-profile paramètre.

Création d'un rôle pour un service (AWS API)

La création d'un rôle à partir de AWS API implique plusieurs étapes. Lorsque vous utilisez la console pour créer un rôle, la plupart des étapes sont effectuées pour vous, mais API vous devez effectuer chaque étape vous-même de manière explicite. Vous devez créer le rôle et lui attribuer une politique d'autorisations. Si le service avec lequel vous travaillez est AmazonEC2, vous devez également créer un profil d'instance et y ajouter le rôle. Vous pouvez également définir la limite d'autorisations pour votre rôle.

Pour créer un rôle pour un AWS service (AWS API)
  1. Créez un rôle : CreateRole

    Vous pouvez spécifier un emplacement de fichier pour la politique d'approbation du rôle.

  2. Associez une politique d'autorisations gérées au rôle : AttachRolePolicy

    or

    Créez une politique d'autorisation intégrée pour le rôle : PutRolePolicy

  3. (Facultatif) Ajoutez des attributs personnalisés à l'utilisateur en attachant des balises : TagRole

    Pour de plus amples informations, veuillez consulter Gestion des tags sur IAM les utilisateurs (AWS CLI ou AWS API).

  4. (Facultatif) Définissez la limite des 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 AWS fonctionnalité avancée.

Si vous comptez utiliser le rôle auprès d'Amazon EC2 ou d'un autre AWS service utilisant AmazonEC2, vous devez le stocker dans un profil d'instance. Un profil d'instance est un conteneur pour un rôle. Chaque profil d'instance peut contenir un rôle uniquement et cette limite ne peut pas être augmentée. Si vous créez le rôle dans le AWS Management Console, le profil d'instance est créé pour vous sous le même nom que le rôle. Pour plus d'informations sur les profils d'instance, consultez Utiliser des profils d'instance. Pour plus d'informations sur le lancement d'une EC2 instance Amazon avec un rôle, consultez la section Contrôle de l'accès aux EC2 ressources Amazon dans le guide de EC2 l'utilisateur Amazon.

Pour créer un profil d'instance et y stocker le rôle (AWS API)
  1. Créez un profil d'instance : CreateInstanceProfile

  2. Ajoutez le rôle au profil de l'instance : AddRoleToInstanceProfile