AWS politiques gérées (prédéfinies) pour CodeDeploy - AWS CodeDeploy

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.

AWS politiques gérées (prédéfinies) pour CodeDeploy

AWS répond à de nombreux cas d'utilisation courants en fournissant des politiques IAM autonomes créées et administrées par. AWS Ces politiques AWS gérées accordent des autorisations pour les cas d'utilisation courants afin que vous n'ayez pas à rechercher les autorisations requises. Pour plus d’informations, consultez Politiques gérées par AWS dans le Guide de l’utilisateur IAM.

Liste des politiques AWS gérées pour CodeDeploy

Les politiques AWS gérées suivantes, que vous pouvez associer aux utilisateurs de votre compte, sont spécifiques à CodeDeploy :

  • AWSCodeDeployFullAccess : accorde un accès complet à CodeDeploy.

    Note

    AWSCodeDeployFullAccess ne fournit pas d'autorisations pour les opérations dans d'autres services nécessaires au déploiement de vos applications, tels qu'Amazon EC2 et Amazon S3, uniquement pour les opérations spécifiques à. CodeDeploy

  • AWSCodeDeployDeployerAccess: accorde l'autorisation d'enregistrer et de déployer des révisions.

     

  • AWSCodeDeployReadOnlyAccess : accorde l'accès en lecture seule à CodeDeploy.

     

  • AWSCodeDeployRole: Permet CodeDeploy de :

    • lisez les balises de vos instances ou identifiez vos instances Amazon EC2 par les noms de groupes Amazon EC2 Auto Scaling

    • lire, créer, mettre à jour et supprimer des groupes Amazon EC2 Auto Scaling, des hooks de cycle de vie, des politiques de dimensionnement et des fonctionnalités de warm pool

    • publier des informations dans des rubriques Amazon SNS

    • récupérer des informations sur les CloudWatch alarmes Amazon

    • lire et mettre à jour les ressources du service Elastic Load Balancing

    La politique contient le code suivant :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:CompleteLifecycleAction", "autoscaling:DeleteLifecycleHook", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeLifecycleHooks", "autoscaling:PutLifecycleHook", "autoscaling:RecordLifecycleActionHeartbeat", "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags", "autoscaling:UpdateAutoScalingGroup", "autoscaling:EnableMetricsCollection", "autoscaling:DescribePolicies", "autoscaling:DescribeScheduledActions", "autoscaling:DescribeNotificationConfigurations", "autoscaling:SuspendProcesses", "autoscaling:ResumeProcesses", "autoscaling:AttachLoadBalancers", "autoscaling:AttachLoadBalancerTargetGroups", "autoscaling:PutScalingPolicy", "autoscaling:PutScheduledUpdateGroupAction", "autoscaling:PutNotificationConfiguration", "autoscaling:DescribeScalingActivities", "autoscaling:DeleteAutoScalingGroup", "autoscaling:PutWarmPool", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:TerminateInstances", "tag:GetResources", "sns:Publish", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetGroupAttributes", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DeregisterTargets" ], "Resource": "*" } ] }

     

  • AWSCodeDeployRoleForLambda: accorde CodeDeploy l'autorisation d'accès AWS Lambda et toute autre ressource requise pour un déploiement.

     

  • AWSCodeDeployRoleForECS: accorde CodeDeploy l'autorisation d'accéder à Amazon ECS et à toute autre ressource requise pour un déploiement.

     

  • AWSCodeDeployRoleForECSLimited: accorde CodeDeploy l'autorisation d'accéder à Amazon ECS et à toute autre ressource requise pour un déploiement, avec les exceptions suivantes :

    • Dans la hooks section du AppSpec fichier, seules les fonctions Lambda dont le nom commence par CodeDeployHook_ peuvent être utilisées. Pour de plus amples informations, veuillez consulter AppSpec section « hooks » pour un déploiement Amazon ECS.

    • L'accès aux compartiments S3 est limité aux compartiments S3 dotés d'une balise d'enregistrement, UseWithCodeDeploy, qui a la valeur true. Pour plus d'informations, consultez la section Balisage d'objets.

  • AmazonEC2RoleforAWSCodeDeployLimited: accorde CodeDeploy l'autorisation d'obtenir et de répertorier des objets dans un compartiment CodeDeploy Amazon S3. La politique contient le code suivant :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*/CodeDeploy/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/UseWithCodeDeploy": "true" } } } ] }

Les autorisations relatives à certains aspects du processus de déploiement sont accordées à deux autres types de rôles qui agissent pour le compte de CodeDeploy :

  • Un profil d'instance IAM est un rôle IAM que vous attachez à vos instances Amazon EC2. Ce profil inclut les autorisations requises pour accéder aux compartiments ou aux GitHub référentiels Amazon S3 dans lesquels les applications sont stockées. Pour de plus amples informations, veuillez consulter Étape 4 : Création d'un profil d'instance IAM pour vos instances Amazon EC2.

  • Un rôle de service est un rôle IAM qui accorde des autorisations à un AWS service afin qu'il puisse accéder aux AWS ressources. Les politiques que vous attachez au rôle de service déterminent les AWS ressources auxquelles le service peut accéder et les actions qu'il peut effectuer avec ces ressources. En CodeDeploy effet, un rôle de service est utilisé pour les opérations suivantes :

    • Pour lire les balises appliquées aux instances ou les noms de groupes Amazon EC2 Auto Scaling associés aux instances. Cela permet d' CodeDeploy identifier les instances sur lesquelles il peut déployer des applications.

    • Pour effectuer des opérations sur des instances, des groupes Amazon EC2 Auto Scaling et des équilibreurs de charge Elastic Load Balancing.

    • Publier des informations dans les rubriques Amazon SNS afin que des notifications puissent être envoyées lorsque des événements de déploiement ou d'instance spécifiés se produisent.

    • Pour récupérer des informations sur les CloudWatch alarmes afin de configurer la surveillance des alarmes pour les déploiements.

    Pour de plus amples informations, veuillez consulter Étape 2 : créer un rôle de service pour CodeDeploy.

Vous pouvez également créer des politiques IAM personnalisées pour accorder des autorisations pour les CodeDeploy actions et les ressources. Vous associez ces politiques personnalisées aux rôles IAM, puis vous attribuez les rôles aux utilisateurs ou aux groupes qui ont besoin des autorisations.

CodeDeploy politiques et notifications gérées

CodeDeploy prend en charge les notifications, qui peuvent informer les utilisateurs des modifications importantes apportées aux déploiements. Les politiques gérées CodeDeploy incluent des déclarations de politique relatives à la fonctionnalité de notification. Pour plus d'informations, consultez En quoi consistent les notifications ?

Autorisations liées aux notifications dans les stratégies gérées d'accès complet

La stratégie gérée AWSCodeDeployFullAccess inclut les déclarations suivantes pour permettre un accès complet aux notifications. Les utilisateurs auxquels cette politique gérée est appliquée peuvent également créer et gérer des sujets Amazon SNS pour les notifications, abonner et désinscrire des utilisateurs à des sujets, répertorier les sujets à choisir comme cibles pour les règles de notification et répertorier les AWS Chatbot clients configurés pour Slack.

{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" }

Autorisations liées aux notifications dans les stratégies gérées en lecture seule

La stratégie gérée AWSCodeDeployReadOnlyAccess inclut les déclarations suivantes pour autoriser l'accès en lecture seule aux notifications. Les utilisateurs auxquels s'applique cette stratégie peuvent voir des notifications pour les ressources, mais ne peuvent pas les créer, les gérer ni s'y abonner.

{ "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" }

Pour plus d'informations sur l'IAM et les notifications, consultez Identity and Access Management for AWS CodeStar Notifications.