En esta página, se describen las cuentas de servicio, los roles y permisos.
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 un conjunto de roles predefinidos de IAM Cada rol 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 a fin de aprender sobre las funciones avanzadas de seguridad para el control de acceso.
Cuentas de servicio en Cloud Deploy
De forma predeterminada, Cloud Deploy se ejecuta usando la versión predeterminada de Compute Engine cuenta de servicio. La cuenta de servicio tiene los permisos necesarios para procesar e implementarlos en los destinos.
Obtén más información sobre cómo Cloud Deploy usa 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 un 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 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 Versión beta( Permiso para administrar las Políticas de implementación. |
|
Anulador de políticas de Cloud Deploy Versión 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, Visualizador basic, Los roles de 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 nuevo recurso de automatización. |
automations.delete() |
clouddeploy.automations.delete |
Borra un recurso de automatización existente. |
automations.get() |
clouddeploy.automations.get |
Recuperar 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 destino 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 |
Enumera los tipos de destinos personalizados disponibles y sus metadatos. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
Actualiza un tipo de destino personalizado existente. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
Establece la política de IAM para un recurso de tipo de destino 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 para un recurso de canalización de entrega. |
deliveryPipelines.list() |
clouddeploy.deliveryPipelines.list |
Enumera las canalizaciones de entrega 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 entrega. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Actualiza un recurso de canalización de publicación existente. |
jobRuns.get() |
clouddeploy.jobRuns.get |
Recupera un recurso JobRuns . |
jobRuns.list() |
clouddeploy.jobRuns.list |
Enumera los recursos JobRuns y sus metadatos. |
jobRuns.terminate() |
clouddeploy.jobRuns.terminate |
Finaliza la ejecución de un 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 específica de larga duración (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 futuros lanzamientos |
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 detalles de versiones individuales. |
releases.list() |
clouddeploy.releases.list |
Enumera lanzamientos y metadatos. |
releases.promote() |
clouddeploy.rollouts.create |
Promover la versión al siguiente destino |
rollouts.advance() |
clouddeploy.rollouts.advance |
Avanzar un lanzamiento 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 |
Cancela un lanzamiento. |
rollouts.create() |
clouddeploy.rollouts.create |
Crea un recurso de lanzamiento nuevo. El llamador también requiere el permiso iam.serviceAccounts.actAs en el proyecto o la cuenta de servicio que se usó para realizar la implementación. |
rollouts.get() |
clouddeploy.rollouts.get |
Recupera detalles de lanzamientos individuales. |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Ignorar un trabajo con errores |
rollouts.list() |
clouddeploy.rollouts.list |
Enumera lanzamientos y metadatos. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Vuelve a intentar un trabajo con errores. |
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 detalles de un destino 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 la IAM de las siguientes maneras:
API de meta de IAM
Usa
setIamPolicy
en Recursos de Cloud Deploy para restringir acciones en esos recursos.IAM condicional
Aplicar políticas de acceso de manera programática, incluidas las condiciones en las que otorgar o denegar 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.
Actualiza o borra 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.
Actualiza o borra un destino específico
Puedes otorgar este acceso a usuarios o grupos específicos.
Crea o aprueba un lanzamiento, o 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 durante ese período.
¿Qué sigue?
- Obtén información sobre IAM.
- Obtén más información sobre el uso de condiciones en IAM
- Obtén más información sobre las cuentas de servicio de Cloud Deploy.