Comment associer une politique gérée IAM à un rôle IAM dans CloudFormation ?
Je souhaite ajouter une politique gérée par Gestion des identités et des accès AWS (AWS IAM), existante ou nouvelle, à un rôle IAM nouveau ou existant dans AWS CloudFormation.
Brève description
Pour ajouter une politique gérée IAM existante ou nouvelle à une nouvelle ressource de rôle IAM, utilisez la propriété ManagedPolicyArns du type de ressource AWS::IAM::Role. Pour ajouter une nouvelle politique gérée IAM à une ressource de rôle IAM existante, utilisez la propriété Rôles du type de ressource AWS::IAM::ManagedPolicy.
Votre politique gérée IAM peut être une politique gérée par AWS ou une politique gérée par le client.
Important : Vous pouvez associer un maximum de 20 politiques gérées à un rôle ou à un utilisateur IAM. La taille de chaque politique gérée ne peut pas dépasser 6 144 caractères. IAM ne prend pas en compte les espaces blancs lors du calcul de la taille d'une politique par rapport à cette limite. Pour plus d'informations, consultez la section Quotas IAM et STS.
En fonction de votre scénario, suivez les étapes décrites dans l'une des sections suivantes :
- Ajouter une politique gérée IAM existante à un nouveau rôle IAM
- Ajouter une nouvelle politique gérée IAM à un nouveau rôle IAM
- Ajouter une nouvelle politique gérée IAM à un rôle IAM existant
Résolution
Ajouter une politique gérée IAM existante à un nouveau rôle IAM
Procédez comme suit :
-
Dans votre modèle AWS CloudFormation, créez un ou plusieurs paramètres que vous pouvez transmettre dans l'Amazon Resource Name (ARN) de votre politique gérée IAM. Consultez les exemples JSON et YAML suivants.
JSON :
{ "AWSTemplateFormatVersion": "2010-09-09", "Parameters": { "awsExampleManagedPolicyParameterOne": { "Type": "String", "Description": "ARN of the first IAM Managed Policy to add to the role" }, "awsExampleManagedPolicyParameterTwo": { "Type": "String", "Description": "ARN of the second IAM Managed Policy to add to the role" } } }YAML :
Parameters: awsExampleManagedPolicyParameterOne: Type: String Description: 'ARN of the first IAM Managed Policy to add to the role' awsExampleManagedPolicyParameterTwo: Type: String Description: 'ARN of the second IAM Managed Policy to add to the role' -
Dans la section Ressources de votre modèle, pour la ressource de type AWS::IAM::Role, définissez Ref sur les paramètres que vous avez créés à l'étape 1. Pour cet exemple, il s'agit des paramètres awsExampleManagedPolicyParameterOne et awsExampleManagedPolicyParameterTwo. Consultez les exemples JSON et YAML suivants.
JSON :
{ "Resources": { "RootRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "ManagedPolicyArns": [ { "Ref": "awsExampleManagedPolicyParameterOne" }, { "Ref": "awsExampleManagedPolicyParameterTwo" } ] } } } }YAML :
Resources: RootRole: Type: 'AWS::IAM::Role' Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - ec2.amazonaws.com Action: - 'sts:AssumeRole' Path: / ManagedPolicyArns: - !Ref awsExampleManagedPolicyParameterOne - !Ref awsExampleManagedPolicyParameterTwo -
Pour appliquer votre politique gérée IAM existante à votre nouveau rôle IAM, créez ou mettez à jour la pile à l'aide de votre modèle CloudFormation modifié.
Ajouter une nouvelle politique gérée IAM à un nouveau rôle IAM
Procédez comme suit :
-
Dans votre modèle AWS CloudFormation, créez une nouvelle politique à l'aide de la ressource AWS::IAM::ManagedPolicy. Consultez les exemples JSON et YAML suivants.
JSON :
{ "SampleManagedPolicy": { "Type": "AWS::IAM::ManagedPolicy", "Properties": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllUsersToListAccounts", "Effect": "Allow", "Action": [ "iam:ListAccountAliases", "iam:ListUsers", "iam:GetAccountSummary" ], "Resource": "*" } ] } } } }YAML :
SampleManagedPolicy: Type: AWS::IAM::ManagedPolicy Properties: PolicyDocument: Version: '2012-10-17' Statement: - Sid: AllowAllUsersToListAccounts Effect: Allow Action: - iam:ListAccountAliases - iam:ListUsers - iam:GetAccountSummary Resource: "*" -
Utilisez la syntaxe d’ID logique !Ref pour associer la ressource de politique gérée IAM à la ressource AWS::IAM::Role.
Par exemple, définissez Ref sur l'ID logique de ressource que vous avez créé à l'étape 1 (SampleManagedPolicy). Consultez les exemples JSON et YAML suivants.
JSON :
{ "RootRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "ManagedPolicyArns": [ { "Ref": "SampleManagedPolicy" } ] } } }YAML :
RootRole: Type: 'AWS::IAM::Role' Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - ec2.amazonaws.com Action: - 'sts:AssumeRole' Path: / ManagedPolicyArns: - !Ref SampleManagedPolicy -
Pour appliquer votre nouvelle politique gérée IAM à votre nouveau rôle IAM, créez ou mettez à jour la pile à l'aide de votre modèle CloudFormation modifié.
Ajouter une nouvelle politique gérée IAM à un rôle IAM existant
Procédez comme suit :
-
Dans votre modèle AWS CloudFormation, créez un paramètre que vous pouvez utiliser pour transmettre le nom de vos rôles existants. Consultez les exemples JSON et YAML suivants.
JSON :
{ "Parameters": { "awsExampleRolesParameter": { "Type": "CommaDelimitedList", "Description": "Names of existing Roles you want to add to the newly created Managed Policy" } } }YAML :
Parameters: awsExampleRolesParameter: Type: CommaDelimitedList Description: Names of existing Roles you want to add to the newly created Managed Policy -
Dans la section Ressources de votre modèle, définissez Ref sur le paramètre que vous avez créé à l'étape 1 (awsExampleRolesParameter) dans le type de ressource AWS::IAM::ManagedPolicy. Consultez les exemples JSON et YAML suivants.
JSON :
{ "Resources": { "SampleManagedPolicy": { "Type": "AWS::IAM::ManagedPolicy", "Properties": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllUsersToListAccounts", "Effect": "Allow", "Action": [ "iam:ListAccountAliases", "iam:ListUsers", "iam:GetAccountSummary" ], "Resource": "*" } ] }, "Roles": { "Ref": "awsExampleRolesParameter" } } } } }YAML :
Resources: SampleManagedPolicy: Type: AWS::IAM::ManagedPolicy Properties: PolicyDocument: Version: '2012-10-17' Statement: - Sid: AllowAllUsersToListAccounts Effect: Allow Action: - iam:ListAccountAliases - iam:ListUsers - iam:GetAccountSummary Resource: '*' Roles: !Ref awsExampleRolesParameter -
Pour appliquer votre nouvelle politique gérée IAM à votre rôle IAM existant, créez ou mettez à jour la pile à l'aide de votre modèle CloudFormation modifié.
- Sujets
- Management & Governance
- Balises
- AWS CloudFormation
- Langue
- Français

Contenus pertinents
- demandé il y a 9 mois
- demandé il y a 2 ans
- demandé il y a 2 mois
- demandé il y a 9 mois
- demandé il y a 10 mois
AWS OFFICIELA mis à jour il y a 2 ans