Exemples de politiques basées sur l'identité IAM pour CloudFormation - AWS CloudFormation

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.

Exemples de politiques basées sur l'identité IAM pour CloudFormation

Par défaut, les utilisateurs et les rôles ne sont pas autorisés à créer ou modifier les ressources CloudFormation. Ils ne peuvent pas non plus effectuer de tâches à l'aide de l'API AWS Management Console, AWS Command Line Interface (AWS CLI) ou de AWS l'API. Pour octroyer aux utilisateurs des autorisations d’effectuer des actions sur les ressources dont ils ont besoin, un administrateur IAM peut créer des politiques IAM. L’administrateur peut ensuite ajouter les politiques IAM aux rôles et les utilisateurs peuvent assumer les rôles. Pour de plus amples informations, veuillez consulter Définition de politiques basées sur l'identité IAM pour CloudFormation.

Les exemples suivants présentent des déclarations de politique que vous pouvez utiliser pour autoriser ou refuser l'autorisation d'utiliser une ou plusieurs CloudFormation actions.

Exiger une URL de modèle spécifique

La politique suivante accorde l'autorisation d'utiliser uniquement l'URL du https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template modèle pour créer ou mettre à jour une pile.

{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack", "cloudformation:UpdateStack" ], "Resource" : "*", "Condition" : { "StringEquals" : { "cloudformation:TemplateUrl" : [ "https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template" ] } } } ] }

Refuser toutes les opérations CloudFormation d'importation

La politique suivante accorde des autorisations pour effectuer toutes les CloudFormation opérations à l'exception des opérations d'importation.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllStackOperations", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" }, { "Sid": "DenyImport", "Effect": "Deny", "Action": "cloudformation:*", "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "cloudformation:ImportResourceTypes": [ "*" ] } } } ] }

Autoriser les opérations d'importation pour des types de ressources spécifiques

La politique suivante accorde des autorisations à toutes les opérations de pile, en plus des opérations d'importation uniquement sur des ressources spécifiées (dans cet exemple,AWS::S3::Bucket.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowImport", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudformation:ImportResourceTypes": [ "AWS::S3::Bucket" ] } } } ] }

Refuser les ressources IAM dans les modèles de pile

La politique suivante accorde des autorisations pour créer des piles mais refuse les demandes si le modèle de la pile inclut une ressource provenant du service IAM. Cette politique oblige également les utilisateurs à spécifier le paramètre ResourceTypes, qui est uniquement disponible pour les requêtes d' AWS CLI et d'API. Cette politique utilise des instructions de refus explicites de sorte qu'elle reste en vigueur si une autre politique accorde des autorisations supplémentaires (une instruction de refus explicite prévaut toujours sur une instruction d'autorisation explicite).

{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*" }, { "Effect" : "Deny", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAnyValue:StringLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] } } }, { "Effect": "Deny", "Action" : [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "Null": { "cloudformation:ResourceTypes": "true" } } } ] }

Autoriser la création de piles avec des types de ressources spécifiques

La politique suivante est similaire à l'exemple précédent. La politique accorde des autorisations pour créer une pile sauf si le modèle de la pile inclut une ressource provenant du service IAM. Les utilisateurs doivent également spécifier le ResourceTypes paramètre, qui n'est disponible que pour AWS CLI les demandes d'API. Cette politique est plus simple, mais n'utilise pas d'instructions de refus explicites. Elle pourrait donc être supplantée par d'autres politiques, qui accorderaient des autorisations supplémentaires.

{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAllValues:StringNotLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] }, "Null":{ "cloudformation:ResourceTypes": "false" } } } ] }

Contrôlez l'accès en fonction des actions d'API qui modifient les ressources

La politique suivante accorde l'autorisation de filtrer l'accès en fonction du nom d'une action d'API modifiant les ressources. Ceci est utilisé pour contrôler les utilisateurs APIs IAM qui peuvent ajouter ou supprimer des balises sur une pile ou un ensemble de piles. L'opération utilisée pour ajouter ou supprimer des balises doit être ajoutée en tant que valeur pour la clé de condition. La politique suivante accorde TagResource et autorise UntagResource les opérations CreateStack de mutation.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "CreateActionConditionPolicyForTagUntagResources", "Effect": "Allow", "Action": [ "cloudformation:TagResource", "cloudformation:UntagResource" ], "Resource": "*", "Condition": { "StringEquals": { "cloudformation:CreateAction": [ "CreateStack" ] } } }] }

Limitez les opérations des ensembles de piles en fonction de la région et des types de ressources

La politique suivante accorde des autorisations aux ensembles de piles gérés par les services. Un utilisateur disposant de cette politique peut uniquement effectuer des opérations sur des ensembles de piles avec des modèles contenant des types de ressources Amazon S3 (AWS::S3::*) ou le type de ressource AWS::SES::ConfigurationSet. S'il est connecté au compte de gestion de l'organisation avec un identifiant123456789012, l'utilisateur peut également effectuer des opérations uniquement sur des ensembles de piles qui ciblent l'unité d'organisation dotée d'un identifiantou-1fsfsrsdsfrewr, et ne peut effectuer des opérations que sur le jeu de piles doté d'un identifiant stack-set-id qui cible l'identifiant Compte AWS avec987654321012.

Les opérations de stack set échouent si le modèle de stack set contient des types de ressources autres que ceux spécifiés dans la stratégie, ou si les cibles de déploiement sont des unités d'organisation ou des comptes IDs autres que ceux spécifiés dans la stratégie pour les comptes de gestion et les ensembles de piles correspondants.

Ces restrictions de politique s'appliquent uniquement lorsque les opérations d'ensembles de piles ciblent les us-east-1, us-west-2, ou eu-west-2 Régions AWS.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*" ], "Resource": [ "arn:aws:cloudformation:*:*:stackset/*", "arn:aws:cloudformation:*:*:type/resource/AWS-S3-*", "arn:aws:cloudformation:us-west-2::type/resource/AWS-SES-ConfigurationSet", "arn:aws:cloudformation:*:123456789012:stackset-target/*/ou-1fsfsrsdsfrewr", "arn:aws:cloudformation:*:123456789012:stackset-target/stack-set-id/987654321012" ], "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudformation:TargetRegion": [ "us-east-1", "us-west-2", "eu-west-1" ] } } } ] }

Autoriser toutes les opérations du générateur IaC

La politique suivante autorise l'accès aux CloudFormation actions liées à l'analyse des ressources du générateur iAC et à la gestion des modèles. La première instruction autorise la description, la liste et le lancement d'analyses de ressources. Il permet également d'accéder à des autorisations supplémentaires requises (cloudformation:GetResourcecloudformation:ListResources, etcloudformation:ListTypes) qui permettent au générateur IaC de récupérer des informations sur les ressources et les types de ressources disponibles. La deuxième déclaration accorde les autorisations complètes pour créer, supprimer, décrire, répertorier et mettre à jour les modèles générés.

Vous devez également accorder des autorisations de lecture pour les AWS services cibles à toute personne qui analysera les ressources avec le générateur IaC. Pour de plus amples informations, veuillez consulter Autorisations IAM requises pour numériser les ressources.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ResourceScanningOperations", "Effect":"Allow", "Action":[ "cloudformation:DescribeResourceScan", "cloudformation:GetResource", "cloudformation:ListResources", "cloudformation:ListResourceScanRelatedResources", "cloudformation:ListResourceScanResources", "cloudformation:ListResourceScans", "cloudformation:ListTypes", "cloudformation:StartResourceScan" ], "Resource":"*" }, { "Sid":"TemplateGeneration", "Effect":"Allow", "Action":[ "cloudformation:CreateGeneratedTemplate", "cloudformation:DeleteGeneratedTemplate", "cloudformation:DescribeGeneratedTemplate", "cloudformation:GetResource", "cloudformation:GetGeneratedTemplate", "cloudformation:ListGeneratedTemplates", "cloudformation:UpdateGeneratedTemplate" ], "Resource":"*" } ] }