Nesta página, descrevemos as contas de serviço, os papéis e as permissões do Cloud Deploy.
O acesso no Cloud Deploy é controlado pelo Identity and Access Management (IAM). Com o IAM, é possível criar e gerenciar permissões de recursos do Google Cloud. O Cloud Deploy oferece um conjunto específico de papéis predefinidos do IAM, em que cada papel contém um conjunto de permissões. Você pode usar esses papéis para dar acesso mais detalhado 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.
Consulte Como usar o IAM para restringir o acesso do Cloud Deploy para saber mais sobre os recursos avançados de segurança do controle de acesso.
Contas de serviço no Cloud Deploy
Por padrão, o Cloud Deploy é executado usando a conta de serviço padrão do Compute Engine. Para mais informações sobre como configurar essa conta de serviço para uso com o Cloud Deploy ou escolher uma conta diferente, consulte a documentação da conta de serviço de execução do Cloud Deploy.
Saiba mais sobre como o Cloud Deploy usa contas de serviço.
Papéis predefinidos do Cloud Deploy
Com o IAM, todo método de API na API Cloud Deploy 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) do projeto. É possível conceder vários papéis a um principal no mesmo recurso.
A documentação do IAM inclui uma referência pesquisável de todos os papéis predefinidos.
A tabela a seguir lista os papéis do IAM do Cloud Deploy e as permissões que eles incluem:
Papéis do Cloud Deploy |
Permissões |
Administrador do Cloud Deploy( Controle total dos recursos do Cloud Deploy. |
|
Aprovador do Cloud Deploy( Permissão para aprovar ou rejeitar lançamentos. |
|
Administrador de tipo de destino personalizado do Cloud Deploy( Permissão para gerenciar recursos CustomTargetType |
|
Desenvolvedor do Cloud Deploy( Permissão para gerenciar a configuração de implantação sem permissão para acessar recursos operacionais, como destinos. |
|
Executor do Cloud Deploy( Permissão para executar o trabalho do Cloud Deploy sem permissão para entregar a um destino. |
|
Operador do Cloud Deploy( Permissão para gerenciar a configuração de implantação. |
|
Administrador de políticas do Cloud Deploy Beta( Permissão para gerenciar políticas de implantação. |
|
Agente de substituição de políticas do Cloud Deploy Beta( Permissão para substituir políticas de implantação. |
|
Lançador do Cloud Deploy( Permissão para criar versões e lançamentos do Cloud Deploy. |
|
Leitor do Cloud Deploy( Pode ver recursos do Cloud Deploy. |
|
Além dos papéis predefinidos do Cloud Deploy, os papéis de Leitor, Editor e Proprietário básicos também incluem permissões relacionadas ao Cloud Deploy. 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.
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 | Descrição |
---|---|---|
automations.create() |
clouddeploy.automations.create |
Crie um novo recurso de automação. |
automations.delete() |
clouddeploy.automations.delete |
Exclua um recurso de automação. |
automations.get() |
clouddeploy.automations.get |
Extraia detalhes de um recurso de automação individual. |
automations.list() |
clouddeploy.automations.list |
Listar recursos de automação e os respectivos metadados. |
automations.update() |
clouddeploy.automations.update |
Atualize um recurso de automação. |
automationRuns.cancel() |
clouddeploy.automationRuns.cancel |
Cancelar uma automação em execução. |
automationRuns.get() |
clouddeploy.automationRuns.get |
Extrair detalhes de uma execução de automação individual. |
automationRuns.list() |
clouddeploy.automationRuns.list |
Listar execuções de automação e os respectivos metadados. |
customTargetTypes.create() |
clouddeploy.customTargetTypes.create |
Crie um recurso de tipo de destino personalizado. |
customTargetTypes.delete() |
clouddeploy.customTargetTypes.delete |
Excluir um recurso de tipo de destino personalizado. |
customTargetTypes.get() |
clouddeploy.customTargetTypes.get |
Extrair detalhes de um tipo de segmentação personalizada. |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetTypes.getIamPolicy |
Acesse a política do IAM para um recurso de tipo de destino personalizado. |
customTargetTypes.list() |
clouddeploy.customTargetTypes.list |
Listar os tipos de segmentação personalizada disponíveis e os respectivos metadados. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
Atualize um tipo de segmentação personalizada. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
Defina a política do IAM para um recurso de tipo de destino personalizado. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
Crie um novo recurso de pipeline de entrega. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
Exclua um recurso de pipeline de entrega atual. |
deliveryPipelines.get() |
clouddeploy.deliveryPipelines.get |
Recupere detalhes de um pipeline de entrega individual. |
deliveryPipelines.getIamPolicy() |
clouddeploy.deliveryPipelines.getIamPolicy |
Receba a política do IAM para um recurso de pipeline de entrega. |
deliveryPipelines.list() |
clouddeploy.deliveryPipelines.list |
Listar pipelines de entrega e respectivos metadados. |
deliveryPipelines.rollbackTarget() |
clouddeploy.rollouts.rollback |
Reverte um destino. |
deliveryPipelines.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
Defina a política do IAM para um recurso de pipeline de entrega. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Atualiza um recurso de pipeline de entrega atual. |
deployPolicies.create() |
clouddeploy.deployPolicies.create |
Crie um recurso de política de implantação. |
deployPolicies.delete() |
clouddeploy.deployPolicies.delete |
Excluir um recurso de política de implantação. |
deployPolicies.get() |
clouddeploy.deployPolicies.get |
Extrair detalhes de um recurso de política de implantação. |
deployPolicies.list() |
clouddeploy.deployPolicies.list |
Listar as políticas de implantação disponíveis e os metadados delas. |
jobRuns.get() |
clouddeploy.jobRuns.get |
Extraia um recurso JobRuns . |
jobRuns.list() |
clouddeploy.jobRuns.list |
Lista os recursos JobRuns e os metadados deles. |
jobRuns.terminate() |
clouddeploy.jobRuns.terminate |
Encerrar uma execução de job em andamento. |
operations.cancel() |
clouddeploy.operations.cancel |
Cancelar uma operação de longa duração. |
operation.delete() |
clouddeploy.operations.delete |
Excluir uma operação de longa duração. |
operations.get() |
clouddeploy.operations.get |
Receba uma operação específica de longa duração (por exemplo, para retornar o status da criação de uma versão). |
operations.list() |
clouddeploy.operations.list |
Listar operações de longa duração. |
releases.abandon() |
clouddeploy.releases.abandon |
Abandonar uma versão e impedir outros lançamentos dela. |
releases.create() |
clouddeploy.releases.create |
Crie um novo recurso de lançamento. O autor da chamada também requer a permissão iam.serviceAccounts.actAs na conta de serviço usada para renderizar o manifesto. |
releases.get() |
clouddeploy.releases.get |
Recuperar detalhes de uma versão. |
releases.list() |
clouddeploy.releases.list |
Listar versões e metadados. |
rollouts.advance() |
clouddeploy.rollouts.advance |
Avançar um lançamento para a próxima fase. |
rollouts.approve() |
clouddeploy.rollouts.approve |
Aprove ou recuse um lançamento com o estado de aprovação required . |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
Cancelar um lançamento. |
rollouts.create() |
clouddeploy.rollouts.create |
Crie um novo recurso de lançamento ou promova uma versão. O autor da chamada também requer a permissão iam.serviceAccounts.actAs no projeto ou na conta de serviço usada para implantar. |
rollouts.get() |
clouddeploy.rollouts.get |
Recuperar detalhes de um lançamento individual |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Ignorar um job com falha. |
rollouts.list() |
clouddeploy.rollouts.list |
Listar lançamentos e metadados. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Repete um job com falha. |
rollouts.advance() , rollouts.approve() , rollouts.cancel() , rollouts.create() , rollouts.ignoreJob() , rollouts.retryJob() , deliveryPipelines.rollbackTarget() , jobRuns.terminate() |
clouddeploy.deployPolicies.override |
Substitua um recurso de política de implantação. |
deployPolicies.update() |
clouddeploy.deployPolicies.update |
Atualize um recurso de política de implantação atual. |
targets.create() |
clouddeploy.targets.create |
Crie um novo recurso de destino. |
targets.delete() |
clouddeploy.targets.delete |
Exclua um recurso de destino existente. |
targets.get() |
clouddeploy.targets.get |
Recuperar detalhes de um destino individual. |
targets.getIamPolicy() |
clouddeploy.targets.getIamPolicy |
Recebe a política do IAM para um recurso de destino. |
targets.list() |
clouddeploy.targets.list |
Listar destinos e os respectivos metadados. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
Define a política do IAM para um recurso de destino. |
targets.update() |
clouddeploy.targets.update |
Atualize um recurso de destino existente. |
Como usar o IAM para restringir ações nos recursos do Cloud Deploy
É possível proteger os recursos do Cloud Deploy usando o IAM das seguintes maneiras:
APIs meta do IAM
Use
setIamPolicy
nos recursos do Cloud Deploy para restringir ações nesses recursos.IAM condicional
Aplique políticas de acesso programaticamente, incluindo as condições para conceder ou negar acesso.
É possível usar essas políticas e condições para restringir as seguintes ações nos recursos do Cloud Deploy:
Criar um pipeline ou um destino de entrega
Você pode conceder esse acesso a usuários ou grupos específicos.
Atualizar ou excluir um pipeline de entrega específico
Você pode conceder esse acesso a usuários ou grupos específicos.
Criar uma versão para um pipeline de entrega específico
Você pode conceder esse acesso a usuários ou grupos específicos.
Atualizar ou excluir uma segmentação específica
Você pode conceder esse acesso a usuários ou grupos específicos.
Criar ou aprovar um lançamento ou promover uma versão
É possível conceder esse acesso a usuários ou grupos específicos de um determinado pipeline de destino ou entrega.
Também é possível definir uma condição que limite esse acesso em um período especificado.
A seguir
- Saiba mais sobre IAM.
- Saiba mais sobre como usar condições no IAM.
- Saiba mais sobre as contas de serviço do Cloud Deploy.