Приложению требуется доступ к клиентскому проекту Google Cloud - PullRequest
0 голосов
/ 17 июня 2020

Я хочу создать услугу, в которой один клиент / компания может предоставить ведро облачного хранилища Google + базу данных firestore, и я хочу выполнить некоторые операции с файлами корзины и хранилищем огня (чтение / запись), но я не уверен, что лучший способ получить доступ к своим ресурсам.

[my gc project] -> [customer 1 gc project: bucket + firestore]
                -> [customer 2 gc project: bucket + firestore]
                -> [customer n gc project: bucket + firestore]

Решения, которые я могу себе представить:

  • Запросить доступ с помощью OAuth, но тогда это больше похоже на то, что пользователь дает мне разрешения, а не компания
  • Заказчик создает учетную запись службы и дает мне «json»
  • Я создаю учетную запись службы для каждого клиента, и он должен добавить ее в свой проект, я не знаю, возможно ли это, и я думаю, что есть ограничение около 100 учетных записей служб на одного клиента
  • Я создаю одну учетную запись службы, и каждый заказчик должен добавить ее в свои проекты

Некоторые другие требования:

  • Мне нужен доступ к проекту клиента таким образом, чтобы я мог запускать запланированные задания в фоновом режиме
  • Мне нужно получить доступ к проекту клиента с помощью облачных функций Google

Каким будет лучше всего подходит для меня или мне что-то не хватает?

1 Ответ

1 голос
/ 17 июня 2020

Если проекты будут создаваться вами от их имени, я бы предложил создать организацию. В организации проекты классифицируются по папкам, как в файловой системе. Затем вы можете добавить контроль доступа для указания элементов c во все проекты внутри. https://cloud.google.com/iam/docs/resource-hierarchy-access-control

В противном случае вам придется вручную (или создать сценарий), чтобы запросить учетную запись службы (вторая точка) или создать уникальную учетную запись службы и добавить эту уникальную учетную запись службы каждому проекту заказчика (третья точка).

...