Можно ли привязать учетную запись службы из другого проекта GCP к облачной функции GCP?

Я хочу создать облачную функцию GCP (function-in-A-project) в GCP Project A.

Я хочу привязать учетную запись службы (service-account-created-in-B-project), созданную в проекте B, к function-in-A-project.

Является ли это возможным?


comment
Согласно документу здесь: учетная запись службы deployed должен быть создан в том же проекте, что и функция, к которой он прикреплен.   -  person LundinCast    schedule 28.02.2020


Ответы (1)


Если вы хотите назначить сервисную учетную запись в Google Cloud Console или через параметры развертывания CLI и иметь ключ, доступный через метаданные (ADC), вы должны указать сервисную учетную запись в том же проекте. Причина в том, что закрытый ключ учетной записи службы обрабатывается за вас при подписании запросов и не предоставляется клиентским приложениям.

Вы можете использовать любую сервисную учетную запись вручную внутри Cloud Functions, указав в своем коде материал JSON-ключа сервисной учетной записи. В этом случае я рекомендую сохранить учетную запись службы в Google Secrets Manager.

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

person John Hanley    schedule 28.02.2020
comment
Спасибо. это то, что я обнаружил, чтобы использовать ключ учетной записи службы внутри облачной функции. cloud.google.com/iam/docs/ - person Wang Zhijun; 05.03.2020