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

Cómo establecer 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 Visualizador de recursos de Earth Engine (obtén más información sobre los roles de IAM predefinidos de Earth Engine). Además, el usuario debe tener, al menos, 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 bien a través del rol específico de consumidor de Service Usage. Se arrojará un error si el usuario no tiene los permisos necesarios de Earth Engine y de uso del servicio en el proyecto seleccionado.

Cómo establecer permisos de recursos

Cómo establecer permisos a nivel del activo

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 bien, llama a la API de REST directamente.

Cómo establecer permisos de activos a nivel del proyecto

Si compartes a nivel del proyecto, se establecen permisos en todos los recursos de tu proyecto de Cloud habilitado para Earth Engine de una sola vez.

Puedes compartir recursos a nivel del proyecto asignando el rol de administración de identidades y accesos (IAM) adecuado en la página de administrador de IAM de tu proyecto. Existen roles de IAM predefinidos de Earth Engine para compartir recursos y activos de Earth Engine. Consulta Cómo comprender los roles para obtener una descripción general más general de los roles de IAM.

Cuando otro usuario intenta acceder a uno de tus activos, primero se verifican los permisos a nivel del activo. Si no se configuraron los permisos a nivel del activo o 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 del 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.
    Abre la página de IAM
    O bien, mantén el puntero sobre el nombre de tu proyecto en la pestaña Activos del editor de código y haz clic en el ícono .
  2. Haz clic en Selecciona 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 nuevo miembro, o bien haz clic en el ícono junto al miembro existente en el proyecto.
  4. En el menú desplegable Rol, busca el rol Recurso de Earth Engine que deseas otorgar. Consulta las funciones de IAM predefinidas 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 tener más control sobre las operaciones de lectura y escritura de datos.

Obtén más información sobre las funciones y la configuración de los 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
Code Editor no es compatible, y los Controles del servicio de VPC no permitirán su uso con recursos y clientes dentro de un perímetro de servicio. Usa la API de Earth Engine en Python junto con la biblioteca geemap.
Los recursos heredados no están protegidos por los Controles del servicio de VPC. Usar recursos almacenados en proyectos de Cloud
Export to Google Drive no es compatible con los Controles del servicio de VPC.
Las Apps de Earth Engine no son compatibles con los recursos y los clientes dentro de un perímetro de servicio. No hay 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 Profesional y Premium. Si intentas usar la API de Earth Engine con un proyecto protegido por VPC-SC asociado a un plan de precios Básico, 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 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 de los proyectos de Cloud.

Roles de IAM predefinidos de Earth Engine

Earth Engine proporciona roles predefinidos que permiten diferentes 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 Proporciona 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 para usarla con una app de Earth Engine. También otorga permiso para editar y borrar apps propiedad del 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.

Acceso completo a la API de Earth Engine

Para otorgar a los usuarios acceso completo al servicio de Earth Engine, ya sea directamente a través de la API de REST, a través del Editor de código o a través de una biblioteca cliente, los usuarios deberán tener 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:
    • 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 notebook. 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 tu uso de los recursos.

Solo se pueden compartir recursos

Otorga al usuario uno de los roles de IAM de Earth Engine predefinidos con los permisos mínimos para realizar la actividad necesaria. Ten en cuenta que los usuarios no podrán consumir recursos del proyecto sin los permisos 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 los proyectos pertinentes O
    Navegador (roles/browser, recomendado para casos avanzados de organización)
  • Visualizador de carpeta (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

La primera vez que seleccionas un proyecto a través del Editor de código, se inicializa para usarlo con Earth Engine. Si no lo hiciste 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
  • Administrador de Project Mover (roles/resourcemanager.projectMover) Y
    Administrador de IAM de proyecto (roles/resourcemanager.projectIamAdmin) Y
    Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin)

Crea un proyecto a través del 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
  • Migrador del proyecto (roles/resourcemanager.projectMover) Y
    Creador del proyecto (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 necesites roles más específicos. Se necesita Project Mover para cubrir el permiso de 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)
Cómo agregar una cuenta de facturación

El nivel Colaborador requiere una cuenta de facturación válida en el proyecto.

Se necesitan permisos
  • billing.accounts.get
Roles sugeridos
  • Visualizador de cuentas de facturación (roles/billing.viewer)

Registro de proyectos comerciales

Los siguientes permisos se relacionan con el registro de proyectos para uso pagado.

Se necesitan permisos
Cuenta de facturación
  • billing.subscriptions.list
Además:
  • billing.accounts.get (para crear un plan Limited nuevo)
  • billing.subscriptions.create (para crear un plan Básico o Profesional nuevo)
Proyecto de Cloud
  • earthengine.computations.create
  • 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 Limited 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.subscriptions.create (para cambiar un plan de Earth Engine)
  • billing.subscriptions.list (para ver el plan actual de Earth Engine)
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 se relacionan con la configuración de los 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

Cómo establecer 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 apps

Mostrar 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 aplicaciones 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 aplicaciones de Earth Engine (roles/earthengine.appsPublisher) O
Administrador de cuenta de servicio (roles/iam.serviceAccountAdmin)
Notas
  • Además, las cuentas de servicio de las aplicaciones 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 que tiene 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 que configuró el creador de la app.

Cómo borrar una app

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