En esta página se describen las cuentas de servicio, los roles y los permisos de Cloud Deploy.
El acceso a Cloud Deploy se controla mediante Gestión de Identidades y Accesos (IAM). IAM te permite crear y gestionar permisos para Google Cloud recursos. Cloud Deploy proporciona un conjunto específico de roles de gestión de identidades y accesos predefinidos, donde cada rol contiene un conjunto de permisos. Puedes usar estos roles para dar un acceso más detallado a recursos Google Cloud específicos y evitar el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de mínimos accesos, por lo que solo concedes el acceso necesario a tus recursos.
Consulta Usar la gestión de identidades y accesos para restringir el acceso a Cloud Deploy para obtener información sobre las funciones de seguridad avanzadas de control de acceso.
Cuentas de servicio en Cloud Deploy
De forma predeterminada, Cloud Deploy se ejecuta con la cuenta de servicio predeterminada de Compute Engine. Para obtener más información sobre cómo configurar esta cuenta de servicio para usarla con Cloud Deploy o elegir otra cuenta, consulta la documentación sobre la cuenta de servicio de ejecución de Cloud Deploy.
Consulta más información sobre cómo usa Cloud Deploy las cuentas de servicio.
Roles predefinidos de Cloud Deploy
Con IAM, cada método de la API Cloud Deploy requiere que la identidad que hace la solicitud a la API tenga los permisos adecuados para usar el recurso. Los permisos se conceden configurando políticas que asignan roles a una entidad principal (usuario, grupo o cuenta de servicio) de tu proyecto. Puedes conceder varios roles a una entidad principal en el mismo recurso.
La documentación de gestión de identidades y accesos incluye una referencia con función de búsqueda de todos los roles predefinidos.
En la siguiente tabla se indican los roles de gestión de identidades y accesos de Cloud Deploy y los permisos que incluyen:
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. |
|
Además de los roles predefinidos de Cloud Deploy, los roles básicos de lector, editor y propietario también incluyen permisos relacionados con Cloud Deploy. Sin embargo, te recomendamos que asignes roles predefinidos siempre que sea posible para cumplir el principio de seguridad de privilegio mínimo.
Permisos
En la siguiente tabla se indican los permisos que debe tener el llamador para invocar cada método:
Método de API | Permiso obligatorio | Descripción |
---|---|---|
automations.create() |
clouddeploy.automations.create |
Crea un recurso de automatización. |
automations.delete() |
clouddeploy.automations.delete |
Elimina un recurso de automatización. |
automations.get() |
clouddeploy.automations.get |
Recupera los detalles de un recurso de automatización concreto. |
automations.list() |
clouddeploy.automations.list |
Mostrar los recursos de automatización y sus metadatos. |
automations.update() |
clouddeploy.automations.update |
Actualiza un recurso de automatización. |
automationRuns.cancel() |
clouddeploy.automationRuns.cancel |
Cancelar una automatización en curso. |
automationRuns.get() |
clouddeploy.automationRuns.get |
Recupera los detalles de una ejecución de automatización concreta. |
automationRuns.list() |
clouddeploy.automationRuns.list |
Muestra las ejecuciones de automatizaciones y sus metadatos. |
customTargetTypes.create() |
clouddeploy.customTargetTypes.create |
Crea un recurso de tipo de segmentación personalizado. |
customTargetTypes.delete() |
clouddeploy.customTargetTypes.delete |
Elimina un recurso de tipo de destino personalizado. |
customTargetTypes.get() |
clouddeploy.customTargetTypes.get |
Recupera los detalles de un tipo de objetivo personalizado. |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetTypes.getIamPolicy |
Obtiene la política de gestión de identidades y accesos de un recurso de tipo de destino personalizado. |
customTargetTypes.list() |
clouddeploy.customTargetTypes.list |
Lista los tipos de segmentación personalizada disponibles y sus metadatos. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
Actualiza un tipo de segmentación personalizado. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
Define la política de gestión de identidades y accesos de un recurso de tipo de destino personalizado. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
Crea un recurso de flujo de procesamiento de entrega. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
Elimina un recurso de canalización de distribución. |
deliveryPipelines.get() |
clouddeploy.deliveryPipelines.get |
Recupera los detalles de una canalización de entrega concreta. |
deliveryPipelines.getIamPolicy() |
clouddeploy.deliveryPipelines.getIamPolicy |
Obtiene la política de gestión de identidades y accesos de un recurso de canalización de distribución. |
deliveryPipelines.list() |
clouddeploy.deliveryPipelines.list |
Muestra las canalizaciones de distribución y sus metadatos. |
deliveryPipelines.rollbackTarget() |
clouddeploy.rollouts.rollback |
Deshace la acción de un destino. |
deliveryPipelines.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
Define la política de gestión de identidades y accesos de un recurso de canalización de entrega. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Actualiza un recurso de flujo de procesamiento de entrega. |
deployPolicies.create() |
clouddeploy.deployPolicies.create |
Crea un recurso de política de implementación. |
deployPolicies.delete() |
clouddeploy.deployPolicies.delete |
Elimina un recurso de política de implementación. |
deployPolicies.get() |
clouddeploy.deployPolicies.get |
Recupera los detalles de un recurso de política de implementación. |
deployPolicies.list() |
clouddeploy.deployPolicies.list |
Lista las políticas de implementación disponibles y sus metadatos. |
jobRuns.get() |
clouddeploy.jobRuns.get |
Recupera un recurso JobRuns . |
jobRuns.list() |
clouddeploy.jobRuns.list |
Mostrar los recursos de JobRuns y sus metadatos. |
jobRuns.terminate() |
clouddeploy.jobRuns.terminate |
Finaliza una ejecución de trabajo en curso. |
operations.cancel() |
clouddeploy.operations.cancel |
Cancela una operación de larga duración. |
operation.delete() |
clouddeploy.operations.delete |
Elimina una operación de larga duración. |
operations.get() |
clouddeploy.operations.get |
Obtener una operación de larga duración específica (por ejemplo, para devolver el estado de la creación de una versión). |
operations.list() |
clouddeploy.operations.list |
Lista las operaciones de larga duración. |
releases.abandon() |
clouddeploy.releases.abandon |
Abandonar una versión y evitar que se lancen más versiones. |
releases.create() |
clouddeploy.releases.create |
Crea un recurso de lanzamiento. El llamante también necesita el permiso iam.serviceAccounts.actAs en la cuenta de servicio usada para renderizar el manifiesto. |
releases.get() |
clouddeploy.releases.get |
Recupera los detalles de un lanzamiento concreto. |
releases.list() |
clouddeploy.releases.list |
Mostrar lanzamientos y metadatos. |
rollouts.advance() |
clouddeploy.rollouts.advance |
Avanzar una publicación a la siguiente fase. |
rollouts.approve() |
clouddeploy.rollouts.approve |
Aprobar o rechazar un lanzamiento con el estado de aprobación required . |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
Cancelar un lanzamiento. |
rollouts.create() |
clouddeploy.rollouts.create |
Crea un recurso de lanzamiento o promociona una versión. El llamante también necesita el permiso iam.serviceAccounts.actAs en el proyecto o la cuenta de servicio que se utilice para el despliegue. |
rollouts.get() |
clouddeploy.rollouts.get |
Recupera los detalles de una implementación individual. |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Ignorar una tarea fallida. |
rollouts.list() |
clouddeploy.rollouts.list |
Mostrar implementaciones y metadatos. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Vuelve a intentar ejecutar una tarea fallida. |
rollouts.advance() , rollouts.approve() , rollouts.cancel() , rollouts.create() , rollouts.ignoreJob() , rollouts.retryJob() , deliveryPipelines.rollbackTarget() , jobRuns.terminate() |
clouddeploy.deployPolicies.override |
Anula un recurso de política de implementación. |
deployPolicies.update() |
clouddeploy.deployPolicies.update |
Actualiza un recurso de política de implementación. |
targets.create() |
clouddeploy.targets.create |
Crea un recurso de destino. |
targets.delete() |
clouddeploy.targets.delete |
Elimina un recurso de destino. |
targets.get() |
clouddeploy.targets.get |
Recupera los detalles de un objetivo concreto. |
targets.getIamPolicy() |
clouddeploy.targets.getIamPolicy |
Obtiene la política de gestión de identidades y accesos de un recurso de destino. |
targets.list() |
clouddeploy.targets.list |
Muestra los destinos y sus metadatos. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
Define la política de gestión de identidades y accesos de un recurso de destino. |
targets.update() |
clouddeploy.targets.update |
Actualiza un recurso de destino. |
Usar la gestión de identidades y accesos para restringir las acciones en los recursos de Cloud Deploy
Puede proteger sus recursos de Cloud Deploy mediante IAM de las siguientes formas:
APIs de metadatos de IAM
Usa
setIamPolicy
en los recursos de Cloud Deploy para restringir las acciones en esos recursos.Gestión de identidades y accesos condicional
Aplica políticas de acceso de forma programática, incluidas las condiciones en las que se debe conceder o denegar el acceso.
Puedes usar estas políticas y condiciones para restringir las siguientes acciones en tus recursos de Cloud Deploy:
Crear un flujo de procesamiento o un destino
Puedes conceder este acceso a usuarios o grupos específicos.
Actualizar o eliminar una canalización de entrega específica
Puedes conceder este acceso a usuarios o grupos específicos.
Crear una versión para un flujo de procesamiento de entrega específico
Puedes conceder este acceso a usuarios o grupos específicos.
Actualizar o eliminar un objetivo específico
Puedes conceder este acceso a usuarios o grupos específicos.
Crear o aprobar un lanzamiento o promocionar una versión
Puedes conceder este acceso a usuarios o grupos específicos para una segmentación o una canalización de entrega concretas.
También puedes definir una condición que limite este acceso a un periodo específico.
Siguientes pasos
- Consulta información sobre IAM.
- Más información sobre el uso de condiciones en la gestión de identidades y accesos
- Consulta más información sobre las cuentas de servicio de Cloud Deploy.