Administración de identidades y accesos (IAM)

Google Cloud Platform ofrece IAM (administración de identidades y accesos), que te permite brindar un acceso más detallado a recursos específicos de Google Cloud Platform y evita el acceso no deseado a otros recursos. En esta página se describen las funciones de IAM de Google Cloud Datastore. Para obtener una descripción detallada de Cloud IAM, consulta la documentación de IAM.

IAM te permite adoptar el principio de seguridad de menor privilegio, de manera que solo otorgas el acceso necesario a tus recursos.

IAM te permite controlar las funciones de los usuarios y los permisos para los recursos mediante la configuración de políticas de IAM. Las políticas de IAM asignan funciones específicas a un usuario, lo que le otorga ciertos permisos. Por ejemplo, puedes otorgar la función datastore.indexAdmin a un usuario y le permite crear, modificar, borrar, enumerar o ver índices.

Permisos y funciones

En esta sección se resumen los permisos y las funciones que admite Cloud Datastore.

Permisos necesarios

En las siguientes tablas, se enumeran los permisos que debe tener el emisor para llamar a cada método:

Método Permisos necesarios
allocateIds datastore.entities.allocateIds
beginTransaction datastore.databases.get
commit para una inserción datastore.entities.create
commit para una inserción o actualización datastore.entities.create
datastore.entities.update
commit para una actualización datastore.entities.update
commit para una eliminación datastore.entities.delete
commit para una búsqueda datastore.entities.get

Si quieres realizar una búsqueda relacionada con metadatos o estadísticas, consulta Permisos necesarios para metadatos y estadísticas.
commit para una consulta datastore.entities.list
datastore.entities.get (si la consulta no es una consulta de solo claves)

Si quieres realizar una consulta relacionada con metadatos o estadísticas, revisa Permisos necesarios para metadatos y estadísticas.
lookup datastore.entities.get

Si quieres realizar una búsqueda relacionada con metadatos o estadísticas, consulta Permisos necesarios para metadatos y estadísticas.
rollback datastore.databases.get
runQuery datastore.entities.list
datastore.entities.get (si la consulta no es una consulta de solo claves)

Si quieres realizar una consulta relacionada con metadatos o estadísticas, revisa Permisos necesarios para metadatos y estadísticas.

Permisos necesarios para metadatos y estadísticas

La siguiente tabla muestra los permisos que debe tener el emisor para llamar a los métodos en metadatos y estadísticas.

Método Permisos necesarios
lookup de entidades con nombres de categorías que coincidan con __Stat_*__ datastore.statistics.get
runQuery que utiliza categorías con nombres que coinciden con __Stat_*__ datastore.statistics.get
datastore.statistics.list
runQuery que utiliza la categoría __namespace__ datastore.namespaces.get
datastore.namespaces.list

Funciones

Con la IAM, cada método de API en Cloud Datastore requiere que la cuenta que envía la solicitud a la API tenga los permisos apropiados para usar el recurso. Para otorgar los permisos, se configuran políticas que asignan funciones a un usuario, un grupo o una cuenta de servicio. Además de las funciones primitivas, propietario, editor y lector, puedes asignar funciones de Cloud Datastore a los usuarios de tu proyecto.

La siguiente tabla muestra las funciones de IAM de Cloud Datastore. Puedes asignar varias funciones a un usuario, un grupo o una cuenta de servicio.

Función Permisos Descripción
roles/datastore.owner
con
roles/appengine.appAdmin
appengine.applications.get
datastore.databases.*
datastore.entities.*
datastore.indexes.*
datastore.namespaces.*
datastore.operations.*
datastore.statistics.*
resourcemanager.projects.get
resourcemanager.projects.list
Acceso completo a Cloud Datastore
roles/datastore.owner
sin
roles/appengine.appAdmin
appengine.applications.get
datastore.databases.*
datastore.entities.*
datastore.indexes.*
datastore.namespaces.*
datastore.operations.*
datastore.statistics.*
resourcemanager.projects.get
resourcemanager.projects.list
Acceso completo a Cloud Datastore. El usuario, grupo o cuenta de servicio no puede realizar lo siguiente:
roles/datastore.user appengine.applications.get
datastore.databases.get
datastore.entities.*
datastore.indexes.list
datastore.namespaces.get
datastore.namespaces.list
datastore.statistics.get
datastore.statistics.list
resourcemanager.projects.get
resourcemanager.projects.list
Acceso de lectura y escritura a los datos de una base de datos de Cloud Datastore. Pensado para desarrolladores de aplicaciones y cuentas de servicio.
roles/datastore.viewer appengine.applications.get
datastore.databases.get
datastore.entities.get
datastore.entities.list
datastore.indexes.get
datastore.indexes.list
datastore.namespaces.get
datastore.namespaces.list
datastore.statistics.get
datastore.statistics.list
resourcemanager.projects.get
resourcemanager.projects.list
Acceso de lectura a todos los recursos de Cloud Datastore
roles/datastore.importExportAdmin appengine.applications.get
datastore.databases.export
datastore.databases.import
datastore.operations.cancel
datastore.operations.get
datastore.operations.list
resourcemanager.projects.get
resourcemanager.projects.list
Acceso total para administrar importaciones y exportaciones
roles/datastore.indexAdmin appengine.applications.get
datastore.indexes.*
resourcemanager.projects.get
resourcemanager.projects.list
Acceso completo para administrar definiciones de índices

Permisos

La siguiente tabla muestra los permisos que admite Cloud Datastore.

Nombre del permiso de la base de datos Descripción
datastore.databases.export Exporta entidades de una base de datos.
datastore.databases.get Inicia o revierte una transacción.
Lee metadatos de una base de datos.
datastore.databases.import Importa entidades a una base de datos.
Nombre del permiso de la entidad Descripción
datastore.entities.allocateIds Asigna los ID para las claves con una ruta de clave incompleta.
datastore.entities.create Crea una entidad.
datastore.entities.delete Borra una entidad.
datastore.entities.get Lee una entidad.
datastore.entities.list Muestra las claves de las entidades en un proyecto.
(Es obligatorio datastore.entities.get para acceder a los datos de la entidad).
datastore.entities.update Actualiza una entidad.
Nombre del permiso de índice Descripción
datastore.indexes.create Crea un índice.
datastore.indexes.delete Borra un índice.
datastore.indexes.get Lee metadatos de un índice.
datastore.indexes.list Muestra los índices de un proyecto.
datastore.indexes.update Actualiza un índice.
Nombre del permiso del espacio de nombres Descripción
datastore.namespaces.get Recupera metadatos de un espacio de nombres.
datastore.namespaces.list Muestra los espacios de nombres de un proyecto.
Nombre del permiso de la operación Descripción
datastore.operations.cancel Cancela una operación de larga duración.
datastore.operations.delete Borra una operación de larga duración.
datastore.operations.get Obtiene el último estado de una operación de larga duración.
datastore.operations.list Muestra las operaciones de larga duración.
Nombre del permiso de proyecto Descripción
resourcemanager.projects.get Busca recursos en el proyecto.
resourcemanager.projects.list Muestra los proyectos propios.
Nombre del permiso de las estadísticas Descripción
datastore.statistics.get Recupera las entidades de las estadísticas.
datastore.statistics.list Muestra las claves de las entidades de las estadísticas.
(datastore.statistics.get es obligatorio para acceder a los datos de las entidades de las estadísticas.)
Nombre del permiso de App Engine Descripción
appengine.applications.get Acceso de solo lectura a toda la configuración de las aplicaciones de App Engine.

Funciones obligatorias para crear una instancia de Cloud Datastore

Para crear una instancia nueva de Cloud Datastore, necesitas la función de propietario o la función de propietario de Cloud Datastore.

Cloud Datastore requiere una aplicación de App Engine activa. Si el proyecto no tiene una aplicación, Cloud Datastore crea una por ti. En ese caso, necesitas el permiso appengine.applications.create de la función de Propietario o de una función personalizada de IAM que contenga el permiso.

Latencia del cambio de función

Cloud Datastore almacena en caché los permisos de IAM por 5 minutos, por lo que tomará hasta 5 minutos para que un cambio de función sea efectivo.

Administra la IAM de Cloud Datastore

Puedes obtener y configurar políticas de IAM con Google Cloud Platform Console, los métodos de IAM o la herramienta de línea de comandos de gcloud .

¿Qué sigue?

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Cloud Datastore