AWS políticas gerenciadas (predefinidas) para CodeDeploy - AWS CodeDeploy

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS políticas gerenciadas (predefinidas) para CodeDeploy

AWS aborda muitos casos de uso comuns fornecendo políticas autônomas do IAM que são criadas e administradas pela AWS. Essas políticas AWS gerenciadas concedem permissões para casos de uso comuns, para que você não precise investigar quais permissões são necessárias. Para mais informações, consulte Políticas gerenciadas pela AWS no Manual do usuário do IAM.

Lista de políticas AWS gerenciadas para CodeDeploy

As seguintes políticas AWS gerenciadas, que você pode anexar aos usuários em sua conta, são específicas para CodeDeploy:

  • AWSCodeDeployFullAccess: concede acesso total ao CodeDeploy.

    nota

    AWSCodeDeployFullAccess não fornece permissões para operações em outros serviços necessários para implantar seus aplicativos, como Amazon EC2 e Amazon S3, somente para operações específicas de. CodeDeploy

  • AWSCodeDeployDeployerAccess: concede permissão para registrar e implantar revisões.

     

  • AWSCodeDeployReadOnlyAccess: concede acesso somente leitura ao CodeDeploy.

     

  • AWSCodeDeployRole: CodeDeploy Permite:

    • leia as tags nas instâncias ou identifique as instâncias do Amazon EC2 pelos nomes de grupo do Amazon EC2 Auto Scaling.

    • leia, crie, atualize e exclua grupos, ganchos do ciclo de vida, políticas de escalabilidade e recursos de grupos de alta atividade do Amazon EC2 Auto Scaling

    • publique informações nos tópicos do Amazon SNS.

    • recuperar informações sobre os alarmes da Amazon CloudWatch

    • leia e atualize recursos no serviço Elastic Load Balancing

    A política contém o código a seguir:

    { "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: concede CodeDeploy permissão para acessar AWS Lambda e qualquer outro recurso necessário para uma implantação.

     

  • AWSCodeDeployRoleForECS: concede CodeDeploy permissão para acessar o Amazon ECS e qualquer outro recurso necessário para uma implantação.

     

  • AWSCodeDeployRoleForECSLimited: concede CodeDeploy permissão para acessar o Amazon ECS e qualquer outro recurso necessário para uma implantação, com as seguintes exceções:

    • Na hooks seção do AppSpec arquivo, somente funções Lambda com nomes que começam com CodeDeployHook_ podem ser usadas. Para ter mais informações, consulte AppSpec seção 'hooks' para uma implantação do Amazon ECS.

    • O acesso ao bucket do S3 é limitado a buckets do S3 com uma tag de registro, UseWithCodeDeploy, com um valor de true. Para obter mais informações, consulte Marcação de objetos.

  • AmazonEC2RoleforAWSCodeDeployLimited: concede CodeDeploy permissão para obter e listar objetos em um bucket CodeDeploy do Amazon S3. A política contém o código a seguir:

    { "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" } } } ] }

As permissões para alguns aspectos do processo de implantação são concedidas a dois outros tipos de função que atuam em nome de CodeDeploy:

  • Um perfil de instância do IAM é um perfil do IAM que você anexa às suas instâncias do Amazon EC2. Esse perfil inclui as permissões necessárias para acessar os buckets ou GitHub repositórios do Amazon S3 em que os aplicativos são armazenados. Para ter mais informações, consulte Etapa 4: criar um perfil de instância do IAM para as suas instâncias do Amazon EC2.

  • Uma função de serviço é uma função do IAM que concede permissões a um AWS serviço para que ele possa acessar AWS recursos. As políticas que você anexa à função de serviço determinam quais AWS recursos o serviço pode acessar e as ações que ele pode realizar com esses recursos. Para CodeDeploy, uma função de serviço é usada para o seguinte:

    • Para ler as tags aplicadas às instâncias ou aos nomes de grupo do Amazon EC2 Auto Scaling associados a essas instâncias. Isso permite CodeDeploy identificar instâncias nas quais ele pode implantar aplicativos.

    • Para realizar operações em instâncias, grupos do Amazon EC2 Auto Scaling e balanceadores de carga do Elastic Load Balancing.

    • Para publicar informações nos tópicos do Amazon SNS para que as notificações possam ser enviadas quando ocorrerem eventos específicos de implantação ou instância.

    • Para recuperar informações sobre CloudWatch alarmes para configurar o monitoramento de alarmes para implantações.

    Para ter mais informações, consulte Etapa 2: criar uma função de serviço para CodeDeploy.

Você também pode criar políticas personalizadas do IAM para conceder permissões para CodeDeploy ações e recursos. Você anexa essas políticas personalizadas aos perfis do IAM e, em seguida, atribui os perfis aos usuários ou grupos que precisam das permissões.

CodeDeploy políticas e notificações gerenciadas

CodeDeploy suporta notificações, que podem notificar os usuários sobre mudanças importantes nas implantações. Políticas gerenciadas para CodeDeploy incluir declarações de política para funcionalidade de notificação. Para obter mais informações, consulte O que são notificações?.

Permissões relacionadas a notificações em políticas gerenciadas de acesso total

A política gerenciada AWSCodeDeployFullAccess inclui as declarações a seguir para permitir acesso total às notificações. Os usuários com essa política gerenciada aplicada também podem criar e gerenciar tópicos do Amazon SNS para notificações, assinar e cancelar a assinatura de usuários aos tópicos, listar tópicos a serem escolhidos como destinos para regras de notificação e listar clientes do AWS Chatbot configurados no 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": "*" }

Permissões relacionadas a notificações em políticas gerenciadas somente leitura

A política gerenciada AWSCodeDeployReadOnlyAccess inclui as instruções a seguir para permitir acesso somente leitura às notificações. Os usuários com essa política aplicada podem visualizar notificações de recursos, mas não podem criá-las, gerenciá-las ou inscrever-se nelas.

{ "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": "*" }

Para obter mais informações sobre o IAM e as notificações, consulte Identity and Access Management para o AWS CodeStar Notifications.