Como AWS CodePipeline funciona com o IAM - AWS CodePipeline

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

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, consulte Serviços da AWS esse trabalho com o IAM no Guia do usuário do IAM.

Políticas baseadas em identidade do CodePipeline

Com as políticas baseadas em identidade do IAM, você pode 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 compatibilidade com 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 no Guia do usuário do IAM.

Ações

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. As ações de política geralmente têm o mesmo nome da operação de AWS API associada. Existem algumas exceções, como ações somente de permissão, que não têm uma operação de API correspondente. Algumas operações também exigem várias ações em uma política. Essas ações adicionais são chamadas de ações dependentes.

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 (*). 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 no Guia do usuário do IAM.

Recursos

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. As instruções devem incluir um elemento Resource ou NotResource. Como prática recomendada, especifique um recurso usando seu nome do recurso da Amazon (ARN). Isso pode ser feito para ações que oferecem compatibilidade com um tipo de recurso específico, conhecido como permissões em nível de recurso.

Para ações que não oferecem compatibilidade com permissões em nível de recurso, como operações de listagem, use um curinga (*) para indicar que a instrução se aplica a todos os recursos.

"Resource": "*"

CodePipeline recursos e operações

Em CodePipeline, o recurso principal é um pipeline. Em uma política, você usa um Amazon Resource Name (ARN) para identificar o recurso ao qual a política se aplica. CodePipeline 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 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).

Tipo de recurso Formato do ARN

Pipeline

arn: aws:codepipeline::: region account pipeline-name

Estágio

arn: aws:codepipeline:::/regionaccountpipeline-namestage-name

Ação

arn: aws:codepipeline::://regionaccountpipeline-namestage-nameaction-name

Ação personalizada arn:aws:codepipeline: ::actiontype:///regionaccountownercategoryproviderversion

Todos os CodePipeline recursos

arn:aws:codepipeline:*

Todos os CodePipeline recursos pertencentes à conta especificada na região especificada

arn: aws:codepipeline::: * 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, CodePipeline usa uma correspondência exata nos padrões e regras do evento. 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 CodePipeline, há chamadas de API que oferecem suporte a permissões em nível de 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 CodePipeline referência de permissões 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 (*), 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 (*) 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 (*).

Algumas chamadas de CodePipeline 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"]

CodePipeline fornece um conjunto de operações para trabalhar com os CodePipeline recursos. Para ver uma lista das operações disponíveis, consulte CodePipeline referência de permissões.

Chaves de condição

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 (ou bloco de Condition) permite que você especifique condições nas quais uma declaração está em vigor. O elemento Condition é opcional. É possível criar expressões de condição que usam operadores de condição, como igual a ou menor que, para corresponder a condição na política aos valores na solicitação.

Se você especificar vários elementos de Condition em uma declaração ou várias chaves em um único elemento de Condition, a AWS os avaliará usando uma operação lógica AND. Se você especificar vários valores para uma única chave de condição, AWS avalia a condição usando uma OR operação lógica. Todas as condições devem ser atendidas antes que as permissões da instrução sejam concedidas.

Você também pode usar variáveis de espaço reservado ao especificar condições. Por exemplo, é possível conceder a um usuário do IAM permissão para acessar um recurso somente se ele estiver marcado com seu nome de usuário do IAM. Para obter mais informações, consulte Elementos de política do IAM: variáveis e etiquetas no Guia do usuário do IAM.

AWS suporta chaves de condição globais e chaves de condição específicas do serviço. Para ver todas as chaves de condição AWS globais, consulte as chaves de contexto de condição AWS global 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 no Guia do usuário do IAM.

Todas as EC2 ações da Amazon oferecem suporte às chaves de ec2:Region condição aws:RequestedRegion e de condição. Para obter mais informações, consulte Exemplo: restrição de acesso a uma Região específica.

Para ver uma lista de chaves de CodePipeline condição, consulte Chaves de condição AWS CodePipeline 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.

Exemplos

Para ver exemplos de políticas CodePipeline baseadas em identidade, consulte. Exemplos de políticas baseadas em identidade do AWS CodePipeline

CodePipeline políticas baseadas em recursos

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

Para ver exemplos de políticas CodePipeline baseadas em recursos, consulte Exemplos de políticas baseadas em recursos do AWS CodePipeline

Autorização baseada em tags do CodePipeline

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

Para visualizar um exemplo de política baseada em identidade que visa limitar o acesso a um recurso baseado nas tags desse recurso, consulte Usar tags para controlar o acesso aos recursos do CodePipeline.

CodePipeline Funções do IAM

Uma função do IAM é uma entidade na sua AWS conta que tem permissões específicas.

Usando credenciais temporárias com CodePipeline

É 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 AssumeRoleou GetFederationToken.

CodePipeline suporta o uso de credenciais temporárias.

Perfis de serviço

CodePipeline permite que um serviço assuma uma função de serviço 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.