Permitir que os usuários interajam com o CodeBuild
Se você seguir as etapas em Conceitos básicos que usam o console para acessar o AWS CodeBuild pela primeira vez, provavelmente não precisará das informações neste tópico. Entretanto, ao continuar usando o CodeBuild, é recomendável realizar algumas ações, como permitir que outros usuários e grupos da organização interajam com o CodeBuild.
Para permitir que um usuário do IAM ou grupo interaja com o AWS CodeBuild, você deve dar a eles permissões de acesso ao CodeBuild. Esta seção descreve como fazer isso pelo console do IAM ou a AWS CLI.
Se você acessar o CodeBuild com a conta raiz da AWS (não recomendado) ou um usuário administrador na conta da AWS, não é necessário seguir estas instruções.
Para obter informações sobre contas raiz da AWS e usuários administradores, consulte The Conta da AWS root user e Creating Your First Conta da AWS root user and Group no Guia do usuário.
Como adicionar permissões de acesso do CodeBuild a um grupo ou um usuário do IAM (console)
Abra o console do IAM em https://console.aws.amazon.com/iam/
. Você já deverá estar conectado no AWS Management Console de uma das seguintes maneiras:
-
Sua conta raiz AWS. Isso não é recomendado. Para obter mais informações, consulte The Conta da AWS root user no Guia do usuário.
-
Um usuário administrador na conta da AWS. Para obter mais informações, consulte Creating Your First Conta da AWS root user and Group no Guia do usuário.
-
Um usuário na conta da AWS com permissão para executar o seguinte conjunto mínimo de ações:
iam:AttachGroupPolicy iam:AttachUserPolicy iam:CreatePolicy iam:ListAttachedGroupPolicies iam:ListAttachedUserPolicies iam:ListGroups iam:ListPolicies iam:ListUsers
Para obter mais informações, consulte Overview of IAM Policies no Guia do usuário.
-
-
No painel de navegação, escolha Policies.
-
Para adicionar um conjunto personalizado de permissões de acesso do AWS CodeBuild a um grupo ou um usuário do IAM, vá para a etapa 4 deste procedimento.
Para adicionar um conjunto padrão de permissões de acesso do CodeBuild a um grupo ou um usuário do IAM, selecione Tipo de política, Gerenciada da AWS e, depois, faça o seguinte:
-
Para adicionar permissões de acesso total ao CodeBuild, selecione a caixa chamada AWSCodeBuildAdminAccess e escolha Ações de política e Anexar. Selecione a caixa ao lado do grupo ou do usuário do IAM de destino e, depois, escolha Anexar política. Repita isso para as políticas AmazonS3ReadOnlyAccess e IAMFullAccess.
-
Para adicionar permissões de acesso ao CodeBuild para todos os recursos, exceto a administração de projetos de compilação, marque a caixa AWSCodeBuildDeveloperAccess, escolha Ações de política e Anexar. Selecione a caixa ao lado do grupo ou do usuário do IAM de destino e, depois, escolha Anexar política. Repita isso para a política AmazonS3ReadOnlyAccess.
-
Para adicionar permissões de acesso somente leitura ao CodeBuild, selecione as caixas denominadas AWSCodeBuildReadOnlyAccess. Selecione a caixa ao lado do grupo ou do usuário do IAM de destino e, depois, escolha Anexar política. Repita isso para a política AmazonS3ReadOnlyAccess.
Agora você adicionou um conjunto padrão de permissões de acesso do CodeBuild a um grupo ou um usuário do IAM. Ignore as etapas seguintes deste procedimento.
-
-
Escolha Criar política.
-
Na página Create Policy, próximo a Create Your Own Policy, escolha Select.
-
Na página Review Policy (Revisar política), em Policy Name (Nome da política), insira um nome para a política (por exemplo,
CodeBuildAccessPolicy
). Se você usar um nome diferente, certifique-se de usá-lo durante todo este procedimento. -
Em Policy Document (Documento de política), insira o seguinte e selecione Create Policy (Criar política):
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildAccessPolicy", "Effect": "Allow", "Action": [ "codebuild:*" ], "Resource": "*" }, { "Sid": "CodeBuildRolePolicy", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::
account-ID
:role/role-name
" }, { "Sid": "CloudWatchLogsAccessPolicy", "Effect": "Allow", "Action": [ "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Sid": "S3AccessPolicy", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetObject", "s3:List*", "s3:PutObject" ], "Resource": "*" }, { "Sid": "S3BucketIdentity", "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "*" } ] }nota
Essas políticas permitem acesso a todas as ações do CodeBuild e a uma grande variedade de recursos da AWS. Para restringir permissões para ações específicas do CodeBuild, altere o valor
codebuild:*
na declaração de política do CodeBuild. Para obter mais informações, consulte Gerenciamento de identidade e acesso. Para restringir acesso a recursos específicos da AWS, altere o valor do objetoResource
. Para obter mais informações, consulte Gerenciamento de identidade e acesso. -
No painel de navegação, selecione Groups ou Users.
-
Na lista de grupos ou usuários, escolha o nome do grupo ou do usuário do IAM ao qual você deseja adicionar permissões de acesso do CodeBuild.
-
Para um grupo, na página de configurações do grupo, na guia Permissions (Permissões), expanda Managed Policies (Políticas gerenciadas) e escolha Attach Policy (Anexar política).
Para um usuário, na página de configurações do usuário, na guia Permissions, escolha Add permissions.
-
Em um grupo, na página Anexar política, selecione CodeBuildAccessPolicy e escolha Anexar política.
Para um usuário, na página Adicionar permissões, escolha Anexar políticas existentes diretamente. Selecione CodeBuildAccessPolicy, escolha Próximo: Revisão e Adicionar permissões.
Como adicionar permissões de acesso do CodeBuild a um grupo ou um usuário do IAM (AWS CLI)
-
Certifique-se de você tenha configurado a AWS CLI com a chave de acesso da AWS e a chave de acesso secreta da AWS correspondentes a uma das entidades do IAM, como descrito no procedimento anterior. Para obter mais informações, consulte Noções básicas de configuração do AWS Command Line Interface no Guia do usuário do AWS Command Line Interface.
-
Para adicionar um conjunto personalizado de permissões de acesso do AWS CodeBuild a um grupo ou um usuário do IAM, vá para a etapa 3 deste procedimento.
Para adicionar um conjunto padrão de permissões de acesso do CodeBuild a um grupo ou um usuário do IAM, faça o seguinte:
Execute os seguintes comandos, dependendo se deseja adicionar permissões a um grupo ou um usuário do IAM:
aws iam attach-group-policy --group-name
group-name
--policy-arnpolicy-arn
aws iam attach-user-policy --user-nameuser-name
--policy-arnpolicy-arn
É necessário executar o comando três vezes, substituindo
group-name
ouuser-name
pelo usuário ou nome do usuário do IAM e substituindopolicy-arn
uma vez para cada um dos seguintes nomes do recurso da Amazon (ARNs) de políticas:-
Para adicionar permissões de acesso completo ao CodeBuild, use os seguintes ARNs de políticas:
-
arn:aws:iam::aws:policy/AWSCodeBuildAdminAccess
-
arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
-
arn:aws:iam::aws:policy/IAMFullAccess
-
-
Para adicionar permissões de acesso ao CodeBuild para todos os recursos, exceto a administração de projetos de compilação, use os seguintes ARNs de políticas:
-
arn:aws:iam::aws:policy/AWSCodeBuildDeveloperAccess
-
arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
-
-
Para adicionar permissões de acesso somente-leitura ao CodeBuild, use os seguintes ARNs de políticas:
-
arn:aws:iam::aws:policy/AWSCodeBuildReadOnlyAccess
-
arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
-
Agora você adicionou um conjunto padrão de permissões de acesso do CodeBuild a um grupo ou um usuário do IAM. Ignore as etapas seguintes deste procedimento.
-
-
Em um diretório vazio na estação de trabalho ou instância local onde a AWS CLI esteja instalada, crie um arquivo chamado
put-group-policy.json
ouput-user-policy.json
. Se você escolher um nome de arquivo diferente, certifique-se de usá-lo durante todo este procedimento.{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildAccessPolicy", "Effect": "Allow", "Action": [ "codebuild:*" ], "Resource": "*" }, { "Sid": "CodeBuildRolePolicy", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::
account-ID
:role/role-name
" }, { "Sid": "CloudWatchLogsAccessPolicy", "Effect": "Allow", "Action": [ "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Sid": "S3AccessPolicy", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetObject", "s3:List*", "s3:PutObject" ], "Resource": "*" }, { "Sid": "S3BucketIdentity", "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "*" } ] }nota
Essas políticas permitem acesso a todas as ações do CodeBuild e a uma grande variedade de recursos da AWS. Para restringir permissões para ações específicas do CodeBuild, altere o valor
codebuild:*
na declaração de política do CodeBuild. Para obter mais informações, consulte Gerenciamento de identidade e acesso. Para restringir o acesso a recursos específicos da AWS, altere o valor do objeto relacionadoResource
. Para obter mais informações, consulte Gerenciamento de identidade e acesso ou a documentação específica de segurança do serviço AWS. -
Navegue até o diretório onde você salvou o arquivo e execute um dos seguintes comandos. Você pode usar valores diferentes para
CodeBuildGroupAccessPolicy
eCodeBuildUserAccessPolicy
. Se você usar valores diferentes, certifique-se de usá-los aqui.Para um grupo IAM:
aws iam put-group-policy --group-name
group-name
--policy-name CodeBuildGroupAccessPolicy --policy-document file://put-group-policy.jsonPara um usuário do :
aws iam put-user-policy --user-name
user-name
--policy-name CodeBuildUserAccessPolicy --policy-document file://put-user-policy.jsonNos comandos anteriores, substitua
group-name
ouuser-name
pelo nome do grupo ou do usuário do IAM de destino.