Esta página descreve as contas de serviço, as funções e as autorizações do Cloud Deploy.
O acesso no Cloud Deploy é controlado através da gestão de identidade e de acesso (IAM). O IAM permite-lhe criar e gerir autorizações para recursos Google Cloud . O Cloud Deploy fornece um conjunto específico de funções de IAM predefinidas, em que cada função contém um conjunto de autorizações. Pode usar estas funções para conceder acesso mais detalhado a Google Cloud recursos específicos e impedir o acesso indesejado a outros recursos. O IAM permite-lhe adotar o princípio de segurança do menor privilégio, pelo que concede apenas o acesso necessário aos seus recursos.
Consulte o artigo Usar a IAM para restringir o acesso ao Cloud Deploy para saber mais sobre as funcionalidades de segurança avançadas de controlo de acesso.
Contas de serviço no Cloud Deploy
Por predefinição, o Cloud Deploy é executado com a conta de serviço do Compute Engine predefinida. Para mais informações sobre a configuração desta conta de serviço para utilização com o Cloud Deploy ou a escolha de 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.
Funções predefinidas do Cloud Deploy
Com o IAM, todos os métodos da API Cloud Deploy requerem que a identidade que faz o pedido à API tenha as autorizações adequadas para usar o recurso. As autorizações são concedidas através da definição de políticas que concedem funções a um principal (utilizador, grupo ou conta de serviço) do seu projeto. Pode conceder várias funções a um principal no mesmo recurso.
A documentação da IAM inclui uma referência pesquisável de todas as funções predefinidas.
A tabela seguinte indica as funções de IAM do Cloud Deploy e as autorizações que incluem:
Role | Permissions |
---|---|
Cloud Deploy Admin( Full control of Cloud Deploy resources. |
|
Cloud Deploy Approver( Permission to approve or reject rollouts. |
|
Cloud Deploy Custom Target Type Admin( Permission to manage CustomTargetType resources |
|
Cloud Deploy Developer( Permission to manage deployment configuration without permission to access operational resources, such as targets. |
|
Cloud Deploy Runner( Permission to execute Cloud Deploy work without permission to deliver to a target. |
|
Cloud Deploy Operator( Permission to manage deployment configuration. |
|
Cloud Deploy Policy Admin( Permission to manage Deploy Policies. |
|
Cloud Deploy Policy Overrider( Permission to override Deploy Policies. |
|
Cloud Deploy Releaser( Permission to create Cloud Deploy releases and rollouts. |
|
Cloud Deploy Service Agent( Gives Cloud Deploy Service Account access to managed resources. |
|
Cloud Deploy Viewer( Can view Cloud Deploy resources. |
|
Além das funções predefinidas do Cloud Deploy, as funções básicas de leitor, editor e proprietário também incluem autorizações relacionadas com o Cloud Deploy. No entanto, recomendamos que conceda funções predefinidas sempre que possível para agir em conformidade com o princípio de segurança do menor privilégio.
Autorizações
A tabela seguinte lista as autorizações que o autor da chamada tem de ter para chamar cada método:
Método da API | Autorização necessária | Descrição |
---|---|---|
automations.create() |
clouddeploy.automations.create |
Crie um novo recurso de automatização. |
automations.delete() |
clouddeploy.automations.delete |
Elimine um recurso de automatização existente. |
automations.get() |
clouddeploy.automations.get |
Obtenha detalhes de um recurso de automatização individual. |
automations.list() |
clouddeploy.automations.list |
Liste os recursos de automatização e os respetivos metadados. |
automations.update() |
clouddeploy.automations.update |
Atualize um recurso de automatização existente. |
automationRuns.cancel() |
clouddeploy.automationRuns.cancel |
Cancele uma automatização em execução. |
automationRuns.get() |
clouddeploy.automationRuns.get |
Obtenha detalhes sobre uma execução de automatização individual. |
automationRuns.list() |
clouddeploy.automationRuns.list |
Listar execuções de automatizações e os respetivos metadados. |
customTargetTypes.create() |
clouddeploy.customTargetTypes.create |
Crie um recurso de tipo de alvo personalizado. |
customTargetTypes.delete() |
clouddeploy.customTargetTypes.delete |
Elimine um recurso de tipo de alvo personalizado. |
customTargetTypes.get() |
clouddeploy.customTargetTypes.get |
Recupere detalhes de um tipo de segmentação personalizado. |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetTypes.getIamPolicy |
Obtenha a Política IAM para um recurso de tipo de segmentação personalizado. |
customTargetTypes.list() |
clouddeploy.customTargetTypes.list |
Apresenta uma lista dos tipos de alvos personalizados disponíveis e os respetivos metadados. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
Atualize um tipo de segmentação personalizado existente. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
Defina a Política IAM para um recurso de tipo de segmentação personalizado. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
Crie um novo recurso de pipeline de entrega. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
Elimine um recurso de pipeline de entrega existente. |
deliveryPipelines.get() |
clouddeploy.deliveryPipelines.get |
Recupere detalhes de um pipeline de fornecimento individual. |
deliveryPipelines.getIamPolicy() |
clouddeploy.deliveryPipelines.getIamPolicy |
Obtenha a Política IAM para um recurso de pipeline de entrega. |
deliveryPipelines.list() |
clouddeploy.deliveryPipelines.list |
Liste os pipelines de envio e os respetivos metadados. |
deliveryPipelines.rollbackTarget() |
clouddeploy.rollouts.rollback |
Reverte um destino. |
deliveryPipelines.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
Defina a Política IAM para um recurso de pipeline de fornecimento. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Atualize um recurso de pipeline de entrega existente. |
deployPolicies.create() |
clouddeploy.deployPolicies.create |
Crie um recurso de política de implementação. |
deployPolicies.delete() |
clouddeploy.deployPolicies.delete |
Elimine um recurso de política de implementação. |
deployPolicies.get() |
clouddeploy.deployPolicies.get |
Obtenha detalhes de um recurso de política de implementação. |
deployPolicies.list() |
clouddeploy.deployPolicies.list |
Liste as políticas de implementação disponíveis e os respetivos metadados. |
jobRuns.get() |
clouddeploy.jobRuns.get |
Obtenha um recurso JobRuns . |
jobRuns.list() |
clouddeploy.jobRuns.list |
Liste os JobRuns recursos e os respetivos metadados. |
jobRuns.terminate() |
clouddeploy.jobRuns.terminate |
Terminar uma execução de tarefa em curso. |
operations.cancel() |
clouddeploy.operations.cancel |
Cancele uma operação de longa duração. |
operation.delete() |
clouddeploy.operations.delete |
Elimine uma operação de longa duração. |
operations.get() |
clouddeploy.operations.get |
Obter uma operação de longa duração específica (por exemplo, para devolver o estado da criação de um lançamento). |
operations.list() |
clouddeploy.operations.list |
Apresentar operações de longa duração. |
releases.abandon() |
clouddeploy.releases.abandon |
Abandonar um lançamento e impedir implementações adicionais em relação ao lançamento. |
releases.create() |
clouddeploy.releases.create |
Crie um novo recurso de lançamento. O autor da chamada também precisa da autorização iam.serviceAccounts.actAs na conta de serviço usada para renderizar o manifesto. |
releases.get() |
clouddeploy.releases.get |
Recuperar detalhes de lançamentos individuais. |
releases.list() |
clouddeploy.releases.list |
Listar lançamentos e metadados. |
rollouts.advance() |
clouddeploy.rollouts.advance |
Avançar uma implementação para a fase seguinte. |
rollouts.approve() |
clouddeploy.rollouts.approve |
Aprove ou rejeite uma implementação com o estado de aprovação required . |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
Cancele uma implementação. |
rollouts.create() |
clouddeploy.rollouts.create |
Crie um novo recurso de implementação ou promova um lançamento. O autor da chamada também precisa da autorização iam.serviceAccounts.actAs no projeto ou na conta de serviço usada para a implementação. |
rollouts.get() |
clouddeploy.rollouts.get |
Recupere detalhes da implementação individual. |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Ignorar uma tarefa com falha. |
rollouts.list() |
clouddeploy.rollouts.list |
Listar implementações e metadados. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Volta a tentar uma tarefa com falha. |
rollouts.advance() , rollouts.approve() , rollouts.cancel() , rollouts.create() , rollouts.ignoreJob() , rollouts.retryJob() , deliveryPipelines.rollbackTarget() , jobRuns.terminate() |
clouddeploy.deployPolicies.override |
Substituir um recurso de política de implementação. |
deployPolicies.update() |
clouddeploy.deployPolicies.update |
Atualize um recurso de política de implementação existente. |
targets.create() |
clouddeploy.targets.create |
Crie um novo recurso de destino. |
targets.delete() |
clouddeploy.targets.delete |
Elimine um recurso de destino existente. |
targets.get() |
clouddeploy.targets.get |
Obtenha detalhes de um alvo individual. |
targets.getIamPolicy() |
clouddeploy.targets.getIamPolicy |
Obtém a Política IAM para um recurso de destino. |
targets.list() |
clouddeploy.targets.list |
Liste os alvos e os respetivos metadados. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
Define a Política IAM para um recurso de destino. |
targets.update() |
clouddeploy.targets.update |
Atualize um recurso de destino existente. |
Usar o IAM para restringir ações em recursos do Cloud Deploy
Pode proteger os seus recursos do Cloud Deploy através da IAM das seguintes formas:
Meta APIs de IAM
Use
setIamPolicy
em recursos do Cloud Deploy para restringir ações nesses recursos.IAM condicional
Aplicar políticas de acesso de forma programática, incluindo as condições em que o acesso deve ser concedido ou negado.
Pode usar estas políticas e condições para restringir as seguintes ações nos seus recursos do Cloud Deploy:
Crie um pipeline de entrega ou um destino
Pode conceder este acesso a utilizadores ou grupos específicos.
Atualize ou elimine um pipeline de entrega específico
Pode conceder este acesso a utilizadores ou grupos específicos.
Crie um lançamento para um pipeline de envio específico
Pode conceder este acesso a utilizadores ou grupos específicos.
Atualize ou elimine um alvo específico
Pode conceder este acesso a utilizadores ou grupos específicos.
Crie ou aprove uma implementação, ou promova um lançamento
Pode conceder este acesso a utilizadores ou grupos específicos para um alvo ou um pipeline de entrega específico.
Também pode definir uma condição que limite este acesso a um período de tempo especificado.
O que se segue?
- Saiba mais sobre a IAM.
- Saiba mais sobre a utilização de condições no IAM
- Saiba mais sobre as contas de serviço do Cloud Deploy.