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.
Octroi d’autorisations à un utilisateur pour transférer un rôle à un service AWS
Pour configurer de nombreux AWS services, vous devez leur transmettre un rôle IAM. Cela autorise le service à assumer ultérieurement le rôle et à effectuer des actions en votre nom. Pour la plupart des services, il vous suffit de transférer le rôle au service une fois au cours de la configuration, et non chaque fois que le service assume le rôle. Supposons, par exemple, qu'une application s'exécute sur une EC2 instance Amazon. Cette application a besoin d'informations d'identification temporaires pour l'authentification et d'autorisations pour autoriser l'application à exécuter des actions dans AWS. Lorsque vous configurez l'application, vous devez transmettre un rôle à Amazon EC2 à utiliser avec l'instance qui fournit ces informations d'identification. Vous définissez les autorisations pour les applications s'exécutant sur l'instance en attachant une politique IAM au rôle. L'application endosse le rôle chaque fois qu'elle doit effectuer les actions qui sont autorisées par le rôle.
Pour transmettre un rôle (et ses autorisations) à un AWS service, un utilisateur doit disposer des autorisations nécessaires pour transmettre le rôle au service. Cela permet aux administrateurs de s'assurer que seuls les utilisateurs autorisés peuvent configurer un service avec un rôle qui accorde des autorisations. Pour permettre à un utilisateur de transmettre un rôle à un AWS service, vous devez accorder l'PassRole
autorisation à l'utilisateur, au rôle ou au groupe IAM de l'utilisateur.
Avertissement
-
Vous ne pouvez utiliser cette
PassRole
autorisation que pour transmettre un rôle IAM à un service qui partage le même AWS compte. Pour transmettre un rôle du compte A à un service du compte B, vous devez d'abord créer un rôle IAM dans le compte B qui peut assumer le rôle du compte A, puis le rôle du compte B peut être transmis au service. Pour en savoir plus, consultez Accès intercompte aux ressources dans IAM. -
N'essayez pas de contrôler les personnes susceptibles de faire passer un rôle en étiquetant ce rôle, puis en utilisant la clé de condition
ResourceTag
dans une politique avec l'actioniam:PassRole
. Cette approche ne produit pas des résultats fiables.
Lors de la définition de l’autorisation PassRole
, vous devez vous assurer qu’un utilisateur ne transfère pas un rôle ayant plus d’autorisations que ce que vous souhaitez pour l’utilisateur. Par exemple, Alice n’est peut-être pas autorisée à effectuer des actions Amazon S3. Si Alice pouvait transmettre un rôle à un service autorisant 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.
Lorsque vous spécifiez un rôle lié à un service, vous devez également posséder l'autorisation de transmettre ce rôle au service. Certains services créent automatiquement un rôle lié à un service dans votre compte lorsque vous effectuez une action dans ce service. Par exemple, Amazon EC2 Auto Scaling crée le rôle AWSServiceRoleForAutoScaling
lié à un service pour vous lorsque vous créez un groupe Auto Scaling pour la première fois. Si vous essayez de spécifier le rôle lié au service lorsque vous créez un groupe Auto Scaling sans l'autorisation iam:PassRole
, vous recevez une erreur. Si vous ne spécifiez pas explicitement le rôle, l'autorisation iam:PassRole
n'est pas requise et la valeur par défaut est d'utiliser le rôle AWSServiceRoleForAutoScaling
pour toutes les opérations effectuées sur ce groupe. Pour savoir quels services prennent en charge les rôles liés à un service, veuillez consulter AWS services qui fonctionnent avec IAM. Pour savoir quels services créent automatiquement un rôle lié à un service lorsque vous effectuez une action dans ce service, choisissez le lien Oui et consultez la documentation relative au rôle lié à un service pour le service.
Un utilisateur peut transmettre un ARN de rôle comme paramètre dans n'importe quelle opération d'API qui utilise le rôle pour attribuer des autorisations au service. Le service vérifie ensuite si cet utilisateur dispose de l'autorisation iam:PassRole
. Pour que l'utilisateur transfère uniquement les rôles approuvés, vous pouvez filtrer l'autorisation iam:PassRole
à l'aide de l'élément Resources
de l'instruction de politique IAM.
Vous pouvez utiliser Condition
cet élément dans une politique JSON pour tester la valeur des clés incluses dans le contexte de toutes les AWS demandes. Pour en savoir plus sur l'utilisation des clés de condition dans une politique, consultez la section Éléments de politique JSON IAM : Condition. La clé de condition iam:PassedToService
peut être utilisée pour spécifier le principal de service du service auquel un rôle peut être transmis. Pour en savoir plus sur l'utilisation de la clé de iam:PassedToService
condition dans une politique, consultez iam : PassedToService.
Exemple 1
Supposons que vous souhaitiez autoriser un utilisateur à transmettre un ensemble de rôles approuvés au EC2 service Amazon lors du lancement d'une instance. Vous avez besoin de trois éléments :
-
Une politique d'autorisations IAM attachée au rôle qui détermine les opérations pouvant être exécutées par le rôle. Limitez les autorisations aux seules actions nécessaires pour le rôle et aux seules ressources dont le rôle a besoin pour exécuter ces actions. Vous pouvez utiliser une politique d' AWS autorisations IAM gérée ou créée par le client.
-
Une politique d'approbation pour le rôle, qui permet au service d'endosser le rôle. Par exemple, vous pourriez attacher la politique d'approbation suivante au rôle avec l'action
UpdateAssumeRolePolicy
. Cette politique de confiance permet EC2 à Amazon d'utiliser le rôle et les autorisations associées à ce rôle. -
Une politique d'autorisations IAM attachée à l'utilisateur IAM, qui permet à l'utilisateur de transférer uniquement les rôles qui sont approuvés. Vous ajoutez généralement
iam:GetRole
àiam:PassRole
pour que l'utilisateur puisse obtenir les détails du rôle à transférer. Dans cet exemple, l'utilisateur peut transférer uniquement les rôles qui existent dans le compte spécifié avec des noms commençant par l'interfaceEC2-roles-for-XYZ-
:
L'utilisateur peut désormais démarrer une EC2 instance Amazon avec un rôle assigné. Les applications qui s'exécutent sur l'instance peuvent accéder à des informations d'identification temporaires pour le rôle via les métadonnées du profil d'instance. Les politiques d'autorisations attachées au rôle déterminent ce que peut faire l'instance.
Exemple 2
Amazon Relational Database Service (Amazon RDS) prend en charge une fonction appelée surveillance améliorée. Cette fonctionnalité permet à Amazon RDS de surveiller une instance de base de données grâce à un agent. Cela permet également à Amazon RDS d'enregistrer les métriques dans Amazon CloudWatch Logs. Pour activer cette fonctionnalité, vous devez créer un rôle de service pour accorder à Amazon RDS des autorisations pour surveiller et écrire des métriques dans vos journaux.
Pour créer un rôle pour la surveillance améliorée Amazon RDS
Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/
l'adresse. -
Cliquez sur Rôles, puis sur Créer un rôle.
-
Choisissez le type AWS de rôle de service, puis pour Cas d'utilisation pour les autres Services AWS, choisissez le service RDS. Choisissez RDS - Enhanced Monitoring (RDS - Surveillance améliorée), puis Next (Suivant).
-
Choisissez la politique d'RDSEnhancedMonitoringRoleautorisation d'Amazon.
-
Choisissez Suivant.
-
Pour Role name (Nom du rôle), saisissez un nom de rôle vous permettant d'identifier le but de ce rôle. Les noms de rôles doivent être uniques au sein de votre Compte AWS. Lorsqu'un nom de rôle est utilisé dans une politique ou dans le cadre d'un ARN, il est sensible à la casse. Lorsque le nom d'un rôle apparaît aux clients dans la console, par exemple lors du processus de connexion, il n'est pas sensible à la casse. Différentes entités peuvent référencer le rôle et il n'est donc pas possible de modifier son nom après sa création.
-
(Facultatif) Pour Description, saisissez une description pour le nouveau rôle.
-
(Facultatif) Ajoutez des métadonnées à l'utilisateur en associant les balises sous forme de paires clé-valeur. Pour plus d'informations sur l'utilisation des balises dans IAM, veuillez consulter Tags pour les AWS Identity and Access Management ressources.
-
Passez en revue les informations du rôle, puis choisissez Créer un rôle.
Le rôle obtient automatiquement une politique d'approbation qui accorde au service monitoring.rds.amazonaws.com
les autorisations nécessaires pour endosser le rôle. Une fois cette opération effectuée, Amazon RDS peut exécuter toutes les actions que la politique AmazonRDSEnhancedMonitoringRole
autorise.
L'utilisateur pour lequel vous souhaitez activer la surveillance améliorée a besoin d'une politique incluant une instruction lui permettant de lister les fonctions RDS et une autre lui prermettant de transférer la fonction comme suit. Utilisez votre numéro de compte et remplacez le nom du rôle par le nom fourni à l'étape 6.
{ "Sid": "PolicyStatementToAllowUserToListRoles", "Effect": "Allow", "Action": ["iam:ListRoles"], "Resource": "*" }, { "Sid": "PolicyStatementToAllowUserToPassOneSpecificRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::
account-id
:role/RDS-Monitoring-Role
" }
Vous pouvez combiner cette instruction avec des instructions d'une autre politique ou la placer dans sa propre politique. Au lieu de spécifier que l'utilisateur peut transférer un rôle commençant par RDS-
, vous pouvez remplacer le nom du rôle dans l'ARN d'une ressource par un caractère générique, comme suit.
"Resource": "arn:aws:iam::
account-id
:role/RDS-*"
Actions iam:PassRole
dans les journaux AWS CloudTrail
PassRole
n'est pas un appel d'API. PassRole
est une autorisation, ce qui signifie qu'aucun CloudTrail journal n'est généré pour IAMPassRole
. Pour vérifier quels rôles sont transférés Services AWS à qui CloudTrail, vous devez consulter le CloudTrail journal qui a créé ou modifié la AWS
ressource recevant le rôle. Par exemple, un rôle est transmis à une AWS Lambda fonction lors de sa création. le journal répertoriant l'action CreateFunction
affichera l'enregistrement du rôle qui a été transmis à la fonction.