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 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 usando la versión predeterminada de Compute Engine cuenta de servicio. Esa cuenta de servicio tiene permisos suficientes para renderizar manifiestos y realizar implementaciones en tus destinos.
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 usarla 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 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 |
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 destino 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 destino personalizado 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 para un recurso de canalización de entrega. |
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 entrega. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Actualiza un recurso de canalización de entrega 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 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 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 usó para realizar la implementación. |
rollouts.get() |
clouddeploy.rollouts.get |
Recupera los detalles de un lanzamiento individual. |
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. |
rollouts.advance() , rollouts.approve() , rollouts.cancel() , rollouts.create() , rollouts.ignoreJob() , rollouts.retryJob() , deliveryPipelines.rollbackTarget() y 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 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 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.
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.
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 promociona una versión
Puedes otorgar este acceso a usuarios o grupos específicos para un objetivo o canalización de entrega continua.
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 para usar condiciones en IAM
- Obtén más información sobre las cuentas de servicio de Cloud Deploy.