google-cloud-sql - 服务帐号未分配给 CloudSQL 实例
问题描述
我需要使用特定服务帐户创建 CloudSQL 实例。尝试 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 db 类型。
你知道为什么我的帐户没有被提取,为什么 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 添加权限,如果您认为通过这种方式更好。
让我知道这些信息是否对您有帮助!
推荐阅读
- r - 使用 ggplot2 在 R 中绘制空间线
- wordpress - 我的 wordpress 网站不加载内容
- reactjs - Axios 有 CORS 问题
- django - 表单未显示 ValidationError
- ruby-on-rails - 如果使用 devise 出现错误,则将 css 类添加到输入
- wso2 - 从 DAS 升级 WSO2 SP
- android - React Native Navigation v1 安卓黑屏
- reactjs - 要使用 React,我应该使用 nodejs (express) 吗?
- jquery - 复选框选择的多个实例
- python - 对数字范围内的数字进行四舍五入