En esta página, se describen las cuentas de servicio, los roles y los permisos de Cloud Deploy.
El acceso en Cloud Deploy se controla con la Identity and Access Management (IAM). IAM te permite crear y administrar permisos para los recursos de Google Cloud. Cloud Deploy proporciona un conjunto específico de roles de IAM predefinidos, en el que cada función contiene un conjunto de permisos. Puedes usar estos roles para otorgar un acceso más detallado a recursos específicos de Google Cloud y evitar el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de menor privilegio, de manera que puedes otorgar solo el acceso necesario a tus recursos.
Consulta Usa IAM 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 la configuración de esta cuenta de servicio para su uso con Cloud Deploy o elegir una cuenta diferente, consulta la documentación de la cuenta de servicio de ejecución de Cloud Deploy.
Obtén más información sobre cómo Cloud Deploy usa las cuentas de servicio.
Roles predefinidos de Cloud Deploy
Con la IAM, cada método de API en la API de Cloud Deploy requiere que la identidad que realiza la solicitud a la API tenga los permisos adecuados para usar el recurso. Los permisos se asignan mediante la configuración de políticas que otorgan roles a un miembro (usuario, grupo o cuenta de servicio) del proyecto. Puedes otorgar varios roles a una principal en el mismo recurso.
La documentación de IAM incluye una referencia que se puede buscar de todos los roles predefinidos.
En la siguiente tabla, se enumeran los roles de IAM de Cloud Deploy y los permisos que estas incluyen:
Funciones de Cloud Deploy |
Permisos |
Administrador de Cloud Deploy( Tiene control completo sobre los recursos de Cloud Deploy. |
|
Responsable de aprobación de Cloud Deploy( Tiene permiso para aprobar o rechazar lanzamientos. |
|
Administrador de Custom Target Type de Cloud Deploy( Permiso para administrar los recursos de CustomTargetType |
|
Desarrollador de Cloud Deploy( Tiene permiso para administrar la configuración de implementación sin permiso de acceso a los recursos operativos, como los objetivos. |
|
Ejecutor de Cloud Deploy( Permiso para ejecutar el trabajo de Cloud Deploy sin permiso para entregarlo a un destino. |
|
Operador de Cloud Deploy( Tiene permiso para administrar la configuración de implementación. |
|
Administrador de políticas de Cloud Deploy Beta( Permiso para administrar las Políticas de implementación. |
|
Anulador de políticas de Cloud Deploy Beta( Permiso para anular las Políticas de implementación. |
|
Actualizador de Cloud Deploy( Tiene permiso para crear versiones y lanzamientos de Cloud Deploy. |
|
Visualizador de Cloud Deploy( Puede ver recursos de Cloud Deploy. |
|
Además de los roles predefinidos de Cloud Deploy, los roles básicos de visualizador, editor y propietario también incluyen permisos relacionados con Cloud Deploy. Sin embargo, te recomendamos otorgar roles predefinidos siempre que sea posible para cumplir con el principio de privilegio mínimo de seguridad.
Permisos
En la tabla siguiente, se enumeran los permisos que deben tener el emisor para llamar a cada método:
Método de API | Permiso necesario | Descripción |
---|---|---|
automations.create() |
clouddeploy.automations.create |
Crea un recurso de automatización nuevo. |
automations.delete() |
clouddeploy.automations.delete |
Borra un recurso de automatización existente. |
automations.get() |
clouddeploy.automations.get |
Recupera los detalles de un recurso de automatización individual. |
automations.list() |
clouddeploy.automations.list |
Enumera los recursos de automatización y sus metadatos. |
automations.update() |
clouddeploy.automations.update |
Actualiza un recurso de automatización existente. |
automationRuns.cancel() |
clouddeploy.automationRuns.cancel |
Cancela una automatización en ejecución. |
automationRuns.get() |
clouddeploy.automationRuns.get |
Recupera los detalles de una ejecución de automatización individual. |
automationRuns.list() |
clouddeploy.automationRuns.list |
Enumera las ejecuciones de automatización y sus metadatos. |
customTargetTypes.create() |
clouddeploy.customTargetTypes.create |
Crea un recurso de tipo de objetivo personalizado. |
customTargetTypes.delete() |
clouddeploy.customTargetTypes.delete |
Borra un recurso de tipo de objetivo personalizado. |
customTargetTypes.get() |
clouddeploy.customTargetTypes.get |
Recupera los detalles de un tipo de segmentación personalizada. |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetTypes.getIamPolicy |
Obtén la política de IAM para un recurso de tipo de destino personalizado. |
customTargetTypes.list() |
clouddeploy.customTargetTypes.list |
Muestra una lista de los tipos de segmentación personalizados disponibles y sus metadatos. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
Actualiza un tipo de segmentación personalizada existente. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
Establece la política de IAM para un recurso de tipo de objetivo personalizado. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
Crea un nuevo recurso de canalización de entrega. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
Borra un recurso de canalización de entrega existente. |
deliveryPipelines.get() |
clouddeploy.deliveryPipelines.get |
Recupera los detalles de una canalización de entrega individual. |
deliveryPipelines.getIamPolicy() |
clouddeploy.deliveryPipelines.getIamPolicy |
Obtén la política de IAM de un recurso de canalización de publicación. |
deliveryPipelines.list() |
clouddeploy.deliveryPipelines.list |
Enumera las canalizaciones de publicación y sus metadatos. |
deliveryPipelines.rollbackTarget() |
clouddeploy.rollouts.rollback |
Revierte un objetivo. |
deliveryPipelines.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
Establece la política de IAM para un recurso de canalización de publicación. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Actualiza un recurso de canalización de publicación existente. |
deployPolicies.create() |
clouddeploy.deployPolicies.create |
Crea un recurso de política de implementación. |
deployPolicies.delete() |
clouddeploy.deployPolicies.delete |
Borra 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 |
Muestra una lista de las políticas de implementación disponibles y sus metadatos. |
jobRuns.get() |
clouddeploy.jobRuns.get |
Recupera un recurso JobRuns . |
jobRuns.list() |
clouddeploy.jobRuns.list |
Muestra una lista de los recursos 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 |
Borra una operación de larga duración. |
operations.get() |
clouddeploy.operations.get |
Obtén una operación de larga duración específica (por ejemplo, para mostrar el estado de la creación de una versión). |
operations.list() |
clouddeploy.operations.list |
Muestra las operaciones de larga duración. |
releases.abandon() |
clouddeploy.releases.abandon |
Abandonar una versión y evitar que se realicen más lanzamientos en ella |
releases.create() |
clouddeploy.releases.create |
Crea un nuevo recurso de lanzamiento. El llamador también requiere el permiso iam.serviceAccounts.actAs en la cuenta de servicio que se usa para renderizar el manifiesto. |
releases.get() |
clouddeploy.releases.get |
Recupera los detalles de una versión individual. |
releases.list() |
clouddeploy.releases.list |
Enumera las versiones y los metadatos. |
rollouts.advance() |
clouddeploy.rollouts.advance |
Avanzar un lanzamiento a la fase siguiente |
rollouts.approve() |
clouddeploy.rollouts.approve |
Aprobar o rechazar un lanzamiento con el estado de aprobación required |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
Cancela un lanzamiento. |
rollouts.create() |
clouddeploy.rollouts.create |
Crea un nuevo recurso de lanzamiento o promociona una versión. El llamador también requiere el permiso iam.serviceAccounts.actAs en el proyecto o la cuenta de servicio que se usa para la implementación. |
rollouts.get() |
clouddeploy.rollouts.get |
Recupera los detalles de un lanzamiento individual. |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Ignora un trabajo con errores. |
rollouts.list() |
clouddeploy.rollouts.list |
Enumera los lanzamientos y los metadatos. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Vuelve a intentar un trabajo que falló. |
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 existente. |
targets.create() |
clouddeploy.targets.create |
Crea un nuevo recurso de destino. |
targets.delete() |
clouddeploy.targets.delete |
Borra un recurso de destino existente. |
targets.get() |
clouddeploy.targets.get |
Recupera los detalles de un objetivo individual. |
targets.getIamPolicy() |
clouddeploy.targets.getIamPolicy |
Obtiene la política de IAM para un recurso de destino. |
targets.list() |
clouddeploy.targets.list |
Enumera los destinos y sus metadatos. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
Establece la política de IAM para un recurso de destino. |
targets.update() |
clouddeploy.targets.update |
Actualiza un recurso de destino existente. |
Usa IAM para restringir acciones en los recursos de Cloud Deploy
Puedes proteger tus recursos de Cloud Deploy con IAM de las siguientes maneras:
API de meta de IAM
Usa
setIamPolicy
en los recursos de Cloud Deploy para restringir acciones en esos recursos.IAM condicional
Aplicar de forma programática las políticas de acceso, incluidas las condiciones en las que se otorga o se rechaza el acceso
Puedes usar estas políticas y condiciones para restringir las siguientes acciones en tus recursos de Cloud Deploy:
Crea una canalización de entrega o un destino
Puedes otorgar este acceso a usuarios o grupos específicos.
Cómo actualizar o borrar una canalización de entrega específica
Puedes otorgar este acceso a usuarios o grupos específicos.
Crea una versión para una canalización de entrega específica
Puedes otorgar este acceso a usuarios o grupos específicos.
Cómo actualizar o borrar un objetivo específico
Puedes otorgar este acceso a usuarios o grupos específicos.
Crea o aprueba un lanzamiento, o bien promociona una versión
Puedes otorgar este acceso a usuarios o grupos específicos para un segmento o una canalización de publicación específicos.
También puedes establecer una condición que limite este acceso a un período determinado.
¿Qué sigue?
- Obtén información sobre IAM.
- Obtén más información para usar condiciones en IAM
- Obtén más información sobre las cuentas de servicio de Cloud Deploy.