Контролируйте доступ к ресурсам

Вы можете предоставлять доступ к ресурсам или вычислительным ресурсам вашего проекта, поддерживающего Earth Engine, другим пользователям Earth Engine на уровне проекта. Ресурсы или вычислительные ресурсы Earth Engine можно предоставлять в общий доступ другому пользователю или группе пользователей. Если вы хотите предоставить доступ группе пользователей, создайте новую группу Google и укажите ее адрес электронной почты (доступен по ссылке «О группе» на странице группы). На этой странице описано, как предоставить доступ к ресурсам отдельному пользователю или группе, а также роли и разрешения, необходимые для различных действий.

Настройка использования сервиса Earth Engine

Для использования API Earth Engine в облачном проекте необходимо включить API в проекте , а пользователь должен обладать как минимум правами, необходимыми для роли « Просмотрщик ресурсов Earth Engine» (подробнее о предопределенных ролях IAM Earth Engine ). Кроме того, пользователь должен иметь как минимум разрешение serviceusage.services.use в проекте. Это разрешение может быть предоставлено через роли «Владелец» или «Редактор» проекта, либо через специальную роль «Потребитель использования сервисов» . Если у пользователя нет необходимых разрешений Earth Engine и разрешений на использование сервисов в выбранном проекте, будет выдана ошибка.

Установить права доступа к ресурсам

Настройте права доступа на уровне активов.

Существует несколько вариантов обновления разрешений на уровне актива.

  • Воспользуйтесь менеджером ресурсов в редакторе кода.
  • Используйте командную строку Earth Engine.
  • Используйте клиентскую библиотеку, например, ee.data.setAssetAcl() .
  • Или же вызовите REST API напрямую.

Настройте права доступа к ресурсам на уровне проекта.

Совместное использование на уровне проекта устанавливает разрешения для всех ресурсов в вашем облачном проекте с поддержкой Earth Engine одновременно.

Вы можете предоставлять доступ к ресурсам на уровне проекта, назначив соответствующую роль управления идентификацией и доступом (IAM) на странице администрирования IAM вашего проекта. Существуют предопределенные роли IAM для Earth Engine , позволяющие предоставлять доступ к ресурсам и активам Earth Engine. Более подробный обзор ролей IAM см. в разделе « Понимание ролей» .

Когда другой пользователь пытается получить доступ к одному из ваших ресурсов, сначала проверяются права доступа на уровне ресурса. Если права доступа не установлены на уровне ресурса или проверка не удается (т.е. доступ отсутствует), права доступа проверяются на уровне проекта.

Установить права доступа на уровне проекта

Чтобы установить права доступа на уровне проекта, назначьте роль IAM проекта пользователю или группе пользователей:

  1. Откройте страницу IAM в консоли Google Cloud.
    Откройте страницу IAM
    Или наведите указатель мыши на название вашего проекта на вкладке «Ресурсы» в редакторе кода и нажмите значок .
  2. Нажмите «Выбрать проект» и выберите свой проект (вы уже должны быть там, если открыли страницу IAM из редактора кода).
  3. Нажмите кнопку «ДОБАВИТЬ» вверху и добавьте индивидуальный или групповой адрес электронной почты в качестве нового участника, или нажмите значок рядом с уже существующим участником проекта.
  4. В раскрывающемся списке «Роль» найдите роль ресурса Earth Engine, для которой вы хотите предоставить права доступа. Подробнее см. в разделе «Предопределенные роли IAM Earth Engine» .
  5. Нажмите кнопку СОХРАНИТЬ .

Управление службами VPC

Earth Engine поддерживает VPC Service Controls — функцию безопасности Google Cloud, которая помогает пользователям защищать свои ресурсы и снижать риск утечки данных. Добавление ресурсов в периметр сервиса VPC позволяет лучше контролировать операции чтения и записи данных.

Узнайте больше о возможностях и настройке VPC-SC .

Ограничения

Включение управления службами VPC для ваших ресурсов сопряжено с некоторыми ограничениями, для преодоления которых мы предоставили примеры обходных путей:

Ограничение Пример альтернативы
Редактор кода не поддерживается, и средства управления службами VPC не позволят использовать его с ресурсами и клиентами внутри периметра обслуживания. Используйте Python API Earth Engine вместе с библиотекой geemap .
Устаревшие ресурсы не защищены средствами управления службами VPC. Используйте ресурсы, хранящиеся в облачных проектах .
Экспорт в Google Диск не поддерживается средствами управления службами VPC.
Приложения Earth Engine не поддерживаются для ресурсов и клиентов, находящихся внутри периметра обслуживания. Обходное решение отсутствует.

Использование Earth Engine с ресурсами внутри защищенного периметра сервиса VPC доступно только для тарифных планов Professional и Premium. Попытка использовать API Earth Engine с проектом, защищенным VPC-SC и связанным с тарифным планом Basic, приведет к ошибке. Для получения дополнительной информации о ценах на Earth Engine посетите официальную документацию .

Более подробную информацию об управлении службами VPC и его ограничениях можно найти в разделе «Поддерживаемые продукты и ограничения» .

Роли и права доступа

В следующих разделах описаны разрешения и роли, необходимые для выполнения действий и доступа к ресурсам Earth Engine. Для получения дополнительной информации о разрешениях и ролях в облачных проектах см. документацию Google Cloud.

Предопределенные роли IAM в Earth Engine

Earth Engine предоставляет предопределенные роли, позволяющие в различной степени контролировать ресурсы Earth Engine в рамках проекта. Эти роли включают в себя:

Роль Заголовок Описание
roles/earthengine.viewer Программа просмотра ресурсов Earth Engine Предоставляет разрешение на просмотр и отображение списка активов и задач.
roles/earthengine.writer Автор статей для Earth Engine Resource Writer Предоставляет разрешение на чтение, создание, изменение и удаление ресурсов, импорт изображений и таблиц, чтение и обновление задач, выполнение интерактивных вычислений и создание длительных задач экспорта.
roles/earthengine.admin Администратор Earth Engine Предоставляет разрешения на доступ ко всем ресурсам Earth Engine, включая изменение прав доступа к ресурсам Earth Engine.
roles/earthengine.appsPublisher Издатель приложений Earth Engine Предоставляет разрешение на создание учетной записи службы для использования с приложением Earth Engine. Также предоставляет разрешение на редактирование и удаление приложений, принадлежащих проекту, в рамках облачного проекта.

Обратите внимание, что вы можете установить примитивную или пользовательскую роль, если предопределенные роли Earth Engine не соответствуют вашим потребностям. Вы можете просмотреть набор разрешений, связанных с каждой ролью, на странице «Роли IAM» , отфильтровав по определенной роли и щелкнув по ней.

Полный доступ к API Earth Engine.

Для предоставления пользователям полного доступа к сервису Earth Engine, будь то напрямую через REST API, через редактор кода или через клиентскую библиотеку, им потребуются разрешения на выполнение таких операций, как:

Требуются разрешения
  • 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/serviceusage.serviceUsageConsumer ) И один из следующих вариантов:
    • Программа просмотра ресурсов Earth Engine ( roles/earthengine.viewer ) ИЛИ
    • Автор ресурсов для Earth Engine ( roles/earthengine.writer ) ИЛИ
    • Администратор ресурсов Earth Engine ( roles/earthengine.admin )
  • Редактор конфигурации OAuth ( roles/oauthconfig.editor ) дополнительно необходим пользователям, которые получают доступ к Earth Engine через среду блокнота и используют аутентификатор блокнота. Дополнительные сведения см. в разделе аутентификации блокнотов Colab или JupyterLab .
Примечания Для использования проекта в качестве активного проекта при вызове API в Google Cloud требуется роль «Потребитель сервиса» . Без этого разрешения для проекта X вызов функции ee.Initialize(project=X) завершится ошибкой. Кроме того, вы можете выбрать этот проект в консоли Cloud Console, чтобы отобразить использование ресурсов.

Только совместное использование активов

Предоставьте пользователю одну из предопределенных ролей IAM в Earth Engine с минимальными правами для выполнения необходимой операции. Обратите внимание, что пользователи не смогут использовать ресурсы проекта без необходимых разрешений serviceusage .

Управление проектом

Список и отображение доступных проектов

Это происходит при использовании редактора кода для просмотра доступных проектов.

Требуются разрешения
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (необычный)
Предложенные роли
  • Зритель ( roles/viewer ) ИЛИ
    Средство просмотра ресурсов Earth Engine ( roles/earthengine.viewer ) в соответствующих проектах ИЛИ
    Браузер ( roles/browser , рекомендуется для сложных организационных случаев)
  • Программа просмотра папок ( roles/resourcemanager.folderViewer ) для соответствующих папок.

Выберите проект для использования в редакторе кода.

Требуются разрешения
  • resourcemanager.projects.get
  • serviceusage.services.get
Если проект ранее не был создан

При первом выборе проекта в редакторе кода он инициализируется для использования с Earth Engine. Если это не было сделано ранее, вам потребуются эти роли для успешной настройки.

  • resourcemanager.projects.update AND
  • serviceusage.services.enable
Предложенные роли
  • Зритель ( roles/viewer ) ИЛИ
  • Программа просмотра ресурсов Earth Engine ( roles/earthengine.viewer ) И
    Потребитель использования сервиса ( roles/serviceusage.serviceUsageConsumer )
Дополнительные роли (если проект ранее не был создан)
  • Редактор ( roles/editor ) ИЛИ
  • Project Mover ( roles/resourcemanager.projectMover ) AND
    Администратор IAM проекта ( roles/resourcemanager.projectIamAdmin ) И
    Администратор использования сервиса ( roles/serviceusage.serviceUsageAdmin )

Создайте проект через редактор кода.

Требуются разрешения
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
Предложенные роли
  • Редактор ( roles/editor ) ИЛИ
  • Project Mover ( roles/resourcemanager.projectMover ) AND
    Создатель проекта ( roles/resourcemanager.projectCreator ) И
    Администратор использования сервиса ( roles/serviceusage.serviceUsageAdmin )
Примечания Ваша организация может не предоставить вам роль редактора , поэтому могут потребоваться более детальные роли. Для обеспечения прав на обновление проектов необходимо включить функцию перемещения projects.update .

Выбор некоммерческого уровня

Следующие разрешения и предлагаемые роли относятся к настройке некоммерческого уровня .

выбор уровня
Требуются разрешения
  • earthengine.config.update
Предложенные роли
  • Автор статей для Earth Engine ( roles/earthengine.writer )
Добавить платежный аккаунт

Для участия в программе уровня «Участник проекта» необходимо иметь действующий платежный аккаунт в проекте.

Требуются разрешения
  • billing.accounts.get
Предложенные роли
  • Программа для просмотра платежных учетных записей ( roles/billing.viewer )

Регистрация коммерческого проекта

Следующие разрешения относятся к регистрации проектов для платного использования .

Требуются разрешения
Платежный счет
  • billing.subscriptions.list
Кроме того:
  • billing.accounts.get (для создания нового тарифного плана Limited)
  • billing.subscriptions.create (для создания нового базового или профессионального тарифного плана)
Облачный проект
  • earthengine.computations.create
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
Предложенные роли
Платежный счет
  • Программа просмотра платежных аккаунтов ( roles/billing.viewer ) для создания нового тарифного плана с ограниченным доступом.
  • Администратор платежного аккаунта ( roles/billing.admin ) для создания нового тарифного плана Basic или Professional.
Облачный проект
  • Автор статей для Earth Engine ( roles/earthengine.writer )
  • Администратор использования сервиса ( roles/serviceusage.serviceUsageAdmin )

Управление проектами коммерческих землеройных машин

Следующие разрешения относятся к управлению тарифными планами Earth Engine .

Требуются разрешения
в платежном аккаунте
  • billing.subscriptions.create (для изменения тарифного плана Earth Engine)
  • billing.subscriptions.list (для просмотра текущего тарифного плана Earth Engine)
Предложенные роли
в платежном аккаунте
  • Для просмотра текущего тарифного плана Earth Engine используйте средство просмотра платежных учетных записей ( roles/billing.viewer ).
  • Администратор платежного аккаунта ( roles/billing.admin ), чтобы изменить тарифный план Earth Engine.

Пакетное управление задачами

Следующие разрешения относятся к настройке ограничений на параллельное выполнение пакетных задач для каждого проекта . Эта функция доступна только коммерческим пользователям Earth Engine.

Просмотр лимитов пакетных задач на уровне проекта.

Требуются разрешения
в облачной учетной записи
earthengine.config.get

Установка ограничений на пакетные задачи на уровне проекта.

Требуются разрешения
в облачной учетной записи
earthengine.config.update
Примечание: Это разрешение также включает просмотр лимитов на уровне тарифного плана, настроенных в платежном аккаунте.
Требуются разрешения
в платежном аккаунте
billing.subscriptions.list

управление приложениями

Отобразить информацию о приложении

Требуются разрешения
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy , если приложение ограничено (реже встречается).
Предложенные роли Зритель ( roles/viewer ) ИЛИ
Earth Engine Apps Publisher ( roles/earthengine.appsPublisher )

Опубликовать/Обновить приложение

Требуются разрешения
  • iam.serviceAccounts.get
  • iam.serviceAccounts.create
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.disable , если приложение переносится из одного проекта в другой (редкий случай)
Предложенные роли Earth Engine Apps Publisher ( roles/earthengine.appsPublisher ) ИЛИ
Администратор учетной записи службы ( roles/iam.serviceAccountAdmin )
Примечания
  • Кроме того, учетные записи служб приложений Earth Engine идентифицируют себя перед серверами Earth Engine, предоставляя токен доступа OAuth. Поэтому при создании приложения добавляются определенные учетные записи, например, создатель токенов учетных записей служб ( roles/iam.serviceAccountTokenCreator ) в учетных записях служб.
  • В случае общедоступного приложения Earth Engine, идентификатор, которому присвоена эта роль, — это... earth-engine-public-apps@appspot.gserviceaccount.com , а в случае приложений с ограниченным доступом идентификатором является группа Google с ограничением доступа, настроенная создателем приложения.

Удалите приложение

Требуются разрешения iam.serviceAccounts.disable
Предложенные роли Earth Engine Apps Publisher ( roles/earthengine.appsPublisher ) ИЛИ
Администратор учетной записи службы ( roles/iam.serviceAccountAdmin )