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

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

Пакетные сервисы Cloud Firestore

В состав VPC Service Control входят следующие API-интерфейсы:

  • firestore.googleapis.com
  • datastore.googleapis.com
  • firestorekeyvisualizer.googleapis.com

При ограничении доступа к сервису firestore.googleapis.com в рамках периметра сети, этот периметр также ограничивает доступ к сервисам datastore.googleapis.com и firestorekeyvisualizer.googleapis.com .

Ограничьте доступ к сервису datastore.googleapis.com

Сервис datastore.googleapis.com входит в состав сервиса firestore.googleapis.com . Для ограничения доступа к сервису datastore.googleapis.com необходимо ограничить доступ к сервису firestore.googleapis.com следующим образом:

  • При создании периметра обслуживания с помощью консоли Google Cloud добавьте Cloud Firestore в качестве ограниченной службы.
  • При создании периметра обслуживания с помощью Google Cloud CLI используйте firestore.googleapis.com вместо datastore.googleapis.com .

    --perimeter-restricted-services=firestore.googleapis.com
    

Устаревшие встроенные сервисы App Engine для Datastore

Устаревшие встроенные сервисы App Engine для Datastore не поддерживают периметры сервиса. Защита сервиса Datastore с помощью периметра сервиса блокирует трафик от устаревших встроенных сервисов App Engine . К устаревшим встроенным сервисам относятся:

Защита от несанкционированного выхода при импортно-экспортных операциях

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

Агент службы Cloud Firestore

Вместо учетной записи службы App Engine Cloud Firestore использует агент службы Cloud Firestore для авторизации операций импорта и экспорта. Агент службы и учетная запись службы используют следующие соглашения об именовании:

Агент службы Cloud Firestore
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com

Ранее Cloud Firestore использовал учетную запись службы App Engine по умолчанию вместо агента службы Cloud Firestore . Если ваша база данных по-прежнему использует учетную запись службы App Engine для импорта или экспорта данных, мы рекомендуем следовать инструкциям в этом разделе для перехода на использование агента службы Cloud Firestore .

служебный аккаунт App Engine
PROJECT_ID @appspot.gserviceaccount.com

Сервисный агент Cloud Firestore предпочтительнее, поскольку он предназначен специально для Cloud Firestore . Сервисная учетная запись App Engine используется несколькими сервисами.

Просмотреть учетную запись авторизации

На странице «Импорт/Экспорт» в консоли Google Cloud вы можете посмотреть, какая учетная запись используется для авторизации запросов при импорте и экспорте. Вы также можете проверить, использует ли ваша база данных уже агент службы Cloud Firestore .

  1. Просмотрите учетную запись авторизации рядом с меткой « Задания импорта/экспорта, выполняемые от имени» .

Если в вашем проекте не используется сервисный агент Cloud Firestore Cloud Firestore , вы можете перейти на него, используя один из следующих способов:

Первый из этих методов предпочтительнее, поскольку он ограничивает область действия одним проектом Cloud Firestore . Второй метод не является предпочтительным, поскольку он не переносит существующие разрешения для сегментов Cloud Storage . Однако он обеспечивает соответствие требованиям безопасности на уровне организации.

Для миграции проверьте и обновите разрешения для сегментов Cloud Storage

Процесс миграции состоит из двух этапов:

  1. Обновите разрешения для сегмента Cloud Storage . Подробности см. в следующем разделе.
  2. Подтвердите миграцию на агент службы Cloud Firestore .

Разрешения для хранилища агента службы

Для любых операций экспорта или импорта, использующих сегмент Cloud Storage в другом проекте, необходимо предоставить агенту службы Cloud Firestore разрешения на доступ к этому сегменту. Например, операции перемещения данных в другой проект должны иметь доступ к сегменту в этом другом проекте. В противном случае эти операции завершатся с ошибкой после миграции в агент службы Cloud Firestore .

Для импорта и экспорта рабочих процессов в рамках одного проекта изменение прав доступа не требуется. Агент службы Cloud Firestore по умолчанию может получать доступ к хранилищам в рамках одного проекта.

Обновите разрешения для сегментов Cloud Storage из других проектов, чтобы предоставить доступ агенту service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com . Предоставьте агенту службы роль Firestore Service Agent .

Роль Firestore Service Agent предоставляет права на чтение и запись для сегмента Cloud Storage . Если вам необходимо предоставить только права на чтение или только на запись, используйте пользовательскую роль .

Процесс миграции, описанный в следующем разделе, поможет вам определить сегменты Cloud Storage , для которых может потребоваться обновление прав доступа.

Перенесите проект в службу поддержки Firestore Service Agent.

Выполните следующие шаги для миграции с учетной записи службы App Engine на агент службы Cloud Firestore . После завершения миграцию отменить невозможно.

  1. Если ваш проект еще не перенесен в службу Cloud Firestore , вы увидите баннер с описанием процесса миграции и кнопку « Проверить состояние корзины» . Следующий шаг поможет вам выявить и исправить потенциальные ошибки доступа.

    Нажмите «Проверить состояние корзины» .

    Появится меню с возможностью завершения миграции и списком сегментов Cloud Storage . Загрузка списка может занять несколько минут.

    В этот список входят хранилища, которые недавно использовались в операциях импорта и экспорта, но в настоящее время не предоставляют агенту службы Cloud Firestore права на чтение и запись.

  2. Обратите внимание на основное имя агента службы Cloud Firestore вашего проекта. Имя агента службы отображается в разделе « Агент службы» для предоставления доступа к метке.
  3. Для любой категории в списке, которую вы будете использовать для будущих операций импорта или экспорта, выполните следующие шаги:

    1. В строке таблицы этого сегмента нажмите «Исправить» . Это откроет страницу разрешений этого сегмента в новой вкладке.

    2. Нажмите «Добавить» .
    3. В поле «Новые участники» введите имя вашего агента службы Cloud Firestore .
    4. В поле «Выберите роль» выберите «Сервисные агенты» > «Сервисный агент Firestore» .
    5. Нажмите « Сохранить ».
    6. Вернитесь на вкладку со страницей импорта/экспорта Cloud Firestore .
    7. Повторите эти шаги для других категорий в списке. Обязательно просмотрите все страницы списка.
  4. Нажмите «Перенести в Firestore Service Agent» . Если у вас по-прежнему есть корзины с неудачными проверками разрешений, вам необходимо подтвердить перенос, нажав «Перенести» .

    Уведомление сообщит вам о завершении миграции. Миграцию отменить нельзя.

Просмотреть статус миграции

Чтобы проверить статус миграции вашего проекта:

  1. Найдите имя основного пользователя рядом с меткой «Задания импорта/экспорта, выполняемые от имени» .

    Если в качестве основного пользователя используется service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com , то ваш проект уже перенесен в службу Cloud Firestore . Отменить миграцию невозможно.

    Если проект еще не перенесен, в верхней части страницы появится баннер с кнопкой « Проверить состояние корзины ». Для завершения миграции см. раздел «Перенос на агент службы Firestore» .

Добавьте общеорганизационное ограничение политики.

  • В политике вашей организации установите следующее ограничение:

    Для импорта/экспорта требуется агент Firestore Service Agent ( firestore.requireP4SAforImportExport ).

    Это ограничение требует, чтобы операции импорта и экспорта использовали агент службы Cloud Firestore для авторизации запросов. Чтобы установить это ограничение, см. раздел «Создание и управление политиками организации» .

Применение этого ограничения организационной политики не предоставляет автоматически соответствующие разрешения для сегмента Cloud Storage агенту службы Cloud Firestore .

Если ограничение вызывает ошибки доступа для каких-либо рабочих процессов импорта или экспорта, вы можете отключить его, чтобы вернуться к использованию учетной записи службы по умолчанию. После проверки и обновления разрешений корзины Cloud Storage вы можете снова включить ограничение.