Permissões e papéis do IAM

O controle de acesso no Cloud Build é feito usando o gerenciamento de identidade e acesso (IAM, na sigla em inglês). Com o IAM, é possível criar e gerenciar permissões para recursos do Google Cloud . O Cloud Build oferece um conjunto específico de papéis predefinidos do IAM, sendo que cada papel contém um conjunto de permissões. Você pode usar esses papéis para dar acesso mais granular a recursos específicos do Google Cloud e impedir o acesso indesejado a outros recursos. Com o IAM, é possível adotar o princípio de segurança de privilégio mínimo para conceder apenas o acesso necessário aos recursos.

Nesta página, descrevemos os papéis e as permissões do Cloud Build.

Papéis predefinidos do Cloud Build

Com o IAM, todo método de API na API Cloud Build exige que a identidade que faz a solicitação de API tenha as permissões apropriadas para usar o recurso. Para conceder permissões, defina as políticas que concedem papéis a um principal (usuário, grupo ou conta de serviço). É possível conceder vários papéis a um principal no mesmo recurso.

A tabela a seguir lista os papéis do IAM do Cloud Build e as permissões que eles incluem:

Papel Descrição Permissões
Nome: roles/cloudbuild.builds.viewer
Título: Leitor do Cloud Build
Pode ver o Cloud Build

recursos

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.locations.get

cloudbuild.locations.list

cloudbuild.operations.get

cloudbuild.operations.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.builds.editor
Título: Cloud Build Editor
Controle total do Cloud Build

recursos

cloudbuild.builds.create

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.builds.update

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.builds.approver
Título: Aprovador do Cloud Build
Conceder acesso para aprovar ou

rejeitar builds pendentes

cloudbuild.builds.approve

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.builds.builder
Título: Conta de serviço legada do Cloud Build
Quando você ativa a API
Cloud Build para um projeto,
a conta de serviço legada do Cloud Build
é criada automaticamente no projeto
e recebe esse papel para os recursos
no projeto. A conta de serviço legada
do Cloud Build usa esse papel somente como
necessário para executar ações ao executar
a versão.
Para uma lista de permissões
que esse papel contém,
consulte Conta de serviço padrão do Cloud Build.
Nome: roles/cloudbuild.integrationsViewer
Título: Visualizador de integrações do Cloud Build
Pode ver o Cloud Build

Conexões de host

cloudbuild.integrations.get

cloudbuild.integrations.list

resourcemanager.projects.get

resourcemanager.projects.list

Nome:roles/cloudbuild.integrationsEditor
Título: Editor de integrações do Cloud Build
Editar o controle do Cloud Build

Conexões de host

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

resourcemanager.projects.get

resourcemanager.projects.list

Nome:roles/cloudbuild.integrationsOwner
Título: Proprietário de integrações do Cloud Build
Controle total do Cloud Build

Conexões de host

cloudbuild.integrations.create

cloudbuild.integrations.delete

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

compute.firewalls.create

compute.firewalls.get

compute.firewalls.list

compute.networks.get

compute.networks.updatePolicy

compute.regions.get

compute.subnetworks.get

compute.subnetworks.list

resourcemanager.projects.get

resourcemanager.projects.list

Nome:roles/cloudbuild.connectionViewer
Título: Leitor de conexões do Cloud Build
Pode ver e listar conexões

e repositórios

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.getIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

Nome:roles/cloudbuild.connectionAdmin
Título: Administrador de conexões do Cloud Build
Pode gerenciar conexões

e repositórios

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.create

cloudbuild.connections.update

cloudbuild.connections.delete

cloudbuild.connections.getIamPolicy

cloudbuild.connections.setIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

cloudbuild.repositories.create

cloudbuild.repositories.delete

Nome:roles/cloudbuild.readTokenAccessor
Título: Acessador de token somente leitura do Cloud Build
Pode ver a conexão, os repositórios dela,

e acessar o token somente leitura

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

Nome:roles/cloudbuild.tokenAccessor
Título: Acessador de token do Cloud Build
Pode ver a conexão, os repositórios dela,

e acessar o token somente leitura e de leitura/gravação

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

cloudbuild.repositories.accessReadWriteToken

Nome: roles/cloudbuild.workerPoolOwner
Título: Proprietário do WorkerPool do Cloud Build
Controle total do pool particular cloudbuild.workerpools.create

cloudbuild.workerpools.delete

cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Nome:roles/cloudbuild.workerPoolEditor
Título: Editor do Cloud Build WorkerPool
Pode atualizar pools particulares cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.workerPoolViewer
Título: Visualizador do Cloud Build WorkerPool
Pode ver piscinas privativas cloudbuild.workerpools.get

cloudbuild.workerpools.list

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.workerPoolUser
Título: Usuário do WorkerPool do Cloud Build
Pode executar builds no pool particular cloudbuild.workerpools.use

Além dos papéis predefinidos do Cloud Build acima, os papéis básicos de Leitor, Editor e Proprietário também incluem permissões relacionadas ao Cloud Build. No entanto, recomendamos que você conceda papéis predefinidos sempre que possível para obedecer ao princípio de segurança do menor privilégio.

A tabela abaixo lista os papéis básicos e os papéis do IAM do Cloud Build que eles incluem.

Papel Papéis inclusos
roles/viewer roles/cloudbuild.builds.viewer, roles/cloudbuild.integrations.viewer
roles/editor roles/cloudbuild.builds.editor, roles/cloudbuild.integrations.editor
roles/owner roles/cloudbuild.integrations.owner

Permissões

A tabela a seguir lista as permissões que o solicitante precisa ter para chamar cada método:

Método de API Permissão necessária Título do papel
builds.create()
triggers.create()
triggers.patch()
triggers.delete()
triggers.run()
cloudbuild.builds.create Editor do Cloud Build
builds.cancel() cloudbuild.builds.update Editor do Cloud Build
builds.get()
triggers.get()
cloudbuild.builds.get Editor do Cloud Build, Leitor do Cloud Build
builds.list()
triggers.list()
cloudbuild.builds.list Editor do Cloud Build, Leitor do Cloud Build

Permissões para visualizar registros de versão

Para ver os registros de versão, você precisa de permissões adicionais, dependendo do armazenamento dos registros de versão no bucket padrão do Cloud Storage ou de um bucket do Cloud Storage especificado pelo usuário. Para mais informações sobre as permissões necessárias para ver os registros de versão, consulte Como armazenar e visualizar registros de versão.

A seguir