Comment attacher une stratégie gérée IAM à un rôle IAM dans AWS CloudFormation ?
Je souhaite ajouter une stratégie gérée AWS Identity and Access Management (IAM) existante ou nouvelle à un rôle IAM existant ou nouveau dans AWS CloudFormation.
Brève description
Pour ajouter une stratégie IAM gérée existante ou nouvelle à une nouvelle ressource de rôle IAM, utilisez la propriété ManagedPolicyArns applicable au type de ressource AWS::IAM::Role. Pour ajouter une nouvelle stratégie IAM gérée à une ressource de rôle IAM existante, utilisez la propriété Roles applicable au type de ressource AWS::IAM::ManagedPolicy.
Votre stratégie IAM gérée peut être une stratégie gérée par AWS ou une stratégie gérée par le client.
Important : vous pouvez attacher jusqu'à 10 stratégies gérées à un rôle ou un utilisateur IAM. La taille de chaque stratégie gérée ne peut pas dépasser 6 144 caractères. Pour plus d'informations, consultez Quotas IAM et STS.
En fonction de la situation, effectuez les étapes indiquées dans l’une des sections suivantes :
- Ajout d’une stratégie IAM gérée existante à un nouveau rôle IAM
- Ajout d’une nouvelle stratégie IAM gérée à un nouveau rôle IAM
- Ajout d’une nouvelle stratégie IAM gérée à un rôle IAM existant
Résolution
Ajout d’une stratégie IAM gérée existante à un nouveau rôle IAM
1. Dans votre modèle AWS CloudFormation, créez un ou plusieurs paramètres que vous pourrez utiliser pour transmettre l'Amazon Resource Name (ARN) de votre stratégie IAM gérée. 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'
2. Dans la section Resources (Ressources) de votre modèle, pour la ressource de type AWS። IAM። Role, définissez l’option Ref (Réf.) 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
3. Pour appliquer votre stratégie IAM gérée existante à votre nouveau rôle IAM, créez une pile ou mettez à jour une pile existante en fonction de votre modèle AWS CloudFormation modifié.
Ajout d’une nouvelle stratégie IAM gérée à un nouveau rôle IAM
1. Dans votre modèle AWS CloudFormation, créez une stratégie en utilisant 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: "*"
2. Adoptez la syntaxe d'identification logique !Ref pour associer la ressource applicable à la stratégie IAM gérée à la ressource AWS::IAM::Role.
Par exemple, définissez l’option Ref (Réf.) sur l’identifiant logique 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
3. Pour appliquer votre nouvelle stratégie IAM gérée à votre nouveau rôle IAM, créez une pile ou mettez à jour une pile existante en fonction de votre modèle AWS CloudFormation modifié.
Ajout d’une nouvelle stratégie IAM gérée à un rôle IAM existant
1. Dans votre modèle AWS CloudFormation, créez un paramètre que vous pourrez 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
2. Dans la section Resources (Ressources) de votre modèle, pour la ressource de type AWS::IAM::ManagedPolicy, définissez l’option Ref (Réf.) sur le paramètre que vous avez créé à l’étape 1 (awsExampleRolesParameter). 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
3. Pour appliquer votre nouvelle stratégie IAM gérée à votre rôle IAM existant, créez une pile ou mettez à jour une pile existante en fonction de votre modèle AWS CloudFormation modifié.
Vidéos associées
Contenus pertinents
- demandé il y a 2 anslg...
- demandé il y a 3 moislg...
- demandé il y a 9 moislg...
- demandé il y a un anlg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a 3 ans
- AWS OFFICIELA mis à jour il y a 7 mois