从另一个项目中的云函数访问SQL



我的情况很简单。

我在项目a中有一个谷歌云函数,可以访问项目a中的PostgreSQL实例。它工作得很好。

现在我需要另一个来自项目B的Google Cloud函数来访问项目A中的PostgreSQL实例。

我一直在谷歌文档中盯着这个,我就是无法解析它:

如果授权服务帐户属于不同于云SQL实例的项目,请在这两个项目上启用云SQL管理API,并添加上面列出的IAM权限。

我知道我在项目B中的云功能的服务帐户需要具有IAM权限。(如果是,是否可以将云SQL权限仅限于项目A中的数据库?(

我是否正确理解我需要:

  • 在项目a(SQL所在地(中创建具有相同IAM权限的服务帐户
  • 是否将项目B的服务帐户作为本金添加到项目a的服务帐户

无需创建新的服务帐户,分析如下:Project A必须允许访问project B。由于云功能使用应用程序引擎默认服务帐户,您必须在运行数据库的项目(Project A(中允许此帐户(来自project B(。

因此:

关于项目B:

  • 启用sql API,您可以单击此处执行->选择project B
  • 启用云函数api
  • 在IAM部分,复制应用程序引擎默认服务帐户的电子邮件:<PROJECT_B_ID>@appspot.gserviceaccount.com

关于项目A(postgresql所在地(:

  • Cloud SQL Client角色添加到project B的应用程序引擎默认服务帐户(名称=应用程序引擎的默认服务帐户(,类似于此<PROJECT_B_ID>@appspot.gserviceaccount.com

相关内容

  • 没有找到相关文章