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:
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
|
Nome: roles/cloudbuild.builds.editor Título: Cloud Build Editor |
Controle total do Cloud Build
recursos |
cloudbuild.builds.create
|
Nome: roles/cloudbuild.builds.approver Título: Aprovador do Cloud Build |
Conceder acesso para aprovar ou
rejeitar builds pendentes |
cloudbuild.builds.approve
|
Nome: roles/cloudbuild.builds.builder Título: Conta de serviço legada do Cloud Build |
Quando você ativa o API Cloud Build para um projeto, a conta de serviço legada do Cloud Build é criado automaticamente no projeto e recebe esse papel para os recursos no projeto. A conta de serviço legado 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
|
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
|
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
|
Nome:roles/cloudbuild.connectionViewer Título: Visualizador de conexões do Cloud Build |
Pode conferir e listar conexões
e repositórios |
resourcemanager.projects.get
|
Nome:roles/cloudbuild.connectionAdmin Título: Administrador de conexão do Cloud Build |
Pode gerenciar conexões
e repositórios |
resourcemanager.projects.get
|
Nome:roles/cloudbuild.readTokenAccessor Título: Acessador de token somente leitura do Cloud Build |
Pode acessar a conexão e os repositórios dela,
e acessar o token somente leitura |
cloudbuild.connections.get
|
Nome:roles/cloudbuild.tokenAccessor Título: Acessador do token do Cloud Build |
Pode ver a conexão, os repositórios dela,
e acessar os tokens de leitura/gravação e somente leitura |
cloudbuild.connections.get
|
Nome: roles/cloudbuild.workerPoolOwner Título: Proprietário do WorkerPool do Cloud Build |
Controle total do pool particular | cloudbuild.workerpools.create
|
Nome:roles/cloudbuild.workerPoolEditor Título: Editor do Cloud Build WorkerPool |
Pode atualizar pools particulares | cloudbuild.workerpools.get
|
Nome: roles/cloudbuild.workerPoolViewer Título: Visualizador do Cloud Build WorkerPool |
Pode ver piscinas privativas | cloudbuild.workerpools.get
|
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
- Saiba mais sobre a conta de serviço do Cloud Build.
- Saiba como configurar o acesso aos recursos do Cloud Build.
- Saiba como configurar o acesso à conta de serviço do Cloud Build.
- Saiba mais sobre IAM.