Permisos y roles de IAM

En esta página, se describen las cuentas de servicio, los roles y los permisos de Google Cloud Deploy.

El acceso en Google Cloud Deploy se controla con la Identity and Access Management (IAM). IAM te permite crear y administrar permisos para los recursos de Google Cloud. Google 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 Google Cloud Deploy a fin de obtener información sobre las funciones de seguridad de control de acceso avanzadas.

Cuentas de servicio en Google Cloud Deploy

De forma predeterminada, Google Cloud Deploy se ejecuta con la cuenta de servicio predeterminada de Compute Engine. Esa cuenta de servicio tiene permisos suficientes para renderizar manifiestos y, luego, implementarlos en tus destinos.

Obtén más información sobre cómo Google Cloud Deploy usa cuentas de servicio.

Roles predefinidos de Google Cloud Deploy

Con la IAM, cada método de API en la API de Google 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.

En la siguiente tabla, se enumeran los roles de IAM de Google Cloud Deploy y los permisos que estas incluyen:

Rol Descripción Permisos
roles/clouddeploy.viewer Puede ver los recursos

de Google Cloud Deploy.

clouddeploy.*.get

clouddeploy.*.list

roles/clouddeploy.admin Control completo sobre los recursos de Cloud Deploy. clouddeploy.*
roles/clouddeploy.developer Puede crear, recuperar, actualizar y

borrar los recursos de canalización de entrega de Google Cloud Deploy.

clouddeploy.deliveryPipelines.get

clouddeploy.deliveryPipelines.list

clouddeploy.deliveryPipelines.create

clouddeploy.deliveryPipelines.delete

clouddeploy.deliveryPipelines.update

clouddeploy.deliveryPipelines.getIamPolicy

clouddeploy.releases.*

clouddeploy.rollouts.get

clouddeploy.rollouts.list

clouddeploy.operations.*

clouddeploy.jobRuns.get

clouddeploy.jobRuns.list

roles/clouddeploy.operator Puede crear, recuperar, actualizar y borrar

Canalización de entrega de Google Cloud Deploy y recursos de destino.

Puede crear y recuperar recursos de lanzamiento, lanzamiento y ejecución de trabajos.

clouddeploy.deliveryPipelines.get

clouddeploy.deliveryPipelines.list

clouddeploy.deliveryPipelines.create

clouddeploy.deliveryPipelines.delete

clouddeploy.deliveryPipelines.update

clouddeploy.deliveryPipelines.getIamPolicy

clouddeploy.releases.*

clouddeploy.targets.get

clouddeploy.targets.list

clouddeploy.targets.create

clouddeploy.targets.delete

clouddeploy.targets.update

clouddeploy.targets.getIamPolicy

clouddeploy.rollouts.list

clouddeploy.rollouts.get

clouddeploy.rollouts.create

clouddeploy.rollouts.retryJob

clouddeploy.operations.*

clouddeploy.jobRuns.get

clouddeploy.jobRuns.list

roles/clouddeploy.approver Puede ver y aprobar solo los recursos

de lanzamiento Google Cloud Deploy.

clouddeploy.rollouts.get

clouddeploy.rollouts.list

clouddeploy.rollouts.approve

clouddeploy.operations.*

clouddeploy.jobRuns.get

clouddeploy.jobRuns.list

roles/clouddeploy.jobRunner Puede ejecutar trabajo de Google Cloud Deploy sin

permiso para implementar en un destino.

logging.logEntries.create

storage.objects.create

storage.objects.list

storage.objects.get

roles/clouddeploy.releaser Puede crear y recuperar lanzamientos y lanzamientos clouddeploy.deliveryPipelines.get

clouddeploy.targets.get

clouddeploy.releases.list

clouddeploy.releases.get

clouddeploy.releases.create

clouddeploy.rollouts.list

clouddeploy.rollouts.get

clouddeploy.rollouts.create

clouddeploy.jobRuns.get

clouddeploy.jobRuns.list

Además de los roles predefinidos de Google Cloud Deploy, los roles básicos de visualizador, editor y propietario también incluyen permisos relacionados con Google 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
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 Enumerar canalizaciones de entrega y sus metadatos
deliveryPipelines.setIamPolicy() clouddeploy.deliveryPipelines.setIamPolicy Configura la política de IAM para un recurso de canalización de entrega.
deliveryPipelines.update() clouddeploy.deliveryPipelines.update Actualizar un recurso de canalización de entrega existente
jobRuns.get() clouddeploy.jobRuns.get Recupera un recurso JobRuns.
jobRuns.list() clouddeploy.jobRuns.list Enumera los recursos JobRuns y sus metadatos.
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 creación de una versión).
operations.list() clouddeploy.operations.list Muestra las operaciones de larga duración.
releases.abandon() clouddeploy.releases.abandon Abandona una versión y evita lanzamientos posteriores.
releases.create() clouddeploy.releases.create Crea un nuevo recurso de lanzamiento. El emisor también requiere el permiso iam.serviceAccounts.actAs en la cuenta de servicio que se usa para procesar 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.
releases.promote() clouddeploy.rollouts.create Asciende la versión al siguiente destino.
rollouts.approve() clouddeploy.rollouts.approve Aprueba o rechaza un lanzamiento con el estado de aprobación required.
rollouts.create() clouddeploy.rollouts.create Crea un nuevo recurso de lanzamiento. El emisor 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 del lanzamiento individual.
rollouts.list() clouddeploy.rollouts.list Enumerar los lanzamientos y los 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 los 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 las orientaciones y sus metadatos.
targets.setIamPolicy() clouddeploy.targets.setIamPolicy Configura la política de IAM para un recurso de destino.
targets.update() clouddeploy.targets.update Actualizar un recurso de destino existente

Usa IAM para restringir acciones en los recursos de Google Cloud Deploy

Puedes proteger tus recursos de Google Cloud Deploy mediante IAM de las siguientes maneras:

  • API de meta de IAM

    Usa setIamPolicy en los recursos de Google Cloud Deploy para restringir acciones en esos recursos.

  • IAM condicional

    Aplica políticas de acceso de manera programática, incluidas las condiciones en las que se otorgará o denegará el acceso.

Puedes usar estas políticas y condiciones para restringir las siguientes acciones en tus recursos de Google Cloud Deploy:

  • Crea una canalización o un destino de entrega

    Puedes otorgar este acceso a usuarios o grupos específicos.

  • 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.

  • Actualizar o borrar una orientación específica

    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 una canalización de entrega específicos.

    También puedes establecer una condición que limite este acceso a un período especificado.

¿Qué sigue?