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á.
Gerenciamento de identidade e acesso para o AWS CodePipeline
AWS Identity and Access Management (IAM) é uma ferramenta AWS service (Serviço da AWS) que ajuda o administrador a controlar com segurança o acesso aos AWS recursos. Os administradores do IAM controlam quem pode ser autenticado (conectado) e autorizado (tem permissões) a usar CodePipeline os recursos. O IAM é um AWS service (Serviço da AWS) que você pode usar sem custo adicional.
Tópicos
Público
A forma como você usa AWS Identity and Access Management (IAM) difere, dependendo do trabalho que você faz CodePipeline.
Usuário do serviço — Se você usar o CodePipeline serviço para realizar seu trabalho, seu administrador fornecerá as credenciais e as permissões de que você precisa. À medida que você usa mais CodePipeline recursos para fazer seu trabalho, talvez precise de permissões adicionais. Entender como o acesso é gerenciado pode ajudá-lo a solicitar as permissões corretas ao seu administrador. Se não for possível acessar um atributo no CodePipeline, consulte Solução de problemas de identidade e acesso do AWS CodePipeline.
Administrador de serviços — Se você é responsável pelos CodePipeline recursos da sua empresa, provavelmente tem acesso total CodePipeline a. É seu trabalho determinar quais CodePipeline recursos e recursos seus usuários do serviço devem acessar. Envie as solicitações ao administrador do IAM para alterar as permissões dos usuários de serviço. Revise as informações nesta página para compreender os conceitos básicos do IAM. Para saber mais sobre como sua empresa pode usar o IAM com CodePipeline, consulteComo AWS CodePipeline funciona com o IAM.
Administrador do IAM: se você for um administrador do IAM, talvez queira saber detalhes sobre como pode gravar políticas para gerenciar acesso ao CodePipeline. Para ver exemplos de políticas CodePipeline baseadas em identidade que você pode usar no IAM, consulte. Exemplos de políticas baseadas em identidade do AWS CodePipeline
Autenticar com identidades
A autenticação é como você faz login AWS usando suas credenciais de identidade. Você deve estar autenticado (conectado AWS) como o Usuário raiz da conta da AWS, como usuário do IAM ou assumindo uma função do IAM.
Você pode entrar AWS como uma identidade federada usando credenciais fornecidas por meio de uma fonte de identidade. AWS IAM Identity Center Usuários (IAM Identity Center), a autenticação de login único da sua empresa e suas credenciais do Google ou do Facebook são exemplos de identidades federadas. Quando você faz login como identidade federada, o administrador já configurou anteriormente a federação de identidades usando perfis do IAM. Ao acessar AWS usando a federação, você está assumindo indiretamente uma função.
Dependendo do tipo de usuário que você é, você pode entrar no AWS Management Console ou no portal de AWS acesso. Para obter mais informações sobre como fazer login em AWS, consulte Como fazer login Conta da AWS no Guia do Início de Sessão da AWS usuário.
Se você acessar AWS programaticamente, AWS fornece um kit de desenvolvimento de software (SDK) e uma interface de linha de comando (CLI) para assinar criptograficamente suas solicitações usando suas credenciais. Se você não usa AWS ferramentas, você mesmo deve assinar as solicitações. Para obter mais informações sobre como usar o método recomendado para designar solicitações por conta própria, consulte Versão 4 do AWS Signature para solicitações de API no Guia do usuário do IAM.
Independente do método de autenticação usado, também pode ser necessário fornecer informações adicionais de segurança. Por exemplo, AWS recomenda que você use a autenticação multifator (MFA) para aumentar a segurança da sua conta. Para saber mais, consulte Autenticação multifator no Guia do usuário do AWS IAM Identity Center e Usar a autenticação multifator da AWS no IAM no Guia do usuário do IAM.
Usuário raiz da conta da AWS
Ao criar uma Conta da AWS, você começa com uma identidade de login que tem acesso completo a todos Serviços da AWS os recursos da conta. Essa identidade é chamada de usuário Conta da AWS raiz e é acessada fazendo login com o endereço de e-mail e a senha que você usou para criar a conta. É altamente recomendável não usar o usuário-raiz para tarefas diárias. Proteja as credenciais do usuário-raiz e use-as para executar as tarefas que somente ele puder executar. Para obter a lista completa das tarefas que exigem login como usuário-raiz, consulte Tarefas que exigem credenciais de usuário-raiz no Guia do Usuário do IAM.
Usuários e grupos do IAM
Um usuário do IAM é uma identidade dentro da sua Conta da AWS que tem permissões específicas para uma única pessoa ou aplicativo. Sempre que possível, é recomendável contar com credenciais temporárias em vez de criar usuários do IAM com credenciais de longo prazo, como senhas e chaves de acesso. No entanto, se você tiver casos de uso específicos que exijam credenciais de longo prazo com usuários do IAM, é recomendável alternar as chaves de acesso. Para obter mais informações, consulte Alternar as chaves de acesso regularmente para casos de uso que exijam credenciais de longo prazo no Guia do Usuário do IAM.
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 IAMAdminse conceder a esse grupo permissões para administrar recursos do IAM.
Usuários são diferentes de perfis. Um usuário é exclusivamente associado a uma pessoa ou a uma aplicação, mas um perfil pode ser assumido por qualquer pessoa que precisar dele. Os usuários têm credenciais permanentes de longo prazo, mas os perfis fornecem credenciais temporárias. Para saber mais, consulte Casos de uso para usuários do IAM no Guia do usuário do IAM.
Perfis do IAM
Uma função do IAM é uma identidade dentro da sua Conta da AWS que tem permissões específicas. Ele é semelhante a um usuário do IAM, mas não está associado a uma pessoa específica. Para assumir temporariamente uma função do IAM no AWS Management Console, você pode alternar de um usuário para uma função do IAM (console). Você pode assumir uma função chamando uma operação de AWS API AWS CLI ou usando uma URL personalizada. Para obter mais informações sobre métodos para usar perfis, consulte Métodos para assumir um perfil no Guia do usuário do IAM.
Perfis do IAM com credenciais temporárias são úteis nas seguintes situações:
-
Acesso de usuário federado: para atribuir permissões a identidades federadas, é possível criar um perfil e definir permissões para ele. Quando uma identidade federada é autenticada, essa identidade é associada ao perfil e recebe as permissões definidas por ele. Para ter mais informações sobre perfis para federação, consulte Criar um perfil para um provedor de identidade de terceiros (federação) no Guia do usuário do IAM. Se usar o Centro de Identidade do IAM, configure um conjunto de permissões. Para controlar o que suas identidades podem acessar após a autenticação, o Centro de Identidade do IAM correlaciona o conjunto de permissões a um perfil no IAM. Para obter informações sobre conjuntos de permissões, consulte Conjuntos de Permissões no Guia do Usuário do AWS IAM Identity Center .
-
Permissões temporárias para usuários do IAM: um usuário ou um perfil do IAM pode presumir um perfil do IAM para obter temporariamente permissões diferentes para uma tarefa específica.
-
Acesso entre contas: é possível usar um perfil do IAM para permitir que alguém (uma entidade principal confiável) em outra conta acesse recursos em sua conta. Os perfis são a principal forma de conceder acesso entre contas. No entanto, com alguns Serviços da AWS, você pode anexar uma política diretamente a um recurso (em vez de usar uma função como proxy). Para conhecer a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte Acesso a recursos entre contas no IAM no Guia 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 aplicativos na Amazon EC2 ou armazene objetos no Amazon S3. Um serviço pode fazer isso usando as permissões da entidade principal da chamada, usando um perfil de serviço ou um perfil vinculado ao serviço.
-
Sessões de acesso direto (FAS) — Quando você usa um usuário ou uma função do IAM para realizar ações AWS, você é considerado o principal. Ao usar alguns serviços, você pode executar uma ação que inicia outra ação em um serviço diferente. O FAS usa as permissões do diretor chamando um AWS service (Serviço da AWS), combinadas com a solicitação AWS service (Serviço da AWS) para fazer solicitações aos serviços posteriores. As solicitações do FAS são feitas somente quando um serviço recebe uma solicitação que requer interações com outros Serviços da AWS ou com recursos para ser concluída. Nesse caso, você precisa ter permissões para executar ambas as ações. Para obter detalhes da política ao fazer solicitações de FAS, consulte Sessões de acesso direto.
-
Perfil de serviço: um perfil de serviço é um perfil do IAM que um serviço assume para executar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para obter mais informações, consulte Criar um perfil para delegar permissões a um AWS service (Serviço da AWS) no Guia do Usuário do IAM.
-
Função vinculada ao serviço — Uma função vinculada ao serviço é um tipo de função de serviço vinculada a um. AWS service (Serviço da AWS) O serviço pode presumir o perfil de executar uma ação em seu nome. As funções vinculadas ao serviço aparecem em você Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço.
-
-
Aplicativos em execução na Amazon EC2 — Você pode usar uma função do IAM para gerenciar credenciais temporárias para aplicativos que estão sendo executados em uma EC2 instância e fazendo solicitações AWS CLI de AWS API. Isso é preferível a armazenar chaves de acesso na EC2 instância. Para atribuir uma AWS função a uma EC2 instância e disponibilizá-la para todos os aplicativos, você cria um perfil de instância anexado à instância. Um perfil de instância contém a função e permite que os programas em execução na EC2 instância recebam credenciais temporárias. Para obter mais informações, consulte Usar uma função do IAM para conceder permissões a aplicativos executados em EC2 instâncias da Amazon no Guia do usuário do IAM.
Gerenciar o acesso usando políticas
Você controla o acesso AWS criando políticas e anexando-as a AWS identidades ou recursos. Uma política é um objeto AWS que, quando associada a uma identidade ou recurso, define suas permissões. AWS avalia essas políticas quando um principal (usuário, usuário raiz ou sessão de função) faz uma solicitação. As permissões nas políticas determinam se a solicitação será permitida ou negada. A maioria das políticas é armazenada 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 Guia do usuário do IAM.
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.
Por padrão, usuários e perfis não têm permissões. Para conceder permissão aos usuários para executar ações nos recursos que eles precisam, um administrador do IAM pode criar políticas do IAM. O administrador pode então adicionar as políticas do IAM aos perfis e os usuários podem assumir os perfis.
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ção da AWS Management Console AWS CLI, da ou da AWS
API.
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 perfil do IAM. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente no Guia do Usuário do IAM.
As políticas baseadas em identidade podem ser categorizadas 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 perfil. As políticas gerenciadas são políticas autônomas que você pode associar a vários usuários, grupos e funções em seu Conta da AWS. As políticas AWS gerenciadas incluem políticas gerenciadas 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 Guia do usuário do IAM.
Políticas baseadas em recursos
Políticas baseadas em recursos 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 perfil 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 atributo ao qual a política está anexada, a política define quais ações uma entidade principal especificado pode executar nesse atributo e em que condições. Você deve especificar uma entidade principal em uma política baseada em recursos. Os diretores 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 localizadas nesse serviço. Você não pode usar políticas AWS gerenciadas do IAM em uma política baseada em recursos.
Outros tipos de política
AWS oferece suporte a tipos de políticas adicionais 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 perfil 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 de uma entidade com seus limites de permissões. As políticas baseadas em recurso que especificam o usuário ou o perfil 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 Guia 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 (OU) em AWS Organizations. AWS Organizations é um serviço para agrupar e gerenciar centralmente vários Contas da AWS que sua empresa possui. 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 suas contas. O SCP limita as permissões para entidades nas contas dos membros, incluindo cada uma Usuário raiz da conta da AWS. Para obter mais informações sobre Organizations e SCPs, consulte Políticas de controle de serviços no Guia AWS Organizations do Usuário.
-
Políticas de controle de recursos (RCPs) — RCPs são políticas JSON que você pode usar para definir o máximo de permissões disponíveis para recursos em suas contas sem atualizar as políticas do IAM anexadas a cada recurso que você possui. O RCP limita as permissões para recursos nas contas dos membros e pode afetar as permissões efetivas para identidades, incluindo a Usuário raiz da conta da AWS, independentemente de pertencerem à sua organização. Para obter mais informações sobre Organizations e RCPs, incluindo uma lista Serviços da AWS desse suporte RCPs, consulte Políticas de controle de recursos (RCPs) no Guia AWS Organizations do usuário.
-
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 um perfil 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 do perfil e das políticas de sessão. As permissões também podem ser provenientes de uma política baseada em recursos. 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 Guia do usuário do IAM.
Gerenciar a função CodePipeline de serviço
A função CodePipeline de serviço é configurada com uma ou mais políticas que controlam o acesso aos AWS recursos usados pelo pipeline. Talvez você queira anexar mais políticas a essa função, editar a política anexada à função ou configurar políticas para outras funções de serviço em 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. Certifique-se de compreender as implicações antes de modificar a função de serviço de qualquer CodePipeline forma. 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-
. Por exemplo, para um pipeline chamado Region
-Pipeline_Name
MyFirstPipeline
na eu-west-2
, o console nomeia a função e a política como AWSCodePipelineServiceRole-eu-west-2-MyFirstPipeline
.
Remover permissões da função de serviço do 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.
Da mesma forma, se nenhum de seus pipelines incluir CodeDeploy, você poderá editar a declaração de política para remover a seção que concede acesso aos CodeDeploy recursos:
{ "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:RegisterApplicationRevision" ], "Resource": "*", "Effect": "Allow" },
Adicionar permissões à função de serviço do CodePipeline
Você deve atualizar sua declaração de política de função de serviço com permissões para uma declaração de política de função de serviço que ainda AWS service (Serviço da AWS) não está incluída 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 se a função de serviço que você usa para seus pipelines foi criada antes da adição do suporte CodePipeline para um AWS service (Serviço da AWS).
A tabela a seguir mostra quando o suporte foi adicionado para outros Serviços da AWS.
AWS service (Serviço da AWS) | CodePipeline data de suporte |
---|---|
ECRBuildAndPublishAction Ação do Amazon Elastic Container Registry | 22 de novembro de 2024 |
Ação do Amazon Inspector InspectorScan |
22 de novembro de 2024 |
Ação Commands | 3 de outubro de 2024 |
AWS CloudFormation | 30 de dezembro de 2020 |
CodeCommit formato de artefato de saída de clone completo | 11 de novembro de 2020 |
CodeBuild compilações em lote | 30 de julho de 2020 |
AWS AppConfig | 22 de junho de 2020 |
AWS Step Functions | 27 de maio de 2020 |
AWS CodeStar Conexões | 18 de dezembro de 2019 |
A ação CodeDeployToECS |
27 de novembro de 2018 |
Amazon ECR | 27 de novembro de 2018 |
Service Catalog | 16 de outubro de 2018 |
AWS Device Farm | 19 de julho de 2018 |
Amazon ECS | 12 de dezembro de 2017//Atualização para aceitar a autorização de marcação em 21 de julho 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 do serviço inicial |
Siga estes passos para adicionar permissões para um serviço compatível:
-
Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No console do IAM, no painel de navegação, escolha Perfis e, em seguida, escolha o perfil
AWS-CodePipeline-Service
na lista de perfis. -
Na guia Permissões, em Políticas em linha, na linha da sua política de perfil de serviço, escolha Editar política.
-
Adicione as permissões necessárias na caixa Documento da política.
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. 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 as permissões quando chamar
DescribeTasks
eListTasks
, você pode substituir o caractere curinga (*) por um ARN de recurso ou um ARN de recurso que contenha um caractere curinga (*). Para obter mais informações sobre a criação de uma política que conceda acesso com privilégios mínimos, consulte https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege.Por exemplo, para obter CodeCommit suporte, adicione o seguinte à sua declaração de política:
{ "Effect": "Allow", "Action": [ "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:UploadArchive", "codecommit:GetUploadArchiveStatus", "codecommit:CancelUploadArchive" ], "Resource": "
resource_ARN
" },Para obter AWS OpsWorks suporte, adicione o seguinte à sua declaração de política:
{ "Effect": "Allow", "Action": [ "opsworks:CreateDeployment", "opsworks:DescribeApps", "opsworks:DescribeCommands", "opsworks:DescribeDeployments", "opsworks:DescribeInstances", "opsworks:DescribeStacks", "opsworks:UpdateApp", "opsworks:UpdateStack" ], "Resource": "
resource_ARN
" },Para obter AWS CloudFormation suporte, adicione o seguinte à sua declaração de política:
{ "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "iam:PassRole" ], "Resource": "
resource_ARN
" },Observe que a permissão
cloudformation:DescribeStackEvents
é opcional. Isso permite que a AWS CloudFormation ação mostre uma mensagem de erro mais detalhada. Essa permissão poderá ser revogada do perfil do IAM se você não quiser que os detalhes do recurso apareçam nas mensagens de erro do pipeline. Para obter mais informações, consulte Referência da ação de implantação do AWS CloudFormation.Para obter CodeBuild suporte, adicione o seguinte à sua declaração de política:
{ "Effect": "Allow", "Action": [ "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource": "
resource_ARN
" },nota
O suporte às compilações em lote foi adicionado posteriormente. Consulte a etapa 11 para ver as permissões a serem adicionadas ao perfil de serviço para compilações em lote.
Para obter AWS Device Farm suporte, adicione o seguinte à sua declaração de política:
{ "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "
resource_ARN
" },Para compatibilidade com o Service Catalog, adicione o seguinte à declaração da política:
{ "Effect": "Allow", "Action": [ "servicecatalog:ListProvisioningArtifacts", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:DescribeProvisioningArtifact", "servicecatalog:DeleteProvisioningArtifact", "servicecatalog:UpdateProduct" ], "Resource": "
resource_ARN
" }, { "Effect": "Allow", "Action": [ "cloudformation:ValidateTemplate" ], "Resource": "resource_ARN
" } -
Para compatibilidade com o Amazon ECR, adicione o seguinte à declaração da política:
{ "Effect": "Allow", "Action": [ "ecr:DescribeImages" ], "Resource": "
resource_ARN
" }, -
Para o Amazon ECR, estas são as permissões mínimas necessárias para criar pipelines com uma ação de implantação do Amazon ECS.
{ "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:DescribeTaskDefinition", "ecs:DescribeTasks", "ecs:ListTasks", "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:UpdateService" ], "Resource": "
resource_ARN
" },Você pode aceitar o uso da autorização para atribuição de tags no Amazon ECS. Ao aceitar, você deve conceder as seguintes permissões:
ecs:TagResource
. Para obter mais informações sobre como aceitar e determinar se a permissão será necessária e a autorização de tag será aplicada, consulte o Cronograma de autorização para atribuição de tags no Guia do desenvolvedor do Amazon Elastic Container Service.Você também deve adicionar as permissões
iam:PassRole
para usar os perfis do IAM para tarefas. Para obter mais informações, consulte Perfil do IAM para execução de tarefas do Amazon ECS e Perfis do IAM para tarefas. Use o seguinte texto de política:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::
aws_account_ID
:role/ecsTaskExecutionRole_or_TaskRole_name
" ] } ] } -
Para a
CodeDeployToECS
ação (ação blue/green deployments), the following are the minimum permissions needed to create pipelines with a CodeDeploy to Amazon ECS blue/green de implantação).{ "Effect": "Allow", "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetDeployment", "codedeploy:GetApplication", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:GetDeploymentConfig", "ecs:RegisterTaskDefinition", "ecs:TagResource" ], "Resource": "
resource_ARN
" },Você pode aceitar o uso da autorização para atribuição de tags no Amazon ECS. Ao aceitar, você deve conceder as seguintes permissões:
ecs:TagResource
. Para obter mais informações sobre como aceitar e determinar se a permissão será necessária e a autorização de tag será aplicada, consulte o Cronograma de autorização para atribuição de tags no Guia do desenvolvedor do Amazon Elastic Container Service.Você também deve adicionar as permissões
iam:PassRole
para usar os perfis do IAM para tarefas. Para obter mais informações, consulte Perfil do IAM para execução de tarefas do Amazon ECS e Perfis do IAM para tarefas. Use o seguinte texto de 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 adicionar
ecs-tasks.amazonaws.com
à lista de serviços sob a condiçãoiam:PassedToService
, conforme mostrado neste exemplo.{ "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "
resource_ARN
", "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "cloudformation.amazonaws.com", "elasticbeanstalk.amazonaws.com", "ec2.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } }, -
Para AWS CodeStar conexões, a permissão a seguir é necessária para criar pipelines com uma fonte que usa uma conexão, como o Bitbucket Cloud.
{ "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "
resource_ARN
" },Para obter mais informações sobre as permissões do IAM para conexões, consulte Referência de permissões do Connections.
-
Para a ação
StepFunctions
, estas são as permissões mínimas necessárias para criar pipelines com uma ação de invocação do Step Functions.{ "Effect": "Allow", "Action": [ "states:DescribeStateMachine", "states:DescribeExecution", "states:StartExecution" ], "Resource": "
resource_ARN
" }, -
Para a
AppConfig
ação, a seguir estão as permissões mínimas necessárias para criar pipelines com uma AWS AppConfig ação de invocação.{ "Effect": "Allow", "Action": [ "appconfig:StartDeployment", "appconfig:GetDeployment", "appconfig:StopDeployment" ], "Resource": "
resource_ARN
" }, -
Para CodeBuild suporte para compilações em lote, adicione o seguinte à sua declaração de política:
{ "Effect": "Allow", "Action": [ "codebuild:BatchGetBuildBatches", "codebuild:StartBuildBatch" ], "Resource": "
resource_ARN
" }, -
Para AWS CloudFormation StackSets ações, as seguintes permissões mínimas são necessárias.
-
Para a ação
CloudFormationStackSet
, adicione o seguinte à declaração da política:{ "Effect": "Allow", "Action": [ "cloudformation:CreateStackSet", "cloudformation:UpdateStackSet", "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation", "cloudformation:DescribeStackSet", "cloudformation:ListStackInstances" ], "Resource": "
resource_ARN
" }, -
Para a ação
CloudFormationStackInstances
, adicione o seguinte à declaração da política:{ "Effect": "Allow", "Action": [ "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation" ], "Resource": "
resource_ARN
" },
-
-
Para obter CodeCommit suporte para a opção de clonagem completa, adicione o seguinte à sua declaração de política:
{ "Effect": "Allow", "Action": [ "codecommit:GetRepository" ], "Resource": "
resource_ARN
" },nota
Para garantir que sua CodeBuild ação possa usar a opção de clonagem completa com uma CodeCommit fonte, você também deve adicionar a
codecommit:GitPull
permissão à declaração de política da função de CodeBuild serviço do seu projeto. -
Para o Elastic Beanstalk, estas são as permissões mínimas necessárias para criar pipelines com uma ação de implantação
ElasticBeanstalk
.{ "Effect": "Allow", "Action": [ "elasticbeanstalk:*", "ec2:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "rds:*", "sqs:*", "ecs:*" ], "Resource": "
resource_ARN
" },nota
Você deve substituir os curingas na política de recursos pelos recursos da conta à qual deseja limitar o acesso. Para obter mais informações sobre a criação de uma política que conceda acesso com privilégios mínimos, consulte https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege.
-
Para um pipeline que você deseja configurar para o CloudWatch Logs, a seguir estão as permissões mínimas que você precisa adicionar à função CodePipeline de serviço.
{ "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:PutRetentionPolicy" ], "Resource": "
resource_ARN
" },nota
Você deve substituir os curingas na política de recursos pelos recursos da conta à qual deseja limitar o acesso. Para obter mais informações sobre a criação de uma política que conceda acesso com privilégios mínimos, consulte https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege.
-
Para o suporte à ação Commands, adicione o seguinte à declaração de política:
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME", "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*" ] }
nota
Restrinja as permissões ao nível de recurso do pipeline aplicando permissões baseadas em recurso na declaração de política do perfil de serviço. Para ter mais informações, consulte o exemplo de política em Permissões de política de perfil de serviço.
-
Para o apoio à
ECRBuildAndPublish
ação, adicione o seguinte à sua declaração de política:{ "Statement": [ { "Sid": "ECRRepositoryAllResourcePolicy", "Effect": "Allow", "Action": [ "ecr:DescribeRepositories", "ecr:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "
PrivateECR_Resource_ARN
" }, { "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:InitiateLayerUpload", "ecr-public:UploadLayerPart", "ecr-public:CompleteLayerUpload", "ecr-public:PutImage", "ecr-public:BatchCheckLayerAvailability", "sts:GetServiceBearerToken" ], "Resource": "PublicECR_Resource_ARN
" }, { "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" } ] }Além disso, se ainda não tiver sido adicionada à ação Comandos, adicione as seguintes permissões à sua função de serviço para visualizar CloudWatch os registros.
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "
resource_ARN
" },nota
Restrinja as permissões ao nível de recurso do pipeline aplicando permissões baseadas em recurso na declaração de política do perfil de serviço.
-
Para o apoio à
InspectorScan
ação, adicione o seguinte à sua declaração de política:{ "Effect": "Allow", "Action": "inspector-scan:ScanSbom", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "
resource_ARN
" },Além disso, se ainda não tiver sido adicionada à ação Comandos, adicione as seguintes permissões à sua função de serviço para visualizar CloudWatch os registros.
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "
resource_ARN
" },nota
Restrinja as permissões ao nível de recurso do pipeline aplicando permissões baseadas em recurso na declaração de política do perfil de serviço.
-
Selecione Review policy (Revisar política) para garantir que a política não contenha erros. Quando a política não tiver erros, selecione Aplicar política.