Leo*_*eon 28 google-cloud-platform gcloud
我需要一个可以访问多个项目的服务帐户,但我根本找不到这样做的方法.似乎服务帐户始终绑定到项目.
另一个选择是在单独的项目上创建一个服务帐户,然后使用它们进行身份验证gcloud auth activate-service-account --key-file SOME_FILE.json,但问题是,似乎无法自动创建服务帐户.
那么问题是:是否可以创建跨项目服务帐户或自动创建服务帐户?如果我能做到两者,那就更好了
Zac*_*man 41
您应该能够将服务帐户添加到另一个项目:
在云控制台中的项目A中创建第一个服务帐户.使用激活它gcloud auth activate-service-account.
在云控制台中,导航到项目B.找到"IAM&admin">"IAM"页面.单击"添加"按钮.在"新成员"字段中粘贴服务帐户的名称(它应该看起来像一个奇怪的电子邮件地址)并赋予它适当的角色.
运行gcloud命令--project设置为项目B.他们应该成功(我只是手动验证这将工作).
在我们完成所有安全后果之前,自动创建服务帐户是我们犹豫不决的事情.
Vin*_*ini 16
我知道它有点旧,但如果有人还在寻找这个,要添加到@Zachary Newman回答,为了清楚起见,在项目A中创建服务帐户之后,你应该将项目B转到"IAM"(不是"服务帐户"),您可以使用适当的角色添加刚刚创建的电子邮件.
我已经确认自定义令牌签名适用于 @Zachary Newman 的程序。
我在项目 A 的 GAE 应用程序中创建自定义令牌(可用于连接到项目 B 的 Firestore)的具体过程如下:
{project-a}@appspot.gserviceaccount.com该服务帐号是项目A的GAE默认服务帐号。{project-a}@appspot.gserviceaccount.com。initializeApp在项目 A 的 GAE 应用中调用 Firebase Admin SDK方法,并指定firebase-adminsdk-xxxxx@{project-b}.iam.gserviceaccount.com,这是项目 B 中具有“Firebase Admin SDK 管理员服务代理”的服务帐户 asserviceAccountId和https://{project-b}.firebaseio.comas databaseURL,然后创建自定义令牌。| 归档时间: |
|
| 查看次数: |
11341 次 |
| 最近记录: |