Exemplos de políticas baseadas em identidade do AWS CodeDeploy - AWS CodeDeploy

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

Exemplos de políticas baseadas em identidade do AWS CodeDeploy

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 AWS Management Console 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 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:

Tipos de recursos

Capacidades

Todos

Visualizar e listar detalhes sobre recursos

Aplicações

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

Aplicações

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_DepGroup associado ao aplicativo chamado WordPress_App na região us-west-2.

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

Exemplos de política gerenciada pelo cliente

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 os SDKs ou o. AWS CLIÉ 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 Usar o console do CodeDeploy.

nota

Todos os exemplos usam a Região do Oeste dos EUA (Oregon) (us-west-2) e contêm IDs de conta fictícios.

Exemplos

Exemplo 1: Permitir permissão para realizar CodeDeploy operações em uma única região

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

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

Exemplo 2: permitir o registro de revisões para um único aplicativo

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:

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

Exemplo 3: permitir a criação de implantações para um único grupo de implantação

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

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

Melhores práticas de política

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 seus 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 obter mais informações, consulte Políticas gerenciadas pela AWS ou Políticas gerenciadas pela AWS para funções de trabalho 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 atributos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre como usar o IAM para aplicar permissões, consulte Políticas e permissões no IAM no Guia do Usuário do IAM.

  • Use condições nas políticas do IAM para restringir ainda mais o acesso –- você pode adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, você pode gravar 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 AWS CloudFormation. Para obter mais informações, consulte Elementos da política JSON do IAM: Condição 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 100 verificações de política e recomendações acionáveis para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validação de políticas do IAM Access Analyzer 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 obter mais informações, consulte Configuração de acesso à API protegido por MFA no Guia do Usuário do IAM.

Para obter mais informações sobre as práticas recomendadas do IAM, consulte Práticas Recomendadas de Segurança no IAM no Guia do Usuário do IAM.

Usar o console do CodeDeploy

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 emAWS políticas gerenciadas (predefinidas) para CodeDeploy.

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 usuários visualizem suas próprias permissões

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