如何为Google Cloud功能分配多个服务帐户凭据? [英] How to assign multiple service account credentials to Google Cloud Functions?
本文介绍了如何为Google Cloud功能分配多个服务帐户凭据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有三个服务帐户:
- App Engine默认服务帐户
- 数据存储区服务帐户
- 警报中心API服务帐户
我的云函数在数据存储模式下使用FiRestore记账,并调用警报中心API。
部署云功能时,一个人只能分配一个服务帐户。
是否与AWS类似,在AWS中,用户可以创建多个内联策略并将其分配给默认服务帐户。
附注:我尝试创建自定义服务帐户,但不支持数据存储区角色。此外,我不想将凭据存储在环境变量中或上载包含源代码的凭据文件。推荐答案
您正在向后查看服务帐户。
诚然,我明白了命名是如何将您引向这个方向的。在这种情况下,"服务"不是指所提供的服务,而是指试图访问所提供的服务的非人类实体(即,应用、机器等,在这种情况下称为服务)。发件人Understanding service accounts:
服务帐户是一种特殊类型的Google帐户,它属于 您的应用程序或虚拟机(VM),而不是 单个最终用户。您的应用程序采用 服务帐户调用Google API,这样用户就不会 直接参与。
因此,您不应从提供的服务角度(即数据存储区或警报中心API)查看服务帐户,而应从其"用户"角度(在本例中为您的CF)进行查看。
分配给特定CF的单个服务帐户只是在访问特定服务时标识该CF(而不是某些其他CF、应用程序、计算机、用户等)。
如果您希望CF能够访问特定Google服务,则需要为该CF的服务帐户授予执行此操作的适当角色和/或权限。
要访问数据存储区,您将看到这些Permissions and Roles。如果您的CFS需要访问的数据存储位于同一个GCP项目the default CF service account(与该项目中的GAE应用程序相同)中,则已经可以访问该数据存储(当然,如果您可以使用默认服务帐户)。
我没有使用警报中心API,但显然它uses OAuth 2.0,所以您可能应该通过Service accounts。
这篇关于如何为Google Cloud功能分配多个服务帐户凭据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文