

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

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

Antes de usar o IAM para gerenciar o acesso CodePipeline, você deve entender quais recursos do IAM estão disponíveis para uso CodePipeline. Para ter uma visão de alto nível de como CodePipeline e de outras coisas Serviços da AWS funcionam com o IAM, veja Serviços da AWS como [trabalhar 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**
+ [

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

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

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

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

## CodePipeline 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, é possível especificar ações permitidas ou negadas e recursos, bem como as condições sob as quais as ações são permitidas ou negadas. O CodePipeline oferece suporte a ações, recursos e chaves de condição específicos. Para conhecer todos 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 políticas CodePipeline usam o seguinte prefixo antes da ação:`codepipeline:`. 

Por exemplo, para conceder a alguém permissão para exibir os pipelines existentes na conta, inclua a ação `codepipeline:GetPipeline` em sua política. As declarações de política devem incluir um `NotAction` elemento `Action` ou. CodePipeline 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": [
      "codepipeline:action1",
      "codepipeline:action2"
```

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

```
"Action": "codepipeline:Get*"
```



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

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



#### recursos e operações
<a name="ACP_ARN_Format"></a>

No , o principal recurso é um pipeline. Em uma política, você usa um Nome de recurso da Amazon (ARN) para identificar o recurso ao qual a política de aplica. oferece suporte a outros recursos que podem ser usados com o recurso principal, como estágios, ações e ações personalizadas. Estes são chamados de sub-recursos. Esses recursos e sub-recursos têm nomes de recursos da Amazon (ARNs) exclusivos associados a eles. Para obter mais informações sobre ARNs, consulte [Amazon Resource Names (ARN) e AWS service (Serviço da AWS) namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) no. *Referência geral da Amazon Web Services* Para obter o ARN de pipeline associado ao seu pipeline, localize o ARN do pipeline em **Configurações** no console. Para obter mais informações, consulte [Visualizar o ARN do pipeline e o ARN do perfil de serviço (console)](pipelines-settings-console.md).


| Tipo de recurso | Formato do ARN | 
| --- | --- | 
|  Pipeline  |  arn: aws:codepipeline::: *region* *account* *pipeline-name*  | 
| Estágio |  arn: aws:codepipeline:::/*region**account**pipeline-name**stage-name*  | 
| Ação |  arn: aws:codepipeline::://*region**account**pipeline-name**stage-name**action-name*  | 
| Ação personalizada | arn:aws:codepipeline: ::actiontype:///regionaccountownercategoryproviderversion | 
|  Todos os recursos  |  arn:aws:codepipeline:\$1  | 
|  Todos os recursos do pertencentes à conta especificada na região especificada  |  arn: aws:codepipeline::: \$1 *region* *account*  | 

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

Em , há chamadas de API que dão suporte a permissões no nível do recurso. As permissões no nível do recurso indicam se uma chamada de API pode especificar um Nome de recurso da Amazon (ARN) de recurso ou se a chamada de API só pode especificar todos os recursos usando o caractere curinga. Consulte [referência de permissões](permissions-reference.md) para obter uma descrição detalhada das permissões em nível de recurso e uma lista das chamadas de CodePipeline API que oferecem suporte a permissões em nível de recurso.

Por exemplo, você pode indicar um pipeline específico (*myPipeline*) em sua declaração usando seu ARN da seguinte forma:

```
"Resource": "arn:aws:codepipeline:us-east-2:111222333444:myPipeline"
```

Você também pode especificar todos os pipelines pertencentes a uma conta específica usando o caractere curinga (\$1), conforme o seguinte:

```
"Resource": "arn:aws:codepipeline:us-east-2:111222333444:*"
```

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

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

**nota**  
Ao criar políticas do IAM, siga as dicas de segurança padrão de concessão de privilégio mínimo, ou seja, conceda apenas as permissões necessárias à execução de uma tarefa. Se uma chamada de API for compatível ARNs, ela suportará permissões em nível de recurso e você não precisará usar o caractere curinga (\$1).

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

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

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

### Chaves de condição
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></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 `Condition` especifica quando as instruções são executadas com base em critérios definidos. É possível criar expressões condicionais que usem [agentes de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação. Para ver todas as chaves de condição AWS globais, consulte as [chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

CodePipeline define seu próprio conjunto de chaves de condição e também oferece suporte ao uso de algumas chaves de condição globais. Para ver todas as chaves de condição AWS globais, consulte [Chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.



 Todas as ações do Amazon EC2 oferecem suporte às chaves de condição `aws:RequestedRegion` e `ec2:Region`. Para obter mais informações, consulte [Exemplo: restrição de acesso a uma Região específica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region). 

Para ver uma lista de chaves de CodePipeline condição, consulte [Chaves de condição AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-policy-keys) no *Guia do usuário do IAM*. Para saber com quais ações e recursos você pode usar uma chave de condição, consulte [Ações definidas por AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions).

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



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

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

CodePipeline não oferece suporte a políticas baseadas em recursos. No entanto, é fornecido um exemplo de política baseada em recursos para o serviço S3 relacionado ao CodePipeline .

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



Para ver exemplos de políticas CodePipeline baseadas em recursos, consulte, [AWS CodePipeline exemplos de políticas baseadas em recursos](security_iam_resource-based-policy-examples.md)

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

Você pode anexar tags a CodePipeline recursos ou passar tags em uma solicitação para CodePipeline. Para controlar o acesso baseado em tags, forneça informações sobre as tags no [elemento de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de uma política usando as `codepipeline:ResourceTag/key-name`, `aws:RequestTag/key-name` ou chaves de condição `aws:TagKeys`. Para obter mais informações sobre recursos de marcação do CodePipeline , consulte [Marcando atributos](tag-resources.md).

Para visualizar um exemplo de política baseada em identidade que visa limitar o acesso a um recurso baseado nas tags desse recurso, consulte [Usando tags para controlar o acesso aos CodePipeline recursos](tag-based-access-control.md).

## CodePipeline 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 CodePipeline
<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). 

CodePipeline suporta o uso de credenciais temporárias. 

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

CodePipeline permite que um serviço assuma uma [função 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. Os perfis de serviço aparecem em sua conta do IAM e são de propriedade da conta. Isso significa que um administrador do IAM pode alterar as permissões para esse perfil. Porém, fazer isso pode alterar a funcionalidade do serviço.

CodePipeline suporta funções de serviço. 