Identity and Access Management para o AWS CodePipeline - 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á.

Identity and Access Management para o AWS CodePipeline

O AWS Identity and Access Management (IAM) é um serviço da AWS que ajuda a controlar o acesso aos recursos da AWS de forma segura. Os administradores do IAM controlam quem pode serautenticada(assinado) eautorizada(tem permissões) para usar os recursos do CodePipeline. O IAM é um serviço da AWS que pode ser usado sem custo adicional.

Audience

Como você usa oAWS Identity and Access ManagementO (IAM) varia, dependendo do trabalho que você realiza no CodePipeline.

Usuário do serviço— se você usar o serviço CodePipeline para fazer sua tarefa, o administrador fornecerá as credenciais e as permissões de que você precisa. À medida que usar mais recursos do CodePipeline para fazer seu trabalho, você poderá precisar de permissões adicionais. Entender como o acesso é gerenciado pode ajudar você a solicitar as permissões corretas ao seu administrador. Se você não conseguir acessar um recurso no CodePipeline, consulteSolução de problemas de identidade e acesso do AWS CodePipeline.

Administrador de serviços— se você for o responsável pelos recursos do CodePipeline em sua empresa, provavelmente terá acesso total ao CodePipeline. Seu trabalho é determinar quais recursos do CodePipeline seus funcionários devem acessar. Assim, é necessário enviar solicitações ao administrador do IAM para alterar as permissões dos usuários de seu serviço. Revise as informações nesta página para entender os conceitos básicos do IAM. Para saber mais sobre como a empresa pode usar o IAM com o CodePipeline, consulteComo o AWS CodePipeline funciona com o IAM.

Administrador do IAM— se você é um administrador do IAM, talvez queira saber detalhes sobre como pode escrever políticas para gerenciar o acesso ao CodePipeline. Para visualizar exemplos de políticas baseadas em identidade do CodePipeline que podem ser usadas no IAM, consulteExemplos de políticas baseadas em identidade do AWS CodePipeline.

Autenticar com identidades

A autenticação é a forma como você faz login na AWS usando suas credenciais de identidade. Para obter mais informações sobre como fazer login usando o AWS Management Console, consulte Login no AWS Management Console como usuário do IAM ou usuário root no Manual do usuário do IAM.

É necessário estar autenticado (conectado à AWS) como o usuário root da Conta da AWS ou um usuário do IAM, ou ainda assumindo uma função do IAM. Também é possível usar a autenticação de logon único da sua empresa ou até mesmo fazer login usando o Google ou o Facebook. Nesses casos, o administrador configurou anteriormente federação de identidades usando funções do IAM. Ao acessar a AWS usando credenciais de outra empresa, você estará assumindo uma função indiretamente.

Para fazer login diretamente no AWS Management Console, use sua senha com o e-mail do usuário root ou seu nome de usuário do IAM. É possível acessar a AWS de maneira programática usando chaves de acesso do seu usuário root ou dos usuários do IAM. AWS fornece ferramentas SDK e de linha de comando para assinar de forma criptográfica a sua solicitação usando suas credenciais. Se você não utilizar as ferramentas AWS, você deverá assinar a solicitação por conta própria. Faça isso usando o Signature versão 4, um protocolo para autenticação de solicitações de API de entrada. Para obter mais informações sobre solicitações de autenticação, consulte Processo de assinatura do Signature Version 4 na Referência geral da AWS.

Independentemente do método de autenticação usado, também pode ser exigido que você forneça informações adicionais de segurança. Por exemplo, a AWS recomenda o uso da autenticação multifator (MFA) para aumentar a segurança de sua conta. Para saber mais, consulte Uso da autenticação multifator (MFA) na AWS no Manual do usuário do IAM.

Usuário root da Conta da AWS

Ao criar uma Conta da AWS, você começa com uma única identidade de login que tenha acesso total a todos os recursos e serviços da AWS na conta. Essa identidade é denominada usuário root da Conta da AWS e é acessada pelo login com o endereço de e-mail e a senha que você usou para criar a conta. Recomendamos que não use o usuário raiz para suas tarefas do dia a dia, nem mesmo as administrativas. Em vez disso, siga as práticas recomendadas para o uso do usuário root somente a fim de criar seu primeiro usuário do IAM. Depois, armazene as credenciais do usuário raiz com segurança e use-as para executar somente algumas tarefas de gerenciamento de contas e de serviços.

Grupos e usuários do IAM

Um usuário do IAM é uma identidade dentro da Conta da AWS que tem permissões específicas para uma única pessoa ou aplicação. Um usuário do IAM pode ter credenciais de longo prazo, como um nome de usuário e uma senha ou um conjunto de chaves de acesso. Para saber como gerar chaves de acesso, consulte Gerenciar chaves de acesso para usuários do IAM no Manual do usuário do IAM. Ao gerar chaves de acesso para um usuário do IAM, visualize e salve o par de chaves de maneira segura. Não será possível recuperar a chave de acesso secreta futuramente. Em vez disso, você deverá gerar outro par de chaves de acesso.

Um grupo do IAM é uma identidade que especifica uma coleção de usuários do IAM. Não é possível fazer login como um grupo. É possível usar grupos para especificar permissões para vários usuários de uma vez. Os grupos facilitam o gerenciamento de permissões para grandes conjuntos de usuários. Por exemplo, você pode ter um grupo chamado IAMAdmins e atribuir a esse grupo permissões para administrar recursos do IAM.

Usuários são diferentes de funções. Um usuário é exclusivamente associado a uma pessoa ou a uma aplicação, mas uma função pode ser assumida por qualquer pessoa que precisar dela. Os usuários têm credenciais permanentes de longo prazo, mas as funções fornecem credenciais temporárias. Para saber mais, consulte Quando criar um usuário do IAM (em vez de uma função) no Manual do usuário do IAM.

Funções do IAM

Uma função do IAM é uma identidade dentro da Conta da AWS que tem permissões específicas. Ela é semelhante a um usuário do IAM, mas não está associada a uma pessoa específica. É possível assumir temporariamente uma função do IAM no AWS Management Console alternando funções. É possível assumir uma função chamando uma operação de API da AWS CLI ou da AWS, ou usando um URL personalizado. Para mais informações sobre métodos para o uso de funções, consulte Usar funções do IAM no Manual do usuário do IAM.

As funções do IAM com credenciais temporárias são úteis nas seguintes situações:

  • Permissões temporárias para usuários do IAM: um usuário do IAM pode assumir uma função do IAM para obter temporariamente permissões diferentes para uma tarefa específica.

  • Acesso de usuário federado: em vez de criar um usuário do IAM, você poderá usar identidades de usuários existentes no AWS Directory Service, em seu diretório de usuários corporativos ou em um provedor de identidades da Web. Estes são conhecidos como usuários federados. A AWS atribui uma função a um usuário federado quando o acesso é solicitado por meio de um provedor de identidades. Para obter mais informações sobre usuários federados, consulte Usuários federados e funções no Manual do usuário do IAM.

  • Acesso entre contas: é possível usar uma função do IAM para permitir que alguém (um principal confiável) em outra conta acesse recursos em sua conta. As funções são a principal forma de conceder acesso entre contas. No entanto, alguns serviços da AWS permitem que você anexe uma política diretamente a um recurso (em vez de usar uma função como proxy). Para saber a diferença entre funções e políticas baseadas em recurso para acesso entre contas, consulte Como as funções do IAM diferem das políticas baseadas em recurso no Manual do usuário do IAM.

  • Acesso entre serviços: alguns serviços da AWS usam recursos em outros serviços da AWS. Por exemplo, quando você faz uma chamada em um serviço, é comum que esse serviço execute aplicações no Amazon EC2 ou armazene objetos no Amazon S3. Um serviço pode fazer isso usando as permissões do principal de chamada, usando uma função de serviço ou uma função vinculada ao serviço.

    • Permissões de principal: ao usar um usuário ou uma função do IAM para executar ações na AWS, você é considerado um principal. As políticas concedem permissões a uma entidade principal. Quando você usa alguns serviços, pode executar uma ação que, em seguida, aciona outra ação em outro serviço. Nesse caso, você deve ter permissões para executar ambas as ações. Para ver se uma ação exige ações dependentes adicionais em uma política, consulte Ações, recursos e chaves de condição para o AWS CodePipeline na Referência de autorização do serviço.

    • Função de serviço: uma função de serviço é uma função do IAM que um serviço assume para realizar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir uma função de serviço do IAM. Para obter mais informações, consulte Criação de uma função para delegar permissões a um serviço da AWS no Manual do usuário do IAM.

    • Função vinculada a serviço: uma função vinculada a serviço é um tipo de função de serviço vinculada a um serviço da AWS. O serviço pode assumir a função de executar uma ação em seu nome. As funções vinculadas ao serviço aparecem em sua conta do IAM e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não pode editar as permissões para funções vinculadas ao serviço.

  • Aplicações em execução no Amazon EC2: é possível usar uma função do IAM para gerenciar credenciais temporárias para aplicações em execução em uma instância do EC2 e fazer solicitações da AWS CLI ou da AWS API. É preferível fazer isso do que armazenar chaves de acesso na instância do EC2. Para atribuir uma função da AWS a uma instância do EC2 e disponibilizá-la para todos os seus aplicativos, crie um perfil de instância que esteja anexado à instância. Um perfil de instância contém a função e permite que programas que estão em execução na instância do EC2 obtenham credenciais temporárias. Para mais informações, consulte Usar uma função do IAM para conceder permissões a aplicações em execução nas instâncias do Amazon EC2 no Manual do usuário do IAM.

Para saber se deseja usar as funções do IAM, consulte Quando criar uma função do IAM (em vez de um usuário) no Manual do usuário do IAM.

Gerenciamento do acesso usando políticas

Você controla o acesso na AWS criando e anexando políticas às identidades do IAM ou aos recursos da AWS. Uma política é um objeto na AWS que, quando associado a uma identidade ou recurso, define suas permissões. Você pode fazer login como o usuário raiz ou um usuário do IAM ou assumir uma função do IAM. Quando você faz uma solicitação, a AWS avalia as políticas relacionadas baseadas em identidade ou baseadas em recursos. As permissões nas políticas determinam se a solicitação será permitida ou negada. A maioria das políticas são armazenadas na AWS como documentos JSON. Para obter mais informações sobre a estrutura e o conteúdo de documentos de políticas JSON, consulte Visão geral das políticas JSON no Manual do usuário do IAM.

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

Cada entidade do IAM (usuário ou função) começa sem permissões. Em outras palavras, por padrão, os usuários não podem fazer nada, nem mesmo alterar sua própria senha. Para dar permissão a um usuário para fazer algo, um administrador deve anexar uma política de permissões ao usuário. Ou o administrador pode adicionar o usuário a um grupo que tenha as permissões pretendidas. Quando um administrador concede permissões a um grupo, todos os usuários desse grupo recebem essas permissões.

As políticas do IAM definem permissões para uma ação, independentemente do método usado para executar a operação. Por exemplo, suponha que você tenha uma política que permite a ação iam:GetRole. Um usuário com essa política pode obter informações de funções do AWS Management Console, da AWS CLI ou da API da AWS.

Políticas baseadas em identidade

As políticas baseadas em identidade são documentos de políticas de permissões JSON que você pode anexar a uma identidade, como usuário, grupo de usuários ou função do IAM. Essas políticas controlam quais ações os usuários e funções podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte Criar políticas do IAM no Manual do usuário do IAM.

As políticas baseadas em identidade podem ser categorizadas ainda mais como políticas em linha ou políticas gerenciadas. As políticas em linha são anexadas diretamente a um único usuário, grupo ou função. As políticas gerenciadas são políticas independentes que podem ser anexadas a vários usuários, grupos e funções na Conta da AWS. As políticas gerenciadas incluem políticas gerenciadas pela AWS e políticas gerenciadas pelo cliente. Para saber como escolher entre uma política gerenciada ou uma política em linha, consulte Escolher entre políticas gerenciadas e políticas em linha no Manual do usuário do IAM.

Políticas baseadas em recursos

Políticas baseadas em recurso são documentos de políticas JSON que você anexa a um recurso. São exemplos de políticas baseadas em recursos as políticas de confiança de função do IAM e as políticas de bucket do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. Para o recurso ao qual a política está anexada, a política define quais ações um principal especificado pode executar nesse recurso e em que condições. Você deve especificar um principal em uma política baseada em recursos. Os principais podem incluir contas, usuários, funções, usuários federados ou serviços da AWS.

Políticas baseadas em recursos são políticas em linha que estão localizadas nesse serviço. Não é possível usar as políticas gerenciadas da AWS do IAM em uma política baseada em recursos.

Outros tipos de política

A AWS oferece suporte a tipos de política menos comuns. Esses tipos de política podem definir o máximo de permissões concedidas a você pelos tipos de política mais comuns.

  • Limites de permissões: um limite de permissões é um recurso avançado no qual você define o máximo de permissões que uma política baseada em identidade pode conceder a uma entidade do IAM (usuário ou função do IAM). É possível definir um limite de permissões para uma entidade. As permissões resultantes são a interseção das políticas baseadas em identidade da entidade e seus limites de permissões. As políticas baseadas em recurso que especificam o usuário ou a função no campo Principal não são limitadas pelo limite de permissões. Uma negação explícita em qualquer uma dessas políticas substitui a permissão. Para obter mais informações sobre limites de permissões, consulte Limites de permissões para identidades do IAM no Manual do usuário do IAM.

  • Políticas de controle de serviço (SCPs): SCPs são políticas JSON que especificam as permissões máximas para uma organização ou unidade organizacional (UO) no AWS Organizations. O AWS Organizations é um serviço para agrupar e gerenciar centralmente várias Contas da AWS pertencentes à sua empresa. Se você habilitar todos os recursos em uma organização, poderá aplicar políticas de controle de serviço (SCPs) a qualquer uma ou a todas as contas. Uma SCP limita as permissões para entidades em contas-membro, incluindo cadaConta da AWSUsuário raiz. Para obter mais informações sobre o Organizations e SCPs, consulte Como os SCPs funcionam no Manual do usuário do AWS Organizations.

  • Políticas de sessão: são políticas avançadas que você transmite como um parâmetro quando cria de forma programática uma sessão temporária para uma função ou um usuário federado. As permissões da sessão resultante são a interseção das políticas baseadas em identidade do usuário ou da função e das políticas de sessão. As permissões também podem ser provenientes de uma política baseada em recurso. Uma negação explícita em qualquer uma dessas políticas substitui a permissão. Para obter mais informações, consulte Políticas de sessão no Manual do usuário do IAM.

Gerenciar a função de serviço CodePipeline

A função de serviço CodePipeline é configurada com uma ou mais políticas que controlam o acesso aoAWSrecursos usados pelo pipeline. Pode ser que você queira anexar políticas adicionais a essa função, editar a política anexada à função ou configurar políticas para outras funções de serviço na AWS. Pode ser que você também queira anexar uma política a uma função ao configurar o acesso entre contas ao pipeline.

Importante

Alterar uma declaração de política ou anexar outra política à função pode impedir o funcionamento dos pipelines. Compreenda as implicações antes de alterar de alguma maneira a função de serviço do CodePipeline. Teste os pipelines após ter feito alterações na função de serviço.

nota

No console, as funções de serviço criadas antes de setembro de 2018 são criadas com o nome oneClick_AWS-CodePipeline-Service_ID-Number.

As funções de serviço criadas após setembro de 2018 usam o formato de nome da função de serviço AWSCodePipelineServiceRole-Region-Pipeline_Name. Por exemplo, para um pipeline nomeadoMyFirstPipelineemeu-west-2, o console nomeia a função e a políticaAWSCodePipelineServiceRole-eu-west-2-MyFirstPipeline.

Remover permissões da função de serviço CodePipeline

Você pode editar a declaração da função de serviço para remover o acesso aos recursos que você não utiliza. Por exemplo, se nenhum dos pipelines incluir o Elastic Beanstalk, você poderá editar a declaração de política para remover a seção que concede acesso aos recursos do Elastic Beanstalk.

De maneira similar, se nenhum dos pipelines incluir o CodeDeploy, você poderá editar a declaração de política para remover a seção que concede acesso aos recursos do CodeDeploy:

{ "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:RegisterApplicationRevision" ], "Resource": "*", "Effect": "Allow" },

Adicionar permissões à função de serviço CodePipeline

Você deve atualizar sua declaração de política de função de serviço com permissões para umAWSO serviço ainda não está incluído na declaração de política de função de serviço padrão antes de poder usá-la em seus pipelines.

Isso é especialmente importante caso a função de serviço que você usa para os pipelines tenha sido criada antes do suporte ao CodePipeline para umAWSServiço.

A tabela a seguir mostra quando o suporte foi adicionado para outrosAWSServiços da .

Serviço da AWS Data de Support do CodePipeline
AWS CloudFormationAções do StackSets 30 de dezembro de 2020
Formato de artefato de saída de clone completo CodeCommit 11 de novembro de 2020
Compriações em lote CodeBuild 30 de julho de 2020
AWS AppConfig 22 de junho de 2020
AWS Step Functions 27 de maio de 2020
Conexões do AWS CodeStar 18 de dezembro de 2019
A ação CodeDeployToECS 27 de novembro de 2018
Amazon ECR 27 de novembro de 2018
AWS Service Catalog 16 de outubro de 2018
AWS Device Farm 19 de julho de 2018
Amazon ECS 12 de dezembro de 2017
CodeCommit 18 de abril de 2016
AWS OpsWorks 2 de junho de 2016
AWS CloudFormation 3 de novembro de 2016
AWS CodeBuild 1º de dezembro de 2016
Elastic Beanstalk Lançamento inicial do serviço

Siga estes passos para adicionar permissões para um serviço compatível:

  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No console do IAM, no painel de navegação, selecioneFunções doe, em seguida, escolha oAWS-CodePipeline-ServiceFunção da lista de funções.

  3. NoPermissõesGuia, noPolíticas em linha, na linha da sua política de função de serviço, escolhaEditar política.

  4. Adicione as permissões necessárias noDocumento de política(Criar snapshot final?).

    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 para executar uma tarefa. Determinadas chamadas de API são compatíveis com permissões baseadas em recursos e permitem que o acesso seja limitado. Por exemplo, neste caso, para limitar permissões ao chamarDescribeTaskseListTasks, você pode substituir o caractere curinga (*) por um ARN de recurso ou um ARN de recurso que contém um caractere curinga (*). Para obter mais informações sobre como criar uma política que concede acesso de menor privilégio, consultehttps://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege.

    Por exemplo, no caso de compatibilidade com CodeCommit, adicione o seguinte à declaração da política:

    { "Action": [ "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:UploadArchive", "codecommit:GetUploadArchiveStatus", "codecommit:CancelUploadArchive" ], "Resource": "*", "Effect": "Allow" },

    No caso de compatibilidade com AWS OpsWorks, adicione o seguinte à declaração da política:

    { "Action": [ "opsworks:CreateDeployment", "opsworks:DescribeApps", "opsworks:DescribeCommands", "opsworks:DescribeDeployments", "opsworks:DescribeInstances", "opsworks:DescribeStacks", "opsworks:UpdateApp", "opsworks:UpdateStack" ], "Resource": "*", "Effect": "Allow" },

    No caso de compatibilidade com AWS CloudFormation, adicione o seguinte à declaração da política:

    { "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStacks", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "iam:PassRole" ], "Resource": "*", "Effect": "Allow" },

    No caso de compatibilidade com o CodeBuild, adicione o seguinte à declaração da política:

    { "Action": [ "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource": "*", "Effect": "Allow" },
    nota

    O Support para compilações em lote foi adicionado em uma data posterior. Consulte a etapa 11 para obter as permissões a serem adicionadas à função de serviço para compilações em lote.

    No caso de compatibilidade com AWS Device Farm, adicione o seguinte à declaração da política:

    { "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "*", "Effect": "Allow" },

    No caso de compatibilidade com AWS Service Catalog, adicione o seguinte à declaração da política:

    { "Effect": "Allow", "Action": [ "servicecatalog:ListProvisioningArtifacts", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:DescribeProvisioningArtifact", "servicecatalog:DeleteProvisioningArtifact", "servicecatalog:UpdateProduct" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudformation:ValidateTemplate" ], "Resource": "*" }
  5. No caso de compatibilidade com o Amazon ECR, adicione o seguinte à declaração da política:

    { "Action": [ "ecr:DescribeImages" ], "Resource": "*", "Effect": "Allow" },
  6. Com relação ao Amazon ECS, a seguir encontram-se as permissões mínimas necessárias para criar pipelines com uma ação de implantar do Amazon ECS.

    { "Action": [ "ecs:DescribeServices", "ecs:DescribeTaskDefinition", "ecs:DescribeTasks", "ecs:ListTasks", "ecs:RegisterTaskDefinition", "ecs:UpdateService" ], "Resource": "*", "Effect": "Allow" },

    Você também deve adicionar oiam:PassRolepermissões para usar funções do IAM para tarefas. Para obter mais informações, consulteFunção do IAM de execução de tarefas do Amazon ECSeFunções do IAM para tarefas. Use o seguinte texto da política.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>" ] } ] }
  7. Para oCodeDeployToECSAção (implantações azul/verde) do, a seguir estão as permissões mínimas necessárias para criar pipelines com uma ação de implantação azul/verde do CodeDeploy to Amazon ECS.

    { "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetDeployment", "codedeploy:GetApplication", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:GetDeploymentConfig", "ecs:RegisterTaskDefinition" ], "Resource": "*", "Effect": "Allow" },

    Você também deve adicionaraiam:PassRolepermissões para usar funções do IAM para tarefas. Para obter mais informações, consulteFunção do IAM de execução de tarefas do Amazon ECSeFunções do IAM para tarefas. Use o seguinte texto da política.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>" ] } ] }

    Você também pode adicionarecs-tasks.amazonaws.compara a lista de serviços sob aiam:PassedToServiceCondição, como mostrado neste exemplo.

    { "Statement": [ { "Action": [ "iam:PassRole" ], "Resource": "*", "Effect": "Allow", "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "cloudformation.amazonaws.com", "elasticbeanstalk.amazonaws.com", "ec2.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } },
  8. Para conexões do AWS CodeStar, a permissão a seguir é necessária para criar pipelines com uma origem que usa uma conexão, como Bitbucket.

    { "Action": [ "codestar-connections:UseConnection" ], "Resource": "*", "Effect": "Allow" },

    Para obter mais informações sobre as permissões do IAM para conexões, consulteReferência de permissões de conexões.

  9. Para oStepFunctionsCom relação ao, a seguir encontram-se as permissões mínimas necessárias para criar pipelines com uma ação de invocação do Step Functions.

    { "Action": [ "states:DescribeStateMachine", "states:DescribeExecution", "states:StartExecution" ], "Resource": "*", "Effect": "Allow" },
  10. Para oAppConfig, a seguir encontram-se as permissões mínimas necessárias para criar pipelines com umAWSAção de invocação do AppConfig.

    { "Action": [ "appconfig:StartDeployment", "appconfig:GetDeployment", "appconfig:StopDeployment" ], "Resource": "*", "Effect": "Allow" },
  11. No caso de compatibilidade com CodeBuild para compilações em lote, adicione o seguinte à declaração da política:

    { "Action": [ "codebuild:BatchGetBuildBatches", "codebuild:StartBuildBatch" ], "Resource": "*", "Effect": "Allow" },
  12. para oAWS CloudFormationAções do StackSets, as seguintes permissões mínimas são necessárias.

    • Para oCloudFormationStackSet, adicione o seguinte à declaração da política:

      { "Action": [ "cloudformation:CreateStackSet", "cloudformation:UpdateStackSet", "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation", "cloudformation:DescribeStackSet", "cloudformation:ListStackInstances" ], "Resource": "*", "Effect": "Allow" },
    • Para oCloudFormationStackInstances, adicione o seguinte à declaração da política:

      { "Action": [ "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation" ], "Resource": "*", "Effect": "Allow" },
  13. Para compatibilidade com o CodeCommit para a opção de clone completo, adicione o seguinte à declaração da política:

    { "Action": [ "codecommit:GetRepository" ], "Resource": "*", "Effect": "Allow" },
    nota

    Para garantir que sua ação CodeBuild possa usar a opção de clone completo com uma fonte do CodeCommit, você também deve adicionar ocodecommit:GitPull permissão para a declaração de política para a função de serviço CodeBuild do projeto.

  14. Para o Elastic Beanstalk, a seguir encontram-se as permissões mínimas necessárias para criar pipelines com umElasticBeanstalkImplantar ações.

    { "Action": [ "elasticbeanstalk:*", "ec2:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "rds:*", "sqs:*", "ecs:*" ], "Resource": "*", "Effect": "Allow" },
    nota

    Você deve substituir curingas na política de recursos pelos recursos da conta à qual deseja limitar o acesso. Para obter mais informações sobre como criar uma política que concede acesso de menor privilégio, consultehttps://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege.

  15. Selecione Review policy (Revisar política) para garantir que a política não contenha erros. Quando a política não tiver erros, selecioneAplicar política.