Наименьшая привилегия требуется для экспорта документов из GCP Firestore - PullRequest
0 голосов
/ 16 января 2020

Я пишу сервис для экспорта документов из нашей базы данных Firestore на регулярной основе для резервного копирования. Вызов sdk, используемый для этого, можно найти здесь .

Я пытаюсь определить, какие минимальные привилегии требуются в хранилище Firebase, чтобы разрешить это (exportDocuments) действие. Из того, что появляется Admin требуется. Хотя надеяться, что может быть что-то более ограничительное, что можно использовать.

1 Ответ

0 голосов
/ 20 января 2020

Спасибо за комментарий @ norbjd !

Существует роль, roles/datastore.importExportAdmin, «Администратор импорта экспорта облачного хранилища данных», которая предоставляет разрешения, необходимые для экспорта документов из хранилища данных. Хотя он также включает в себя datastore.databases.import, которое является дополнительным ненужным разрешением.

appengine.applications.get
datastore.databases.export
datastore.databases.import
datastore.operations.cancel
datastore.operations.get
datastore.operations.list
resourcemanager.projects.get
resourcemanager.projects.list

Идея состоит в том, чтобы установить новую роль только с разрешением datastore.databases.export. Похоже, что в Google Cloud невозможно добавить datastore.databases.export к пользовательской роли

Не поддерживается в пользовательских ролях. Эти разрешения нельзя добавить к пользовательским ролям. Вместо этого вы можете назначать предопределенные роли, которые содержат необходимые вам разрешения.

Добавление предопределенной роли бесполезно, поскольку именно это мы и пытаемся разбить.

Решение. Укажите учетную запись службы с ролью: Администратор импорта импорта хранилища данных в облаке (roles/datastore.importExportAdmin) и явное разрешение записи в корзину, в которую экспортируются документы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...