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. As permissões são concedidas por meio da definição de 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:

Role 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

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

recursos

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.builds.create

cloudbuild.builds.update

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

rejeitar builds pendentes

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.builds.approve

cloudbuild.builds.update

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

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

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.get

cloudbuild.integrations.list

cloudbuild.integrations.create

cloudbuild.integrations.delete

cloudbuild.integrations.update

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.update

cloudbuild.workerpools.get

cloudbuild.workerpools.list

resourcemanager.projects.get

resourcemanager.projects.list

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

cloudbuild.workerpools.get

cloudbuild.workerpools.list

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