Control de acceso

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 Grupo de Google nuevo y toma nota de 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 de IAM predefinidos de Earth Engine). Además, el usuario debe tener, como mínimo, 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 uso de servicio. Se mostrará un error si el usuario no tiene los permisos de uso del servicio y de Earth Engine necesarios en el proyecto seleccionado.

Configura los permisos de los activos

Configura permisos a nivel del recurso

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

  • 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 activos a nivel del proyecto

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

Para compartir recursos a nivel del proyecto, asigna el rol de administración de identidades y accesos (IAM) adecuado en la página de administración 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, los permisos se verifican primero a nivel del activo. Si no se establecieron permisos a nivel del activo o si la verificación falla (es decir, no hay acceso), los permisos se verificarán a nivel del proyecto.

Establece permisos a nivel del proyecto

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

  1. Abre la página de IAM en la consola de Google Cloud
    Abre la página de IAM
    O coloca 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 miembro nuevo, o haz clic en el ícono junto al miembro existente en el proyecto.
  4. En el menú desplegable Role, busca el rol de Recurso de Earth Engine que desees otorgar. Consulta 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 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 ejemplos de soluciones alternativas:

Limitación Alternativa de ejemplo
Code Editor no es compatible, 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 geemap.
Los fondos heredados no están protegidos por los Controles del servicio de VPC. Usa activos almacenados en proyectos de Cloud.
Exportar a 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 una solución alternativa disponible.

El uso de Earth Engine con recursos dentro de un perímetro de servicio de VPC seguro 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 con un plan de precios básico, se mostrará un error. Para obtener más información sobre los precios de Earth Engine, visita 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 roles y los permisos del proyecto 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 Visualizador 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 controles de acceso para los activos de Earth Engine.
roles/earthengine.appsPublisher Publicador de aplicaciones de Earth Engine Otorga permiso para crear una cuenta de servicio para usarla 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 primitivo 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 brindarles 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 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:
    • 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)
  • Además, se requiere el Editor de configuración de OAuth (roles/oauthconfig.editor) 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 información.
Notas Google Cloud requiere el rol de Consumidor de uso de servicios para usar el proyecto como el proyecto activo cuando se llama 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 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 los recursos del proyecto sin los permisos serviceusage necesarios.

Administración de proyectos

Cómo enumerar y mostrar 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 relevantes

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 aún no lo hiciste, 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ó anteriormente)
  • Editor (roles/editor) O
  • Mover 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 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 de proyectos (roles/resourcemanager.projectMover) Y
    Creador de proyectos (roles/resourcemanager.projectCreator) Y
    Administrador de uso de servicios (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 roles más detallados. Se necesita Project Mover para cubrir el permiso projects.update.

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, ten en cuenta lo siguiente:
  • billing.accounts.get (para crear un nuevo plan limitado)
  • 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 nuevo plan limitado
  • 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 límites por proyecto en la simultaneidad de tareas por lotes. Esta función solo está disponible para los usuarios comerciales de Earth Engine.

Cómo ver 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 incluye ver 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

Cómo 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)

Publica o actualiza 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 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 que se le otorga a 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 cuentas de servicio (roles/iam.serviceAccountAdmin)