Opciones de control de acceso

De forma predeterminada, todos los proyectos de Google Cloud Platform Console vienen con un solo usuario: el creador original del proyecto. Ningún otro usuario tiene acceso al proyecto y, por lo tanto, tampoco a los recursos de Google Cloud Platform, hasta que se los agregue como miembro de equipo del proyecto. En esta página, se describen las distintas formas de agregar usuarios nuevos a tu proyecto.

También se describe la forma en que Deployment Manager se autentica en otras API de Cloud Platform en tu nombre para crear recursos.

Antes de comenzar

Control de acceso para usuarios

A fin de brindarle a los usuarios acceso a tu proyecto para que puedan crear implementaciones y configuraciones, agrégalos como miembros del equipo del proyecto y otórgales las funciones de administración de identidades y accesos (IAM) adecuadas. IAM admite dos tipos de funciones: funciones predefinidas y básicas.

Si deseas obtener información sobre cómo agregar miembros del equipo, lee la documentación para agregar miembros del equipo.

Funciones predefinidas

Las funciones predefinidas otorgan un conjunto de permisos relacionados. En la siguiente tabla, se describen las funciones predefinidas disponibles para Deployment Manager.

Función Permisos incluidos Para el tipo de recurso
roles/deploymentmanager.viewer deploymentmanager.deployments.get Implementación
deploymentmanager.manifests.get Manifiesto
deploymentmanager.manifests.list Proyecto
deploymentmanager.resources.get Recurso
deploymentmanager.resources.list Proyecto
deploymentmanager.types.list Proyecto
deploymentmanager.operations.get Operaciones
deploymentmanager.operations.list Proyecto
roles/deploymentmanager.editor Todos los permisos de deploymentmanager.viewer, más:
deploymentmanager.deployments.cancelPreview Implementaciones
deploymentmanager.deployments.create Proyecto
deploymentmanager.deployments.delete Implementaciones
deploymentmanager.deployments.stop Implementaciones
deploymentmanager.deployments.update Implementaciones
roles/deploymentmanager.typeViewer deploymentmanager.types.list Proyecto
deploymentmanager.typeProviders.get Proveedor de tipos
deploymentmanager.typeProviders.list Proyecto
deploymentmanager.compositeTypes.get Tipo compuesto
deploymentmanager.compositeTypes.list Proyecto
roles/deploymentmanager.typeEditor Todos los permisos de deploymentmanager.typeViewer, más:
deploymentmanager.typeProviders.create Proyecto
deploymentmanager.typeProviders.delete Proveedor de tipos
deploymentmanager.typeProviders.update Proveedor de tipos
deploymentmanager.compositeTypes.create Proyecto
deploymentmanager.compositeTypes.delete Tipo compuesto
deploymentmanager.compositeTypes.update Tipo compuesto

Cada método de API requiere un permiso específico para llamarlo. Usa la tabla siguiente a fin de determinar qué permisos son necesarios para el método de API deseado.

Método Permisos necesarios Funciones que te permiten llamar a este método
deployments.cancelPreview deploymentmanager.deployments.cancelPreview
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.delete deploymentmanager.deployments.delete
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.get deploymentmanager.deployments.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
deployments.insert deploymentmanager.deployments.create
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.list deploymentmanager.deployments.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
deployments.patch deploymentmanager.deployments.update
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.stop deploymentmanager.deployments.stop
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.update deploymentmanager.deployments.update
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
manifests.get deploymentmanager.manifests.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
manifests.list deploymentmanager.manifests.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
resources.get deploymentmanager.resources.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
resources.list deploymentmanager.resources.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
types.list deploymentmanager.types.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
compositeTypes.delete deploymentmanager.compositeTypes.delete
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
compositeTypes.get deploymentmanager.compositeTypes.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
compositeTypes.insert deploymentmanager.compositeTypes.create
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
compositeTypes.list deploymentmanager.compositeTypes.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
compositeTypes.patch deploymentmanager.compositeTypes.patch
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
compositeTypes.list deploymentmanager.compositeTypes.update
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.delete deploymentmanager.typeProviders.delete
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.get deploymentmanager.typeProviders.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
typeProviders.insert deploymentmanager.typeProviders.create
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.list deploymentmanager.typeProviders.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
typeProviders.patch deploymentmanager.typeProviders.patch
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.update deploymentmanager.typeProviders.update
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer

Funciones básicas

Las funciones básicas de IAM se asignan de forma directa a las funciones heredadas de propietario, editor y visualizador del proyecto. Estas funciones proporcionan un acceso a los servicios mucho más amplio que las funciones predefinidas. Por lo general, debes usar funciones predefinidas siempre que sea posible; sin embargo, en algunos casos en los que IAM aún no se admite, es posible que necesites usar una función básica a fin de otorgar los permisos correctos.

Si deseas obtener más información sobre las funciones básicas, lee la documentación para las Funciones básicas.

Control de acceso para Deployment Manager

Para crear otros recursos de Google Cloud Platform, Deployment Manager usa las credenciales de la cuenta de servicio de la API de Google para autenticarse en otras API. La cuenta de servicio de las API de Google está diseñada específicamente para ejecutar procesos internos de Google en tu nombre. La cuenta de servicio se identifica mediante este correo electrónico:

[PROJECT_NUMBER]@cloudservices.gserviceaccount.com
    

La cuenta de servicio de las API de Google obtiene automáticamente permisos de editor en el proyecto y se enumera en la sección IAM de Google Cloud Platform Console. La cuenta de servicio existe de manera indefinida con el proyecto y solo se borra cuando se borra el proyecto. Dado que Deployment Manager y otros servicios, como grupos de instancias administrado dependen de esta cuenta de servicio para crear, borrar y administrar recursos, no se recomienda que modifiques los permisos de esta cuenta.

Qué sigue