Como AWS CodeDeploy funciona com o IAM - AWS CodeDeploy

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

Como AWS CodeDeploy funciona com o IAM

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

Políticas baseadas em identidade do CodeDeploy

Com as políticas baseadas em identidade do IAM, é possível especificar ações ou recursos permitidos ou negados, além das 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 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 você pode usar 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 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 (*). 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 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, consulteReferência de permissões do CodeDeploy.

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

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 (*) 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 oferece suporte aos ARNs, use o caractere curinga (*) no elemento Resource, como se segue:

"Resource": "*"

Algumas ações CodeDeploy da API aceitam vários recursos (por exemplo,BatchGetDeploymentGroups). Para especificar vários recursos em uma única declaração, separe seus ARNs com vírgulas, como se segue:

"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 Referência de permissões do CodeDeploy.

Para ver uma lista dos tipos de CodeDeploy recursos e seus ARNs, consulte Resources Defined by AWS CodeDeploy 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.

CodeDeploy recursos e operações

Em CodeDeploy, o recurso principal é um grupo de implantação. Em uma política, você usa um Nome de recurso da Amazon (ARN) para identificar o recurso a que 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 ARNs exclusivos associados a eles. Para obter mais informações, consulte Nomes dos recursos da Amazon (ARNs) no Referência geral da Amazon Web Services.

Tipo de recurso Formato ARN
Grupo de implantação

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

Aplicativo

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

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

Exemplos

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

CodeDeploy políticas baseadas em recursos

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 para. AWS Lambda

Autorização baseada em tags do CodeDeploy

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

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

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

CodeDeploy suporta o uso de credenciais temporárias.

Funções vinculadas a serviço

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

Perfis de serviço

Esse atributo permite que um serviço assuma um perfil 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. 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

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. Se você já criou uma função de serviço ou uma função vinculada ao serviço, CodeDeploy fornece uma lista de funções para escolher. É importante escolher uma função que conceda acesso para iniciar e interromper instâncias do EC2.