Controla el acceso a los recursos

Puedes compartir los recursos o la cuota de procesamiento de tu proyecto habilitado para Earth Engine con otros usuarios de Earth Engine a nivel del proyecto. Los recursos o el procesamiento de Earth Engine se pueden compartir con otro usuario o grupo de usuarios. Si quieres compartir con un grupo de usuarios, crea un nuevo Grupo de Google y anota su correo electrónico (disponible en el vínculo Acerca de en la página del grupo). En esta página, se describe cómo proporcionar acceso a los recursos, ya sea para una persona o un grupo, y los roles y permisos necesarios para diferentes actividades.

Establece el uso del servicio de Earth Engine

Para usar la API de Earth Engine en un proyecto de Cloud, la API debe estar habilitada en el proyecto y el usuario debe tener, al menos, los permisos del rol de visualizador de recursos de Earth Engine (obtén más información sobre los roles predefinidos de IAM de Earth Engine). Además, el usuario debe tener, al menos, el permiso serviceusage.services.use en el proyecto. Ese permiso se puede proporcionar a través de los roles de propietario o editor del proyecto, o a través del rol específico de consumidor de Service Usage. Se arrojará un error si el usuario no tiene los permisos de Earth Engine y de Service Usage necesarios en el proyecto seleccionado.

Cómo configurar los permisos de los recursos

Establece permisos a nivel del recurso

Existen varias opciones para actualizar los permisos a nivel del recurso.

  • Usa el Administrador de recursos en el Editor de código.
  • Usa la línea de comandos de Earth Engine.
  • Usa una biblioteca cliente, por ejemplo, ee.data.setAssetAcl().
  • O llama a la API de REST directamente.

Establece permisos de recursos a nivel del proyecto

El uso compartido a nivel de proyecto establece permisos en todos los recursos de tu proyecto de Cloud habilitado para Earth Engine a la vez.

Puedes compartir recursos a nivel del proyecto asignando el rol de Identity and Access Management (IAM) adecuado en la página Administrador de IAM de tu proyecto. Existen roles predefinidos de IAM de Earth Engine para compartir recursos y recursos de Earth Engine. Consulta Información sobre los roles para obtener una descripción general de los roles de IAM.

Cuando otro usuario intenta acceder a uno de tus recursos, primero se verifican los permisos a nivel del recurso. Si no se establecieron permisos a nivel del recurso o si la verificación falla (es decir, no hay acceso), se verificarán los permisos a nivel del proyecto.

Establece permisos a nivel del proyecto

Para establecer permisos a nivel de proyecto, asigna un rol de IAM del proyecto a un usuario o grupo de usuarios:

  1. Abre la página de IAM en la consola de Google Cloud
    Abrir la página de IAM
    O mantén el puntero sobre el nombre de tu proyecto en la pestaña Recursos del editor de código y haz clic en el ícono .
  2. Haz clic en Seleccionar un proyecto y elige tu proyecto (ya deberías estar allí si abriste la página de IAM desde el editor de código).
  3. Haz clic en AGREGAR en la parte superior y agrega el correo electrónico de la persona o el grupo como el miembro nuevo, o haz clic en el ícono junto al miembro existente en el proyecto.
  4. En el menú desplegable Rol, busca el rol de recurso de Earth Engine que quieres otorgar. Consulta Roles predefinidos de IAM de Earth Engine para obtener más detalles.
  5. Haz clic en el botón GUARDAR.

Controles del servicio de VPC

Earth Engine admite los Controles del servicio de VPC, una función de seguridad de Google Cloud que ayuda a los usuarios a proteger sus recursos y mitigar el riesgo de robo de datos. Agregar recursos a un perímetro de servicio de VPC permite un mayor control sobre las operaciones de lectura y escritura de datos.

Obtén más información sobre las funciones y la configuración de VPC-SC.

Limitaciones

Habilitar los Controles del servicio de VPC para tus recursos tiene algunas limitaciones, para las que proporcionamos soluciones alternativas de ejemplo:

Limitación Alternativa de ejemplo
No se admite el Editor de código, y los Controles del servicio de VPC no permitirán usarlo con recursos y clientes dentro de un perímetro de servicio. Usa la API de Python de Earth Engine junto con la biblioteca de geemap.
Los recursos heredados no están protegidos por los Controles del servicio de VPC. Usa recursos almacenados en proyectos de Cloud.
Los Controles del servicio de VPC no admiten la exportación a Google Drive.
Las apps de Earth Engine no son compatibles con los recursos y clientes dentro de un perímetro de servicio. No hay una solución alternativa disponible.

El uso de Earth Engine con recursos dentro de un perímetro de servicio de VPC protegido solo está disponible para los planes de precios Professional y Premium. Si intentas usar la API de Earth Engine con un proyecto protegido por VPC-SC asociado a un plan de precios Basic, se producirá un error. Para obtener más información sobre los precios de Earth Engine, consulta la documentación oficial.

Puedes encontrar más información sobre los Controles del servicio de VPC y sus limitaciones en Productos compatibles y limitaciones.

Funciones y permisos

En las siguientes secciones, se describen los permisos y los roles necesarios para realizar actividades y acceder a los recursos de Earth Engine. Consulta la documentación de Google Cloud para obtener más información sobre los permisos y los roles del proyecto de Cloud.

Roles de IAM predefinidos de Earth Engine

Earth Engine proporciona roles predefinidos que permiten distintos grados de control sobre los recursos de Earth Engine dentro de un proyecto. Estos roles son los siguientes:

Rol Título Descripción
roles/earthengine.viewer Lector de recursos de Earth Engine Otorga permiso para ver y enumerar recursos y tareas.
roles/earthengine.writer Escritor de recursos de Earth Engine Proporciona permiso para leer, crear, modificar y borrar recursos, importar imágenes y tablas, leer y actualizar tareas, realizar cálculos interactivos y crear tareas de exportación de larga duración.
roles/earthengine.admin Administrador de Earth Engine Proporciona permiso para todos los recursos de Earth Engine, incluido el cambio de los controles de acceso para los recursos de Earth Engine.
roles/earthengine.appsPublisher Publicador de aplicaciones de Earth Engine Proporciona permiso para crear una cuenta de servicio que se usará con una app de Earth Engine. También otorga permiso para editar y borrar apps que pertenecen al proyecto en el proyecto de Cloud.

Ten en cuenta que puedes establecer un rol básico o personalizado si los roles predefinidos de Earth Engine no satisfacen tus necesidades. Puedes ver el paquete de permisos asociados con cada rol en la página Roles de IAM. Para ello, filtra por un rol específico y haz clic en él.

Habilita la API de Earth Engine

Para habilitar la API de Earth Engine en un proyecto de Cloud, el usuario necesita el rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin) o un rol diferente que incluya el permiso serviceusage.services.enable (como propietario o editor del proyecto).

Se necesitan permisos
  • serviceusage.services.enable
  • serviceusage.services.get
Roles sugeridos
  • Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin) O BIEN
  • Propietario (roles/owner) O BIEN
  • Editor (roles/editor)

Acceso completo a la API de Earth Engine

Para otorgar a los usuarios acceso completo al servicio de Earth Engine, ya sea a través de la API de REST directamente, del editor de código o de una biblioteca cliente, los usuarios necesitarán permiso para realizar operaciones como las siguientes:

Se necesitan permisos
  • clientauthconfig.clients.listWithSecrets
  • earthengine.assets.get
  • earthengine.assets.getIamPolicy
  • earthengine.assets.list
  • earthengine.computations.create
  • earthengine.operations.get
  • earthengine.operations.list
  • monitoring.timeSeries.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.operations.get
  • serviceusage.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • serviceusage.services.use
Roles sugeridos
  • Consumidor de Service Usage (roles/serviceusage.serviceUsageConsumer) Y uno de los siguientes roles:
    • Visualizador de recursos de Earth Engine (roles/earthengine.viewer) O
    • Escritor de recursos de Earth Engine (roles/earthengine.writer) O
    • Administrador de recursos de Earth Engine (roles/earthengine.admin)
  • Editor de configuración de OAuth (roles/oauthconfig.editor) también es necesario para los usuarios que acceden a Earth Engine a través de un entorno de notebook y usan el autenticador de notebooks. Consulta Autenticación de notebooks de Colab o JupyterLab para obtener más detalles.
Notas Google Cloud requiere el rol de consumidor de Service Usage para usar el proyecto como el proyecto activo cuando se llaman a las APIs, y ee.Initialize(project=X) fallará sin este permiso en el proyecto X. Además, puedes seleccionar este proyecto en la consola de Cloud para mostrar el uso de recursos.

Solo uso compartido de recursos

Otorga al usuario uno de los roles predefinidos de IAM de Earth Engine con permisos mínimos para realizar la actividad necesaria. Ten en cuenta que los usuarios no podrán consumir recursos del proyecto sin los permisos de serviceusage necesarios.

Administración de proyectos

Enumera y muestra los proyectos disponibles

Esto sucede cuando se usa el editor de código para explorar los proyectos disponibles.

Se necesitan permisos
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (poco común)
Roles sugeridos
  • Visualizador (roles/viewer) O
    Visualizador de recursos de Earth Engine (roles/earthengine.viewer) en proyectos relevantes O
    Navegador (roles/browser, recomendado para casos de organización avanzados)
  • Visualizador de carpetas (roles/resourcemanager.folderViewer) en las carpetas pertinentes

Selecciona un proyecto para usarlo en el editor de código

Se necesitan permisos
  • resourcemanager.projects.get
  • serviceusage.services.get
Si el proyecto no se configuró anteriormente

Cuando seleccionas un proyecto por primera vez a través del editor de código, este se inicializa para usarlo con Earth Engine. Si esto no se hizo antes, necesitarás estos roles para que la configuración se realice correctamente.

  • resourcemanager.projects.update Y
  • serviceusage.services.enable
Roles sugeridos
  • Visualizador (roles/viewer) O
  • Visualizador de recursos de Earth Engine (roles/earthengine.viewer) Y
    Consumidor de Service Usage (roles/serviceusage.serviceUsageConsumer)
Roles adicionales (si el proyecto no se configuró antes)
  • Editor (roles/editor) O
  • Trasladador de proyectos (roles/resourcemanager.projectMover) Y
    Administrador de IAM de proyecto (roles/resourcemanager.projectIamAdmin) Y
    Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin)

Crea un proyecto con el editor de código

Se necesitan permisos
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
Roles sugeridos
  • Editor (roles/editor) O
  • Trasladador de proyectos (roles/resourcemanager.projectMover) Y
    Creador de proyectos (roles/resourcemanager.projectCreator) Y
    Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin)
Notas Es posible que tu organización no te otorgue el rol de editor, por lo que es posible que se necesiten los roles más detallados. Se necesita el rol de Trasladador de proyectos para cubrir el permiso projects.update.

Selección del nivel no comercial

Los siguientes permisos y roles sugeridos se relacionan con la configuración del nivel no comercial.

Selección del nivel
Se necesitan permisos
  • earthengine.config.update
Roles sugeridos
  • Escritor de recursos de Earth Engine (roles/earthengine.writer)
Asocia una cuenta de facturación a un proyecto

El nivel Colaborador requiere una cuenta de facturación válida asociada con el proyecto. Para obtener más información sobre los permisos y los roles de facturación, consulta la página Acceso a la Facturación de Cloud.

Se necesitan permisos
Cuenta de facturación
  • billing.resourceAssociations.create
Proyecto de Cloud
  • resourcemanager.projects.createBillingAssignment
Roles sugeridos
Cuenta de facturación
  • Usuario de cuentas de facturación (roles/billing.user)
Proyecto de Cloud
  • Administrador de facturación del proyecto (roles/billing.projectManager)

Registro de proyectos comerciales

Los siguientes permisos pertenecen al registro de proyectos para el uso pagado.

Se necesitan permisos
Cuenta de facturación
  • billing.accounts.get
  • billing.subscriptions.list
Además, ten en cuenta lo siguiente:
  • billing.subscriptions.create (para crear un plan Básico o Profesional nuevo)
Proyecto de Cloud
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
Roles sugeridos
Cuenta de facturación
  • Visualizador de cuentas de facturación (roles/billing.viewer), para crear un plan limitado nuevo
  • Administrador de cuentas de facturación (roles/billing.admin), para crear un plan básico o profesional nuevo
Proyecto de Cloud
  • Escritor de recursos de Earth Engine (roles/earthengine.writer)
  • Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin)

Administración de planes comerciales de Earth Engine

Los siguientes permisos se relacionan con la administración de los planes de precios de Earth Engine.

Permisos necesarios
en la cuenta de facturación
  • billing.accounts.get
  • billing.subscriptions.list
Además, ten en cuenta lo siguiente:
  • billing.subscriptions.create (para actualizar de un plan Limitado a uno Básico o Profesional)
  • billing.subscriptions.update (para cambiar entre los planes Básico y Profesional, o cambiar un plan Básico o Profesional al plan Limitado)
Roles sugeridos
en la cuenta de facturación
  • Visualizador de cuentas de facturación (roles/billing.viewer) para ver el plan actual de Earth Engine
  • Administrador de cuentas de facturación (roles/billing.admin) para cambiar un plan de Earth Engine

Administración de tareas por lotes

Los siguientes permisos pertenecen a la configuración de límites por proyecto en la simultaneidad de tareas por lotes. Esta función solo está disponible para los usuarios comerciales de Earth Engine.

Visualiza los límites de tareas por lotes a nivel del proyecto

Permisos necesarios
en la cuenta de Cloud
earthengine.config.get

Establece límites de tareas por lotes a nivel del proyecto

Permisos necesarios
en la cuenta de Cloud
earthengine.config.update
Nota: Este permiso también abarca la visualización de los límites a nivel del plan que se configuran en la cuenta de facturación.
Permisos necesarios
en la cuenta de facturación
billing.subscriptions.list

Administración de las apps

Muestra información de la app

Se necesitan permisos
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy, si la app está restringida (menos común)
Roles sugeridos Visualizador (roles/viewer) O
Publicador de apps de Earth Engine (roles/earthengine.appsPublisher)

Publicar o actualizar la app

Se necesitan permisos
  • iam.serviceAccounts.get
  • iam.serviceAccounts.create
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.disable, si la app se mueve de un proyecto a otro (poco común)
Roles sugeridos Publicador de apps de Earth Engine (roles/earthengine.appsPublisher) O
Administrador de cuentas de servicio (roles/iam.serviceAccountAdmin)
Notas
  • Además, las cuentas de servicio de la app de Earth Engine se identifican ante los servidores de Earth Engine presentando un token de acceso de OAuth. Por lo tanto, se agregan ciertas identidades durante la creación de la app como Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator) en las cuentas de servicio.
  • En el caso de una app pública de Earth Engine, la identidad a la que se le otorga ese rol es earth-engine-public-apps@appspot.gserviceaccount.com y, en el caso de las apps restringidas, la identidad es el Grupo de Google de restricción de acceso configurado por el creador de la app.

Borrar una app

Se necesitan permisos iam.serviceAccounts.disable
Roles sugeridos Publicador de apps de Earth Engine (roles/earthengine.appsPublisher) O
Administrador de cuentas de servicio (roles/iam.serviceAccountAdmin)