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). O IAM permite criar e gerenciar permissões de 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 do menor privilégio (em inglês) 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.

Na tabela abaixo, listamos 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

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 do Cloud Build
Quando você ativa a API
Cloud Build para um projeto,
a conta de serviço do Cloud Build
é criada automaticamente no projeto
e recebe esse papel para os recursos
no projeto. A conta de serviço
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 do Cloud Build.
Nome: roles/cloudbuild.integrations.viewer
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.integrations.editor
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.integrations.owner
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ão 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
Cargo: Administrador de conexão 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
Podem visualizar a conexão, os repositórios

e acessar o token somente leitura

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

Nome:roles/cloudbuild.tokenAccessor
Título: Acessador de tokens do Cloud Build
Podem visualizar a conexão, os repositórios

e acessar os tokens somente leitura e de leitura

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.

Role 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