首页 文章

谷歌 Cloud 功能权限问题

提问于
浏览
2

我在GCP中有两个项目,比如项目A和B.项目A是新创建的,项目B是两年 . 当我在项目A中创建 Cloud 功能时,它是使用默认服务帐户(project @ appspot ...)创建的 . 但是,当我在项目B上创建 Cloud 功能时,会使用不存在的服务帐户 . 我知道它不存在,因为它没有出现在IAM上 .

在项目A中,创建的 Cloud 功能可以访问数据存储,但是,项目B中的相同 Cloud 功能无法访问数据存储 .

所以,我的问题是:

  • 如何知道 Cloud 功能将使用哪个Google服务帐户?

  • 有没有办法通过项目B更改使用过的服务帐户,以获得访问数据存储区的 Cloud 功能?

我试图给 Cloud 功能提供适当的权限,但只要在项目B中它就不起作用 . 我在这里错过了什么?

1 回答

  • 2

    在项目B中,您需要检查两个不同的帐户 .

    首先是Google API服务帐户 . 您应该确保它存在并且它具有正确使用 Cloud 功能的正确凭据 . 以下是GCP文档中的文档:

    对于在创建,更新或删除功能期间对项目执行的管理操作,Cloud Functions服务使用Google API服务帐户PROJECT_NUMBER@cloudservices.gserviceaccount.com . 默认情况下,此服务帐户在项目中具有“编辑者”角色 . 如果您减少此帐户的权限,则创建,更新和删除功能可能会失败 .

    接下来是运行时服务帐户 . 从您描述的问题来看,这可能是真正的问题 . 再次,这是解释它的文档:

    在运行时,Cloud Functions使用服务帐户PROJECT_ID@appspot.gserviceaccount.com,该帐户在项目中具有编辑角色 . 您可以更改此服务帐户的角色,以限制或扩展正在运行的功能的权限 .

相关问题