View a markdown version of this page

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 quelles autorisations sont requises. Pour plus d’informations, consultez Politiques gérées par AWS dans le Guide de l’utilisateur IAM.

Liste des AWS politiques 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: autorise l'enregistrement et le déploiement 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 à l'aide des noms de groupe Amazon EC2 Auto Scaling

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

    • publier des informations dans les 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 :

    JSON
    { "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 :

  • 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 :

    JSON
    { "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 agissant 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 associez 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. Pour CodeDeploy, un rôle de service est utilisé pour les opérations suivantes :

    • Pour lire les balises appliquées aux instances ou les noms de groupe Amazon EC2 Auto Scaling associés aux instances. Cela permet CodeDeploy d'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 de ces autorisations.

CodeDeploy politiques et notifications gérées

CodeDeploy prend en charge les notifications pour informer les utilisateurs des modifications importantes apportées aux déploiements. Politiques gérées pour CodeDeploy inclure des déclarations de politique pour la fonctionnalité de notification. Pour plus d'informations, consultez En quoi consistent les notifications ?

Autorisations pour les notifications dans les politiques 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ésabonner des utilisateurs à des sujets, et répertorier les sujets à choisir comme cibles pour les règles de notification.

{ "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" : { "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid" : "CodeStarNotificationsChatbotAccess", "Effect" : "Allow", "Action" : [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource" : "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }

Autorisations pour les notifications dans les politiques 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 gérée peuvent voir des notifications pour les ressources, mais ne peuvent ni les créer, ni les gérer ni s'y abonner.

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

Autorisations pour les notifications dans d'autres politiques gérées

La politique AWSCodeDeployDeployerAccess gérée inclut les instructions suivantes pour permettre aux utilisateurs de créer, de mettre à jour, de s'abonner et d'afficher des notifications pour les ressources, mais ne peuvent pas les supprimer. Les utilisateurs auxquels cette politique gérée est appliquée peuvent également créer et gérer des rubriques Amazon SNS pour les notifications.

Cette politique inclut les autorisations pour effectuer les opérations suivantes :

  • codestar-notifications:CreateNotificationRule— Permet aux directeurs de créer des notifications.

  • codestar-notifications:DescribeNotificationRule— Permet aux administrateurs de récupérer des informations sur les notifications.

  • codestar-notifications:UpdateNotificationRule— Permet aux directeurs de mettre à jour les notifications.

  • codestar-notifications:Subscribe— Permet aux directeurs de s'abonner aux mises à jour des notifications.

  • codestar-notifications:Unsubscribe— Permet aux administrateurs de se désinscrire des mises à jour des notifications.

  • codestar-notifications:ListNotificationRules— Permet aux administrateurs de récupérer la liste des règles de notification.

  • codestar-notifications:ListTargets— Permet aux directeurs de récupérer la liste des cibles.

  • codestar-notifications:ListTagsforResource— Permet aux directeurs de récupérer la liste des balises.

  • codestar-notifications:ListEventTypes— Permet aux directeurs de récupérer la liste des types d'événements.

  • chatbot:DescribeSlackChannelConfiguration— Permet aux administrateurs de récupérer des informations sur les configurations des canaux Slack.

  • sns:ListTopics— Permet aux administrateurs de récupérer la liste des sujets Amazon SNS pour les notifications.

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

Pour plus d'informations, consultez la section Gestion des identités et des accès pour AWS CodeStar Notifications.