

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á.

# Gerenciamento de identidade e acesso para AWS CodeDeploy
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) é uma ferramenta AWS service (Serviço da AWS) que ajuda o administrador a controlar com segurança o acesso aos AWS recursos. Os administradores do IAM controlam quem pode ser *autenticado* (conectado) e *autorizado* (tem permissões) a usar CodeDeploy os recursos. O IAM é um AWS service (Serviço da AWS) que você pode usar sem custo adicional.

**Topics**
+ [

## Público
](#security_iam_audience)
+ [

## Autenticação com identidades
](#security_iam_authentication)
+ [

## Gerenciar o acesso usando políticas
](#security_iam_access-manage)
+ [

# Como AWS CodeDeploy funciona com o IAM
](security_iam_service-with-iam.md)
+ [

# AWS políticas gerenciadas (predefinidas) para CodeDeploy
](managed-policies.md)
+ [

# CodeDeploy atualizações nas políticas AWS gerenciadas
](managed-policies-updates.md)
+ [

# AWS CodeDeploy exemplos de políticas baseadas em identidade
](security_iam_id-based-policy-examples.md)
+ [

# Solução de problemas AWS CodeDeploy de identidade e acesso
](security_iam_troubleshoot.md)
+ [

# CodeDeploy referência de permissões
](auth-and-access-control-permissions-reference.md)
+ [

# Prevenção contra o ataque do “substituto confuso” em todos os serviços
](security_confused_deputy.md)

## Público
<a name="security_iam_audience"></a>

A forma como você usa AWS Identity and Access Management (IAM) difere com base na sua função:
+ **Usuário do serviço**: solicite permissões ao seu administrador se você não conseguir acessar os atributos (consulte [Solução de problemas AWS CodeDeploy de identidade e acesso](security_iam_troubleshoot.md)).
+ **Administrador do serviço**: determine o acesso do usuário e envie solicitações de permissão (consulte [Como AWS CodeDeploy funciona com o IAM](security_iam_service-with-iam.md))
+ **Administrador do IAM**: escreva políticas para gerenciar o acesso (consulte [AWS CodeDeploy exemplos de políticas baseadas em identidade](security_iam_id-based-policy-examples.md))

## Autenticação com identidades
<a name="security_iam_authentication"></a>

A autenticação é a forma como você faz login AWS usando suas credenciais de identidade. Você deve estar autenticado como usuário do IAM ou assumindo uma função do IAM. Usuário raiz da conta da AWS

Você pode fazer login como uma identidade federada usando credenciais de uma fonte de identidade como Centro de Identidade do AWS IAM (IAM Identity Center), autenticação de login único ou credenciais. Google/Facebook Para ter mais informações sobre como fazer login, consulte [Como fazer login em sua Conta da AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) no *Guia do usuário do Início de Sessão da AWS *.

Para acesso programático, AWS fornece um SDK e uma CLI para assinar solicitações criptograficamente. Para ter mais informações, consulte [AWS Signature Version 4 para solicitações de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) no *Guia do usuário do IAM*.

### Conta da AWS usuário root
<a name="security_iam_authentication-rootuser"></a>

 Ao criar um Conta da AWS, você começa com uma identidade de login chamada *usuário Conta da AWS raiz* que tem acesso completo a todos Serviços da AWS os recursos. É altamente recomendável não usar o usuário-raiz em tarefas diárias. Consulte as tarefas que exigem credenciais de usuário-raiz em [Tarefas que exigem credenciais de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) no *Guia do usuário do IAM*. 

### Usuários e grupos
<a name="security_iam_authentication-iamuser"></a>

Um *[usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* é uma identidade com permissões específicas para uma única pessoa ou aplicação. É recomendável usar credenciais temporárias, em vez de usuários do IAM com credenciais de longo prazo. Para obter mais informações, consulte [Exigir que usuários humanos usem a federação com um provedor de identidade para acessar AWS usando credenciais temporárias](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) no *Guia do usuário do IAM*.

Um [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica um conjunto de usuários do IAM e facilita o gerenciamento de permissões para grandes conjuntos de usuários. Para ter mais informações, consulte [Casos de uso de usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) no *Guia do usuário do IAM*.

### Perfis do IAM
<a name="security_iam_authentication-iamrole"></a>

Uma *[perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* é uma identidade com permissões específicas que oferece credenciais temporárias. Você pode assumir uma função [mudando de um usuário para uma função do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou chamando uma operação de AWS API AWS CLI ou. Para saber mais, consulte [Métodos para assumir um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) no *Manual do usuário do IAM*.

Os perfis do IAM são úteis para acesso de usuário federado, permissões de usuário do IAM temporárias, acesso entre contas, acesso entre serviços e aplicações em execução no Amazon EC2. Consulte mais informações em [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

## Gerenciar o acesso usando políticas
<a name="security_iam_access-manage"></a>

Você controla o acesso AWS criando políticas e anexando-as a AWS identidades ou recursos. Uma política define permissões quando associada a uma identidade ou recurso. AWS avalia essas políticas quando um diretor faz uma solicitação. A maioria das políticas é armazenada AWS como documentos JSON. Para ter mais informações sobre documentos de política JSON, consulte [Visão geral das políticas JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) no *Guia do usuário do IAM*.

Por meio de políticas, os administradores especificam quem tem acesso a que, definindo qual **entidade principal** pode realizar **ações** em quais **recursos** e sob quais **condições**.

Por padrão, usuários e perfis não têm permissões. Um administrador do IAM cria políticas do IAM e as adiciona aos perfis, os quais os usuários podem então assumir. As políticas do IAM definem permissões, independentemente do método usado para realizar a operação.

### Políticas baseadas em identidade
<a name="security_iam_access-manage-id-based-policies"></a>

As políticas baseadas em identidade são documentos de políticas de permissão JSON que você anexa a uma identidade (usuário, grupo ou perfil). Essas políticas controlam quais ações as identidades podem realizar, em quais recursos e sob quais condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

As políticas baseadas em identidade podem ser políticas *em linha* (incorporadas diretamente em uma única identidade) ou *políticas gerenciadas* (políticas autônomas anexadas a várias identidades). Para saber como escolher entre uma política gerenciada e políticas em linha, consulte [Escolher entre políticas gerenciadas e políticas em linha](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) no *Guia do usuário do IAM*.

### Outros tipos de política
<a name="security_iam_access-manage-other-policies"></a>

AWS oferece suporte a tipos de políticas adicionais que podem definir o máximo de permissões concedidas por tipos de políticas mais comuns:
+ **Limites de permissões**: definem o número máximo de permissões que uma política baseada em identidade pode conceder a uma entidade do IAM. Para saber mais sobre limites de permissões, consulte [Limites de permissões para identidades do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) no *Guia do usuário do IAM*.
+ **Políticas de controle de serviço (SCPs)** — Especifique as permissões máximas para uma organização ou unidade organizacional em AWS Organizations. Para saber mais, consulte [Políticas de controle de serviço](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) no *Guia do usuário do AWS Organizations *.
+ **Políticas de controle de recursos (RCPs)** — Defina o máximo de permissões disponíveis para recursos em suas contas. Para obter mais informações, consulte [Políticas de controle de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) no *Guia AWS Organizations do usuário*.
+ **Políticas de sessão**: políticas avançadas transmitidas como um parâmetro durante a criação de uma sessão temporária para um perfil ou um usuário federado. Para saber mais, consulte [Políticas de sessão](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) no *Guia do usuário do IAM*.

### Vários tipos de política
<a name="security_iam_access-manage-multiple-policies"></a>

Quando vários tipos de política são aplicáveis a uma solicitação, é mais complicado compreender as permissões resultantes. Para saber como AWS determinar se uma solicitação deve ser permitida quando vários tipos de políticas estão envolvidos, consulte [Lógica de avaliação de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) no *Guia do usuário do IAM*.

# Como AWS CodeDeploy funciona com o IAM
<a name="security_iam_service-with-iam"></a>

Antes de usar o IAM para gerenciar o acesso CodeDeploy, você deve entender quais recursos do IAM estão disponíveis para uso CodeDeploy. Para obter mais informações, consulte [Serviços da AWS que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

**Topics**
+ [

## CodeDeploy políticas baseadas em identidade
](#security_iam_service-with-iam-id-based-policies)
+ [

## CodeDeploy políticas baseadas em recursos
](#security_iam_service-with-iam-resource-based-policies)
+ [

## Autorização baseada em CodeDeploy tags
](#security_iam_service-with-iam-tags)
+ [

## CodeDeploy Funções do IAM
](#security_iam_service-with-iam-roles)

## CodeDeploy políticas baseadas em identidade
<a name="security_iam_service-with-iam-id-based-policies"></a>

Com as políticas baseadas em identidade do IAM, você pode especificar ações e recursos permitidos ou negados e as condições sob as quais as ações são permitidas ou negadas. CodeDeploy suporta ações, recursos e chaves de condição. Para obter informações sobre os elementos usados em uma política JSON, consulte [Referência de elementos de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

### Ações
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. Incluem ações em uma política para conceder permissões para executar a operação associada.

As ações de política CodeDeploy usam o `codedeploy:` prefixo antes da ação. Por exemplo, a permissão `codedeploy:GetApplication` concede ao usuário permissões para executar a operação `GetApplication`. As declarações de política devem incluir um `NotAction` elemento `Action` ou. CodeDeploy define seu próprio conjunto de ações que descrevem as tarefas que você pode executar com esse serviço.

Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:

```
"Action": [
      "codedeploy:action1",
      "codedeploy:action2"
```

Você também pode especificar várias ações usando caracteres curinga (\$1). Por exemplo, inclua a seguinte ação para especificar todas as ações que começam com a palavra `Describe`:

```
"Action": "ec2:Describe*"
```



Para ver uma lista de CodeDeploy ações, consulte [Ações definidas por AWS CodeDeploy](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodedeploy.html#awscodedeploy-actions-as-permissions) no *Guia do usuário do IAM*.

Para ver uma tabela que lista todas as ações da CodeDeploy API e os recursos aos quais elas se aplicam, consulte[CodeDeploy referência de permissões](auth-and-access-control-permissions-reference.md).

### Recursos
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\$1) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```



Por exemplo, você pode indicar um grupo de implantação (*myDeploymentGroup*) em sua declaração usando seu ARN da seguinte forma:

```
"Resource": "arn:aws:codedeploy:us-west-2:123456789012:deploymentgroup:myApplication/myDeploymentGroup"
```

Também é possível especificar todos os grupos de implantação que pertencem a uma conta usando o caractere curinga (\$1) da seguinte maneira:

```
"Resource": "arn:aws:codedeploy:us-west-2:123456789012:deploymentgroup:*"
```

Para especificar todos os recursos, ou se uma ação de API não for compatível ARNs, use o caractere curinga (\$1) no `Resource` elemento da seguinte forma:

```
"Resource": "*"
```

Algumas ações CodeDeploy da API aceitam vários recursos (por exemplo,`BatchGetDeploymentGroups`). Para especificar vários recursos em uma única instrução, separe-os ARNs com vírgulas, da seguinte forma:

```
"Resource": ["arn1", "arn2"]
```

CodeDeploy fornece um conjunto de operações para trabalhar com os CodeDeploy recursos. Para ver uma lista das operações disponíveis, consulte [CodeDeploy referência de permissões](auth-and-access-control-permissions-reference.md).

Para ver uma lista dos tipos de CodeDeploy recursos e seus ARNs, consulte [Resources Defined by AWS CodeDeploy](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodedeploy.html) no *Guia do usuário do IAM*. Para obter informações sobre as ações nas quais é possível especificar o ARN de cada recurso, consulte [Ações definidas pelo AWS CodeDeploy](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodedeploy.html#awscodedeploy-actions-as-permissions).

#### CodeDeploy recursos e operações
<a name="arn-formats"></a>

Em CodeDeploy, o recurso principal é um grupo de implantação. Em uma política, você usa um Amazon Resource Name (ARN) para identificar o recurso ao qual a política se aplica. CodeDeploy oferece suporte a outros recursos que podem ser usados com grupos de implantação, incluindo aplicativos, configurações de implantação e instâncias. Estes são chamados de sub-recursos. Esses recursos e sub-recursos têm uma ARNs associação exclusiva com eles. Para obter mais informações, consulte [os nomes de recursos da Amazon (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) no *Referência geral da Amazon Web Services*.


| Tipo de atributo | Formato ARN | 
| --- | --- | 
| Grupo de implantação |  `arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name`  | 
| Aplicação |  `arn:aws:codedeploy:region:account-id:application:application-name`  | 
| Configuração de implantação |  `arn:aws:codedeploy:region:account-id:deploymentconfig:deployment-configuration-name`   | 
| Instância |  `arn:aws:codedeploy:region:account-id:instance/instance-ID`  | 
|  Todos os CodeDeploy recursos  |  `arn:aws:codedeploy:*`  | 
|  Todos os CodeDeploy recursos pertencentes à conta especificada na região especificada  |  `arn:aws:codedeploy:region:account-id:*`  | 

**nota**  
A maioria dos serviços em AWS trata dois pontos (:) ou uma barra invertida (/) como o mesmo caractere em. ARNs No entanto, CodeDeploy usa uma correspondência exata nos padrões e regras dos recursos. Use os caracteres corretos do ARN ao criar padrões de evento, de modo que eles correspondam à sintaxe do ARN no recurso.

### Chaves de condição
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

CodeDeploy não fornece nenhuma chave de condição específica do serviço, mas oferece suporte ao uso de algumas chaves de condição globais. Para obter mais informações, consulte [Chaves de contexto de condição global da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.



### Exemplos
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para ver exemplos de políticas CodeDeploy baseadas em identidade, consulte. [AWS CodeDeploy exemplos de políticas baseadas em identidade](security_iam_id-based-policy-examples.md)

## CodeDeploy políticas baseadas em recursos
<a name="security_iam_service-with-iam-resource-based-policies"></a>

CodeDeploy não oferece suporte a políticas baseadas em recursos. Para ver um exemplo de uma página detalhada de políticas baseadas em recursos, consulte [Usando políticas baseadas em recursos](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) para. AWS Lambda

## Autorização baseada em CodeDeploy tags
<a name="security_iam_service-with-iam-tags"></a>

CodeDeploy não oferece suporte à marcação de recursos ou ao controle de acesso com base em tags.

## CodeDeploy Funções do IAM
<a name="security_iam_service-with-iam-roles"></a>

Uma [função do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) é uma entidade na sua AWS conta que tem permissões específicas.

### Usando credenciais temporárias com CodeDeploy
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

É possível usar credenciais temporárias para fazer login com federação, assumir um perfil do IAM ou assumir um perfil entre contas. Você obtém credenciais de segurança temporárias chamando operações de AWS STS API, como [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

CodeDeploy suporta o uso de credenciais temporárias. 

### Perfis vinculados ao serviço
<a name="security_iam_service-with-iam-roles-service-linked"></a>

CodeDeploy não oferece suporte a funções vinculadas a serviços.

### Perfis de serviço
<a name="security_iam_service-with-iam-roles-service"></a>

Esse atributo permite que um serviço assuma um [perfil de serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) em seu nome. O perfil permite que o serviço acesse recursos em outros serviços para concluir uma ação em seu nome. As funções de serviço aparecem na sua AWS conta e são de propriedade da conta. Isso significa que um usuário pode alterar as permissões para esse perfil. Porém, fazer isso pode alterar a funcionalidade do serviço.

CodeDeploy suporta funções de serviço. 

### Escolha de uma função do IAM em CodeDeploy
<a name="security_iam_service-with-iam-roles-choose"></a>

Ao criar um recurso de grupo de implantação em CodeDeploy, você deve escolher uma função para permitir o acesso CodeDeploy ao Amazon EC2 em seu nome. Caso já tenha criado uma função de serviço ou uma função vinculada ao serviço, o CodeDeploy fornecerá uma lista das funções para que você escolha. É importante escolher uma função que conceda acesso para iniciar e interromper instâncias do EC2.

# AWS políticas gerenciadas (predefinidas) para CodeDeploy
<a name="managed-policies"></a>

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 saber mais, consulte [AWS Políticas gerenciadas pela ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) no *Guia do usuário do IAM*.

**Topics**
+ [

## Lista de políticas AWS gerenciadas para CodeDeploy
](#managed-policies-list)
+ [

## CodeDeploy políticas e notificações gerenciadas
](#notifications-permissions)

## Lista de políticas AWS gerenciadas para CodeDeploy
<a name="managed-policies-list"></a>

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.

   
+ <a name="ACD-policy"></a>`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:

------
#### [ 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`: 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 obter mais informações, consulte [AppSpec seção 'hooks' para uma implantação do Amazon ECS](reference-appspec-file-structure-hooks.md#appspec-hooks-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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html). 
+ <a name="EC2-policy"></a>`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:

------
#### [ 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"
                  }
              }
          }
      ]
  }
  ```

------

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 onde os aplicativos são armazenados. Para obter mais informações, consulte [Etapa 4: criar um perfil de instância do IAM para as suas instâncias do Amazon EC2](getting-started-create-iam-instance-profile.md).
+ 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 obter mais informações, consulte [Etapa 2: criar uma função de serviço para CodeDeploy](getting-started-create-service-role.md).

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
<a name="notifications-permissions"></a>

CodeDeploy oferece suporte a notificações para informar 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?](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/welcome.html).

### Permissões para notificações em políticas gerenciadas de acesso total
<a name="notifications-fullaccess"></a>

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, inscrever e cancelar a assinatura de usuários em tópicos e listar tópicos para escolher como destinos para regras de notificação.

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

### Permissões para notificações em políticas gerenciadas somente leitura
<a name="notifications-readonly"></a>

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 gerenciada aplicada podem visualizar notificações de recursos, mas não podem criá-los, gerenciá-los ou assiná-los. 

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

### Permissões relacionadas a notificações em outras políticas gerenciadas
<a name="notifications-deployer"></a>

A política gerenciada `AWSCodeDeployDeployerAccess` inclui as seguintes declarações para permitir que os usuários criem, atualizem, assinem e visualizem notificações de recursos, mas não podem excluí-las. Os usuários com essa política gerenciada aplicada também podem criar e gerenciar tópicos do Amazon SNS para notificações.

Esta política inclui permissões para fazer o seguinte:
+ `codestar-notifications:CreateNotificationRule`: permite que as entidades principais criem notificações.
+ `codestar-notifications:DescribeNotificationRule`: permite que as entidades principais recuperem informações sobre notificações.
+ `codestar-notifications:UpdateNotificationRule`: permite que as entidades principais atualizem notificações.
+ `codestar-notifications:Subscribe`: permite que as entidades principais assinem atualizações de notificações.
+ `codestar-notifications:Unsubscribe`: permite que as entidades principais cancelem a assinatura de atualizações de notificações.
+ `codestar-notifications:ListNotificationRules`: permite que as entidades principais recuperem a lista de regras de notificação.
+ `codestar-notifications:ListTargets`: permite que as entidades principais recuperem a lista de destinos.
+ `codestar-notifications:ListTagsforResource`: permite que as entidades principais recuperem a lista de tags.
+ `codestar-notifications:ListEventTypes`: permite que as entidades principais recuperem a lista de tipos de evento.
+ `chatbot:DescribeSlackChannelConfiguration`: permite que as entidades principais recuperem informações sobre as configurações do canal do Slack.
+ `sns:ListTopics`: permite que as entidades principais recuperem a lista de tópicos do Amazon SNS para notificações.

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

Para obter mais informações, consulte [Gerenciamento de identidade e acesso para CodeStar notificações da AWS](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security-iam.html).

# CodeDeploy atualizações nas políticas AWS gerenciadas
<a name="managed-policies-updates"></a>

Veja detalhes sobre as atualizações das políticas AWS gerenciadas CodeDeploy desde que esse serviço começou a rastrear essas alterações. Para obter alertas automáticos sobre alterações feitas nesta página, inscreva-se no feed de RSS em CodeDeploy [Histórico do documento](document-history.md). 


| Alteração | Descrição | Data | 
| --- | --- | --- | 
|  Política gerenciada pelo `AWSCodeDeployDeployerAccess`: atualização para uma política existente  |  Atualização da ação `codestar-notifications:NotificationsForResource` para comportar alterações de validação da política do IAM. O recurso original `arn:aws:codedeploy:*` foi atualizado para `arn:aws:codedeploy:*:*:application:*`. Para obter mais informações sobre essa política, consulte [Permissões relacionadas a notificações em outras políticas gerenciadas](managed-policies.md#notifications-deployer).  |  16 de dezembro de 2024  | 
|  Política gerenciada pelo `AWSCodeDeployReadOnlyAccess`: atualização para uma política existente  |  Atualização da ação `codestar-notifications:NotificationsForResource` para comportar alterações de validação da política do IAM. O recurso original `arn:aws:codedeploy:*` foi atualizado para `arn:aws:codedeploy:*:*:application:*`. Para obter mais informações sobre essa política, consulte [Permissões para notificações em políticas gerenciadas somente leitura](managed-policies.md#notifications-readonly).  |  16 de dezembro de 2024  | 
|  Política gerenciada pelo `AWSCodeDeployFullAccess`: atualização para uma política existente  |  Atualização da ação `codestar-notifications:NotificationsForResource` para comportar alterações de validação da política do IAM. O recurso original `arn:aws:codedeploy:*` foi atualizado para `arn:aws:codedeploy:*:*:application:*`. Para obter mais informações sobre essa política, consulte [Permissões para notificações em políticas gerenciadas de acesso total](managed-policies.md#notifications-fullaccess).  |  16 de dezembro de 2024  | 
|  Política gerenciada pelo `AWSCodeDeployRole`: atualização para uma política existente  |  As `elasticloadbalancing:DescribeLoadBalancerAttributes` ações e `elasticloadbalancing:DescribeTargetGroupAttributes` foram adicionadas à declaração de política para apoiar as alterações do Elastic Load Balancing. Para obter mais informações sobre essa política, consulte [AWSCodeDeployRole](managed-policies.md#ACD-policy).  |  16 de agosto de 2023  | 
|  Política gerenciada pelo `AWSCodeDeployFullAccess`: atualização para uma política existente  |  A ação `chatbot:ListMicrosoftTeamsChannelConfigurations` foi adicionada à declaração de política para apoiar as alterações nas notificações. Para obter mais informações sobre essa política, consulte [AWSCodeDeployRole](managed-policies.md#ACD-policy).  |  11 de maio de 2023  | 
|  Política gerenciada pelo `AWSCodeDeployRole`: atualização para uma política existente  |  A ação ` autoscaling:CreateOrUpdateTags` foi adicionada à declaração de política para apoiar as alterações de autorização do Amazon EC2 Auto Scaling. Para obter mais informações sobre essa política, consulte [AWSCodeDeployRole](managed-policies.md#ACD-policy).  |  3 de fevereiro de 2023  | 
|  Política gerenciada pelo `AmazonEC2RoleforAWSCodeDeployLimited`: atualização para uma política existente  |  A ação `s3:ListBucket` foi removida da declaração de política que inclui a condição `s3:ExistingObjectTag/UseWithCodeDeploy`. Para obter mais informações sobre essa política, consulte [AmazonEC2RoleforAWSCodeDeployLimited](managed-policies.md#EC2-policy).  |  22 de novembro de 2021  | 
|  Política gerenciada pelo `AWSCodeDeployRole`: atualização para uma política existente  |  A ação `autoscaling:PutWarmPool` foi adicionada para oferecer suporte à [adição de grupos de alta atividade aos grupos do Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html#add-warm-pool-console/ec2/userguide/ec2-auto-scaling-warm-pools.html#add-warm-pool-console) para implantações azul/verde. Ações duplicadas desnecessárias foram removidas.  |  18 de maio de 2021  | 
|  CodeDeploy começou a rastrear alterações  |  CodeDeploy começou a rastrear as mudanças em suas políticas AWS gerenciadas.  |  18 de maio de 2021  | 

# AWS CodeDeploy exemplos de políticas baseadas em identidade
<a name="security_iam_id-based-policy-examples"></a>

Por padrão, os usuários não têm permissão para criar ou modificar CodeDeploy recursos. Eles também não podem realizar tarefas usando a AWS API Console de gerenciamento da AWS AWS CLI, ou. Você deve criar políticas do IAM que concedam aos perfis do IAM permissão para executar operações da API nos recursos necessários especificados. Em seguida, você precisa anexar esses perfis do IAM aos usuários ou grupos que exigem essas permissões.

Para saber como criar uma política baseada em identidade do IAM utilizando esses exemplos de documentos de política JSON, consulte [Criar políticas na guia JSON ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) no *Guia do usuário do IAM*.

Em CodeDeploy, políticas baseadas em identidade são usadas para gerenciar permissões para os vários recursos relacionados ao processo de implantação. É possível controlar o acesso aos seguintes tipos de recursos:
+ Aplicativos e revisões de aplicativo.
+ Implantações.
+ Configurações de implantação.
+ Instâncias e instâncias no local.

As capacidades controladas por políticas de recursos variam de acordo com o tipo de recurso, conforme descrito na tabela a seguir:


****  

|  Resource types  |  Capacidades  | 
| --- | --- | 
|  Todos  |  Visualizar e listar detalhes sobre recursos  | 
|  Aplicativos Configurações de implantação Grupos de implantação  |  Criar recursos do  Excluir recursos  | 
|  Implantações  |  Criar implantações Parar implantações  | 
|  Revisões de aplicativo  |  Registrar revisões de aplicativo  | 
|  Aplicativos Grupos de implantação  |  Recursos atualizados  | 
|  Instâncias on-premises  |  Adicionar tags a instâncias Remover tags de instâncias Registrar instâncias Cancelar o registro de instâncias  | 

O exemplo a seguir mostra uma política de permissões que permite que um usuário exclua o grupo de implantação chamado **WordPress\$1DepGroup** associado ao aplicativo chamado **WordPress\$1App** na região **us-west-2**.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:DeleteDeploymentGroup"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:deploymentgroup:WordPress_App/WordPress_DepGroup"
      ]
    }
  ]
}
```

------

**Topics**
+ [

## Exemplos de política gerenciada pelo cliente
](#customer-managed-policies)
+ [

## Práticas recomendadas de política
](#security_iam_service-with-iam-policy-best-practices)
+ [

## Usando o CodeDeploy console
](#security_iam_id-based-policy-examples-console)
+ [

## Permitir que os usuários visualizem suas próprias permissões
](#security_iam_id-based-policy-examples-view-own-permissions)

## Exemplos de política gerenciada pelo cliente
<a name="customer-managed-policies"></a>

Nesta seção, você pode encontrar exemplos de políticas que concedem permissões para várias CodeDeploy ações. Essas políticas funcionam quando você está usando a CodeDeploy API AWS SDKs,, ou AWS CLI a. É necessário conceder permissões adicionais para ações executadas no console. Para saber mais sobre a concessão de permissões do console, consulte [Usando o CodeDeploy console](#security_iam_id-based-policy-examples-console).



**nota**  
Todos os exemplos usam a região Oeste dos EUA (Oregon) (`us-west-2`) e contêm uma conta fictícia. IDs

 **Exemplos**
+ [Exemplo 1: Permitir permissão para realizar CodeDeploy operações em uma única região](#identity-based-policies-example-1)
+ [Exemplo 2: permitir o registro de revisões para um único aplicativo](#identity-based-policies-example-2)
+ [Exemplo 3: permitir a criação de implantações para um único grupo de implantação](#identity-based-policies-example-3)

### Exemplo 1: Permitir permissão para realizar CodeDeploy operações em uma única região
<a name="identity-based-policies-example-1"></a>

O exemplo a seguir concede permissões para realizar CodeDeploy operações somente na **us-west-2** região:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:*"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:*"
      ]
    }
  ]
}
```

------

### Exemplo 2: permitir o registro de revisões para um único aplicativo
<a name="identity-based-policies-example-2"></a>

O exemplo a seguir concede permissões para registrar revisões de aplicativo para todos os aplicativos que começam com **Test** na região **us-west-2**:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:RegisterApplicationRevision"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:application:Test*"
      ]
    }
  ]
}
```

------

### Exemplo 3: permitir a criação de implantações para um único grupo de implantação
<a name="identity-based-policies-example-3"></a>

O exemplo a seguir permite a criação de implantações para o grupo de implantação denominado **WordPress\$1DepGroup**, associado ao aplicativo denominado **WordPress\$1App**, a configuração de implantação personalizada denominada **ThreeQuartersHealthy** e qualquer revisão de aplicativos associada ao aplicativo denominado **WordPress\$1App**. Todos esses recursos estão na região **us-west-2**.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:CreateDeployment"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:deploymentgroup:WordPress_App/WordPress_DepGroup"
      ]
    },
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:GetDeploymentConfig"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:deploymentconfig:ThreeQuartersHealthy"
      ]
    },
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:GetApplicationRevision"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:application:WordPress_App"
      ]
    }
  ]
}
```

------

## Práticas recomendadas de política
<a name="security_iam_service-with-iam-policy-best-practices"></a>

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir CodeDeploy recursos em sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
+ **Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões** aos seus usuários e cargas de trabalho, use as *políticas AWS gerenciadas* que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para saber mais, consulte [Políticas gerenciadas pela AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [Políticas gerenciadas pela AWS para funções de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.
+ **Aplique permissões de privilégio mínimo**: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como *permissões de privilégio mínimo*. Para saber mais sobre como usar o IAM para aplicar permissões, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*.
+ **Use condições nas políticas do IAM para restringir ainda mais o acesso**: é possível adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, é possível escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como CloudFormation. Para saber mais, consulte [Elementos da política JSON do IAM: condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) no *Guia do usuário do IAM*.
+ **Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais**: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para saber mais, consulte [Validação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) no *Guia do Usuário do IAM*.
+ **Exigir autenticação multifator (MFA**) — Se você tiver um cenário que exija usuários do IAM ou um usuário root, ative Conta da AWS a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para saber mais, consulte [Configuração de acesso à API protegido por MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) no *Guia do Usuário do IAM*.

Para saber mais sobre as práticas recomendadas do IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

## Usando o CodeDeploy console
<a name="security_iam_id-based-policy-examples-console"></a>

Se você usa o CodeDeploy console, deve ter um conjunto mínimo de permissões que permita descrever outros AWS recursos para sua AWS conta. Para usar CodeDeploy no CodeDeploy console, você deve ter permissões dos seguintes serviços:
+ Amazon EC2 Auto Scaling
+ AWS CodeDeploy
+ Amazon Elastic Compute Cloud
+ Elastic Load Balancing
+ AWS Identity and Access Management
+ Amazon Simple Storage Service
+ Amazon Simple Notification Service
+ Amazon CloudWatch

Se você criar uma política do IAM que seja mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para os usuários que têm um perfil com essa política do IAM. Para garantir que esses usuários ainda possam usar o CodeDeploy console, anexe também a política `AWSCodeDeployReadOnlyAccess` gerenciada à função atribuída ao usuário, conforme descrito em[AWS políticas gerenciadas (predefinidas) para CodeDeploy](managed-policies.md).

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para a API AWS CLI ou para a CodeDeploy API.

## Permitir que os usuários visualizem suas próprias permissões
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando a API AWS CLI ou AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# Solução de problemas AWS CodeDeploy de identidade e acesso
<a name="security_iam_troubleshoot"></a>

Use as informações a seguir para ajudá-lo a diagnosticar e corrigir problemas comuns que você pode encontrar ao trabalhar com CodeDeploy um IAM.

**Topics**
+ [

## Não estou autorizado a realizar iam: PassRole
](#security_iam_troubleshoot-passrole)
+ [

## Quero permitir que pessoas fora da minha AWS conta acessem meus CodeDeploy recursos
](#security_iam_troubleshoot-cross-account-access)

## Não estou autorizado a realizar iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Se você receber uma mensagem de erro informando que não está autorizado a executar a ação `iam:PassRole`, as suas políticas devem ser atualizadas para permitir que você passe uma função para o CodeDeploy.

Alguns Serviços da AWS permitem que você passe uma função existente para esse serviço em vez de criar uma nova função de serviço ou uma função vinculada ao serviço. Para fazê-lo, você deve ter permissões para passar o perfil para o serviço.

O exemplo de erro a seguir ocorre quando uma usuária do IAM chamada `marymajor` tenta utilizar o console para executar uma ação no CodeDeploy. No entanto, a ação exige que o serviço tenha permissões concedidas por um perfil de serviço. Mary não tem permissões para passar o perfil para o serviço.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Nesse caso, as políticas de Mary devem ser atualizadas para permitir que ela realize a ação `iam:PassRole`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Quero permitir que pessoas fora da minha AWS conta acessem meus CodeDeploy recursos
<a name="security_iam_troubleshoot-cross-account-access"></a>

É possível criar um perfil que os usuários de outras contas ou pessoas fora da organização podem usar para acessar seus recursos. É possível especificar quem é confiável para assumir o perfil. Para serviços que oferecem suporte a políticas baseadas em recursos ou listas de controle de acesso (ACLs), você pode usar essas políticas para conceder às pessoas acesso aos seus recursos.

Para saber mais, consulte:
+ Para saber se é CodeDeploy compatível com esses recursos, consulte[Como AWS CodeDeploy funciona com o IAM](security_iam_service-with-iam.md).
+ Para saber como fornecer acesso aos seus recursos em todos os Contas da AWS que você possui, consulte Como [fornecer acesso a um usuário do IAM em outro Conta da AWS que você possui](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) no *Guia do usuário do IAM*.
+ Para saber como fornecer acesso aos seus recursos a terceiros Contas da AWS, consulte Como [fornecer acesso Contas da AWS a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) no *Guia do usuário do IAM*.
+ Para saber como conceder acesso por meio da federação de identidades, consulte [Conceder acesso a usuários autenticados externamente (federação de identidades)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) no *Guia do usuário do IAM*.
+ Para saber a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

# CodeDeploy referência de permissões
<a name="auth-and-access-control-permissions-reference"></a>

Use a tabela a seguir ao configurar o acesso e escrever políticas de permissões que podem ser anexadas a uma identidade do IAM (políticas baseadas em identidade). A tabela lista cada operação da CodeDeploy API, as ações para as quais você pode conceder permissões para realizar a ação e o formato do ARN do recurso a ser usado para conceder permissões. Você especifica as ações no campo `Action` das políticas. Você especifica um ARN, com ou sem um caractere curinga (\$1), como o valor do recurso no campo `Resource` das políticas.

Você pode usar chaves AWS de condição abrangentes em suas CodeDeploy políticas para expressar condições. Para obter uma lista completa AWS de chaves gerais, consulte [Chaves disponíveis](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) no *Guia do usuário do IAM*.

Para especificar uma ação, use o prefixo `codedeploy:` seguido pelo nome da operação API (por exemplo, `codedeploy:GetApplication` e `codedeploy:CreateApplication`). Para especificar várias ações em uma única declaração, separe-as com vírgulas (por exemplo, `"Action": ["codedeploy:action1", "codedeploy:action2"]`).

**Usando caracteres curinga**

Você pode usar um caractere curinga (\$1) no seu ARN para especificar várias ações ou recursos. Por exemplo, `codedeploy:*` especifica todas as CodeDeploy ações e `codedeploy:Get*` especifica todas as CodeDeploy ações que começam com a palavra. `Get` O exemplo a seguir concede acesso a todos os grupos de implantação com nomes que começam com `West` e estão associados a aplicativos com nomes que começam com `Test`. 

```
arn:aws:codedeploy:us-west-2:444455556666:deploymentgroup:Test*/West*
```

É possível usar curingas com os seguintes recursos listados na tabela:
+ *application-name*
+ *deployment-group-name*
+ *deployment-configuration-name*
+ *instance-ID*

Os curingas não podem ser usados com *region* ou*account-id*. Para obter mais informações sobre curingas, consulte [Identificadores do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html), no *Manual do usuário do IAM*. 

**nota**  
 No ARN de cada ação, dois-pontos (:) vêm logo após o recurso. Você também pode usar uma barra (/) para vir logo após o recurso. Para obter mais informações, consulte o [CodeDeployexemplo ARNs](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-codedeploy). 

Use as barras de rolagem para ver o restante da tabela.


**CodeDeploy Operações de API e permissões necessárias para ações**  

| CodeDeploy Operações de API | Permissões obrigatórias (ações de API) | Recursos | 
| --- | --- | --- | 
|  [AddTagsToOnPremisesInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_AddTagsToOnPremisesInstances.html)  |  `codedeploy:AddTagsToOnPremisesInstances` Necessário para adicionar tags a uma ou mais instâncias on-premises.  |  arn:aws:codedeploy: ::instance/ *region* *account-id* *instance-ID*  | 
|  [BatchGetApplicationRevisions](https://docs.aws.amazon.com/codedeploy/latest/APIReference/BatchGetApplicationRevisions.html)  |  `codedeploy:BatchGetApplicationRevisions` Necessário para obter informações sobre várias revisões de aplicativo associadas ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: *region* *account-id* *application-name*  | 
|  [BatchGetApplications](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetApplications.html)  |  `codedeploy:BatchGetApplications` Necessário para obter informações sobre vários aplicativos associados ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: \$1 *region* *account-id*  | 
| [BatchGetDeploymentGroups](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeploymentGroups.html) |  `codedeploy:BatchGetDeploymentGroups` Necessário para obter informações sobre vários grupos de implantação associados ao usuário do .  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
| [BatchGetDeploymentInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeploymentInstances.html) | codedeploy:BatchGetDeploymentInstancesNecessário para obter informações sobre uma ou mais instâncias em um grupo de implantação. |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [BatchGetDeployments](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeployments.html)  |  `codedeploy:BatchGetDeployments` Necessário para obter informações sobre várias implantações associadas ao usuário do .  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [BatchGetOnPremisesInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetOnPremisesInstances.html)  |  `codedeploy:BatchGetOnPremisesInstances` Necessário para obter informações sobre uma ou mais instâncias on-premises.  |  arn: aws:codedeploy::: \$1 *region* *account-id*  | 
|  [ContinueDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ContinueDeployment.html)  |  `codedeploy:ContinueDeployment` Necessário durante uma blue/green implantação para iniciar o processo de registro de instâncias em um ambiente substituto com um balanceador de carga do Elastic Load Balancing.  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [CreateApplication](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateApplication.html)  |  `codedeploy:CreateApplication` Necessário para criar um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: *region* *account-id* *application-name*  | 
|  [CreateDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html)¹  |  `codedeploy:CreateDeployment` Necessário para criar uma implantação para um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [CreateDeploymentConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentConfig.html)  |  `codedeploy:CreateDeploymentConfig` Necessário para criar uma configuração de implantação personalizada associada ao usuário do .  |  arn:aws:codedeploy: ::deploymentconfig: *region* *account-id* *deployment-configuration-name*   | 
|  [CreateDeploymentGroup](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentGroup.html)  |  `codedeploy:CreateDeploymentGroup` Necessário para criar um grupo de implantação para um aplicativo associado ao usuário.  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [DeleteApplication](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteApplication.html)  |  `codedeploy:DeleteApplication` Necessário para excluir um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: *region* *account-id* *application-name*  | 
|  [DeleteDeploymentConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteDeploymentConfig.html)  |  `codedeploy:DeleteDeploymentConfig` Necessário para excluir uma configuração de implantação personalizada associada ao usuário do .  |  arn:aws:codedeploy: ::deploymentconfig: *region* *account-id* *deployment-configuration-name*   | 
|  [DeleteDeploymentGroup](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteDeploymentGroup.html)  |  `codedeploy:DeleteDeploymentGroup` Necessário para excluir um grupo de implantação para um aplicativo associado ao usuário.  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [DeregisterOnPremisesInstance](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeregisterOnPremisesInstance.html)  |  `codedeploy:DeregisterOnPremisesInstance` Necessário para cancelar o registro de uma instância on-premises.  |  arn:aws:codedeploy: ::instance/ *region* *account-id* *instance-ID*  | 
|  [GetApplication](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetApplication.html)  |  `codedeploy:GetApplication` Necessário para obter informações sobre um único aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: *region* *account-id* *application-name*  | 
|  [GetApplicationRevision](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetApplicationRevision.html)  |  `codedeploy:GetApplicationRevision` Necessário para obter informações sobre uma única revisão de aplicativo para um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: *region* *account-id* *application-name*  | 
|  [GetDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeployment.html)  |  `codedeploy:GetDeployment` Necessário para obter informações sobre uma única implantação em um grupo de implantação para um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [GetDeploymentConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentConfig.html)  |  `codedeploy:GetDeploymentConfig` Necessário para obter informações sobre uma única configuração de implantação associada ao usuário do .  |  arn:aws:codedeploy: ::deploymentconfig: *region* *account-id* *deployment-configuration-name*   | 
|  [GetDeploymentGroup](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentGroup.html)  |  `codedeploy:GetDeploymentGroup` Necessário para obter informações sobre um único grupo de implantação para um aplicativo associado ao usuário.  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [GetDeploymentInstance](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentInstance.html)  |  `codedeploy:GetDeploymentInstance` Necessário para obter informações sobre uma única instância em uma implantação associada ao usuário do .  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [GetDeploymentTarget](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentTarget.html)  |  `codedeploy:GetDeploymentTarget` Obrigatório para obter informações sobre um destino em uma implantação associada ao usuário do .  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [GetOnPremisesInstance](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetOnPremisesInstance.html)  |  `codedeploy:GetOnPremisesInstance` Necessário para obter informações sobre uma única instância on-premises.  |  arn:aws:codedeploy: ::instance/ *region* *account-id* *instance-ID*  | 
|  [ListApplicationRevisions](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListApplicationRevisions.html)  |  `codedeploy:ListApplicationRevisions` Necessário para obter informações sobre todas as revisões de aplicativo para um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: \$1 *region* *account-id*  | 
|  [ListApplications](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListApplications.html)  |  `codedeploy:ListApplications` Necessário para obter informações sobre todos os aplicativos associados ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: \$1 *region* *account-id*  | 
|  [ListDeploymentConfigs](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentConfigs.html)  |  `codedeploy:ListDeploymentConfigs` Necessário para obter informações sobre todas as configurações de implantação associadas ao usuário do .  |  arn:aws:codedeploy: ::deploymentconfig: \$1 *region* *account-id*  | 
|  [ListDeploymentGroups](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentGroups.html)  |  `codedeploy:ListDeploymentGroups` Necessário para obter informações sobre todos os grupos de implantação de um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::grupo de implantação: /\$1 *region* *account-id* *application-name*  | 
|  [ListDeploymentInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentInstances.html)  |  `codedeploy:ListDeploymentInstances` Necessário para obter informações sobre todas as instâncias em uma implantação associada ao usuário ou à AWS conta.  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [ListDeployments](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeployments.html)  |  `codedeploy:ListDeployments` Necessário para obter informações sobre todas as implantações em um grupo de implantação associado ao usuário, ou para obter todas as implantações associadas ao usuário.  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [ListDeploymentTargets](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentTargets.html)  |  `codedeploy:ListDeploymentTargets` Obrigatório para obter informações sobre todos os destinos em uma implantação associada ao usuário.  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [ListGitHubAccountTokenNames](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListGitHubAccountTokenNames.html)  |  `codedeploy:ListGitHubAccountTokenNames` Necessário para obter uma lista dos nomes das conexões armazenadas GitHub nas contas.   |  arn: aws:codedeploy::: \$1 *region* *account-id*  | 
|  [ListOnPremisesInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListOnPremisesInstances.html)  |  `codedeploy:ListOnPremisesInstances` Necessário para obter uma lista de um ou mais nomes de instâncias on-premises.  |  arn: aws:codedeploy::: \$1 *region* *account-id*  | 
|  PutLifecycleEventHookExecutionStatus  |  `codedeploy:PutLifecycleEventHookExecutionStatus` Obrigatório para fornecer notificação sobre o status da execução de um evento de gancho de ciclo de vida.  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [RegisterApplicationRevision](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RegisterApplicationRevision.html)  |  `codedeploy:RegisterApplicationRevision` Necessário para registrar informações sobre uma revisão de aplicativo para um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: *region* *account-id* *application-name*  | 
|  [RegisterOnPremisesInstance](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RegisterOnPremisesInstance.html)  |  `codedeploy:RegisterOnPremisesInstance` Necessário para registrar uma instância local no CodeDeploy.  |  arn:aws:codedeploy: ::instance/ *region* *account-id* *instance-ID*  | 
|  [RemoveTagsFromOnPremisesInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RemoveTagsFromOnPremisesInstances.html)  |  `codedeploy:RemoveTagsFromOnPremisesInstances` Necessário para remover tags de uma ou mais instâncias on-premises.  |  arn:aws:codedeploy: ::instance/ *region* *account-id* *instance-ID*  | 
|  [SkipWaitTimeForInstanceTermination](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_SkipWaitTimeForInstanceTermination.html)  |  `codedeploy:SkipWaitTimeForInstanceTermination` Necessário em uma blue/green implantação para substituir um tempo de espera especificado e começar a encerrar instâncias no ambiente original imediatamente.  |  arn:aws:codedeploy: ::instance/ *region* *account-id* *instance-ID*  | 
|  [StopDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_StopDeployment.html)  |  `codedeploy:StopDeployment` Necessário para interromper uma implantação em andamento em um grupo de implantação para um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  [UpdateApplication](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_UpdateApplication.html)³  |  `codedeploy:UpdateApplication` Necessário para alterar informações sobre um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::aplicativo: *region* *account-id* *application-name*  | 
|  [UpdateDeploymentGroup](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_UpdateDeploymentGroup.html)³  |  `codedeploy:UpdateDeploymentGroup` Necessário para alterar informações sobre um único grupo de implantação para um aplicativo associado ao usuário do .  |  arn:aws:codedeploy: ::grupo de implantação:/*region**account-id**application-name**deployment-group-name*  | 
|  ¹ Ao especificar permissões `CreateDeployment`, também é necessário especificar permissões `GetDeploymentConfig` para a configuração de implantação e permissões `GetApplicationRevision` ou `RegisterApplicationRevision` para a revisão do aplicativo. Além disso, se você incluir o parâmetro `overrideAlarmConfiguration` em sua chamada de API `CreateDeployment`, deverá especificar a permissão `UpdateDeploymentGroup`. ² Válido para `ListDeployments` ao fornecer um grupo de implantação específico, mas não ao listar todas as implantações associadas ao usuário. ³ Para `UpdateApplication`, é necessário ter permissões `UpdateApplication` para os nomes de aplicativos novos e antigos. Para ações `UpdateDeploymentGroup` que envolvem a alteração do nome de um grupo de implantação, é necessário ter permissões `UpdateDeploymentGroup` para os nomes de grupos de implantação novos e antigos.   | 

# Prevenção contra o ataque do “substituto confuso” em todos os serviços
<a name="security_confused_deputy"></a>

“Confused deputy” é um problema de segurança no qual uma entidade sem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Em AWS, a falsificação de identidade entre serviços pode resultar em um problema confuso de delegado. A personificação entre serviços pode ocorrer quando um serviço (o serviço de chamada) chama outro serviço (o serviço chamado). O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. Para evitar isso, AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com diretores de serviços que receberam acesso aos recursos em sua conta. 

Recomendamos usar as chaves de contexto de condição SourceAccount global [aws: SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) [e aws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) nas políticas de recursos para limitar as permissões que CodeDeploy concedem outro serviço ao recurso. Se você utilizar ambas as chaves de contexto de condição global e o valor de `aws:SourceArn` contiver o ID da conta, o valor de `aws:SourceAccount` e a conta no valor de `aws:SourceArn` deverão utilizar o mesmo ID de conta quando utilizados na mesma declaração da política. Use `aws:SourceArn` se quiser que apenas um recurso seja associado ao acesso entre serviços. Use `aws:SourceAccount` se quiser que qualquer recurso nessa conta seja associado ao uso entre serviços.

Para implantações EC2/locais, AWS Lambda e Amazon ECS regulares, o valor de deve `aws:SourceArn` incluir o ARN do CodeDeploy grupo de implantação com o qual pode assumir a função do IAM. CodeDeploy 

Para [implantações azul/verde do Amazon ECS criadas por meio](deployments-create-ecs-cfn.md) de CloudFormation, o valor de `aws:SourceArn` deve incluir o CloudFormation ARN da pilha com o qual CodeDeploy é permitido assumir a função do IAM.

A maneira mais eficaz de se proteger contra o problema do substituto confuso é usar a chave `aws:SourceArn` com o ARN completo do recurso. Se você não souber o ARN completo ou estiver especificando vários recursos, use caracteres curingas (\$1) para as partes desconhecidas.

Por exemplo, você pode usar a seguinte política de confiança com uma implantação EC2/local, AWS Lambda ou regular do Amazon ECS:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "codedeploy.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:codedeploy:us-east-1:111122223333:deploymentgroup:myApplication/*"
                }
            }
        }
    ]
}
```

------

Para uma [implantação azul/verde do Amazon ECS criada por meio](deployments-create-ecs-cfn.md) de CloudFormation, você pode usar:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "codedeploy.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyCloudFormationStackName/*"
                }
            }
        }
    ]
}
```

------