服务账号未分配给云SQL实例



我需要使用特定的服务帐户创建一个CloudSQL instace。正在尝试 API 调用instances.insert

POST https://www.googleapis.com/sql/v1beta4/projects/{project}/instances
{
"serviceAccountEmailAddress": "<my account>@managed-gcp.iam.gserviceaccount.com",
"name": "pvtest20200611-3",
"settings": {
"tier": "db-n1-standard-1"
},
"databaseVersion": "MYSQL_5_7"
}

实例已创建,但它有一个生成的 svc 帐户(例如 p754990076948-kf1bsf@gcp-sa-cloud-sql.iam.gserviceaccount.com(而不是我的。

对于我的 SA,我有存储管理员/存储对象管理员角色(这是我需要新创建的实例始终具有的角色(。我还添加了 cloudsql 管理员角色。当我认为这是一个角色问题时,甚至尝试了项目编辑角色,但这不起作用。

我已经尝试过MySQL和Postgres数据库类型。

你知道为什么我的帐户没有被选中,为什么CloudSQL引擎总是分配自己的帐户吗? 自定义 SA 与 CloudSQL 实例配合使用的要求/设置是什么?

当您在 Cloud SQL 中创建实例时,它将在创建过程中使用默认实例,因此,您将无法在创建过程中设置自定义实例。

但是,您可以在创建后授予服务帐户的访问权限和权限。如官方文档向特定资源的服务帐户授予角色中所述,您可以为服务帐户提供特定权限。您可以尝试使用gcloud命令,如下所示:

gcloud projects add-iam-policy-binding my-project-123 
--member serviceAccount:my-sa-123@my-project-123.iam.gserviceaccount.com 
--role roles/editor

除此之外,您还可以使用此处的此链接检查所有可用的服务帐户,以验证您的自定义帐户是否存在,如果您认为通过这种方式更好,甚至可以通过UI添加权限。

让我知道这些信息是否对您有帮助!

相关内容

  • 没有找到相关文章

最新更新