Cloud SQL 中的角色和权限

本页面介绍了 Identity and Access Management (IAM) 角色和权限,以及在连接到 Cloud SQL 实例时如何使用它们。

简介

Google Cloud API 的访问权限控制包括身份验证、授权和审核。身份验证可识别您的身份。应用开发者在 Google Cloud 中使用 IAM 服务和用户帐号进行身份验证。帐号使用角色,角色包含一组权限。如需了解 Cloud SQL 中所有角色和权限的完整列表,请参阅项目访问权限控制

当您使用帐号连接到 Cloud SQL 实例时,帐号必须具有 Cloud SQL > Client 角色,此角色包含进行连接所需的以下权限

  • roles/cloudsql.instances.connect
  • roles/cloudsql.instances.get

您可以在控制台的 IAM 和管理 > IAM 页面中向帐号添加角色,并在 IAM 和管理 > 角色页面中查看哪些权限属于哪些角色。

Cloud SQL 使用服务帐号在 Cloud SQL 和其他 Google Cloud 产品之间进行身份验证。服务帐号以 JSON 格式提供 credentials,您可以从控制台进行下载,并在各种场景中使用以进行身份验证。

Cloud SQL 代理所需的 Cloud SQL 角色和权限

如果您使用 Cloud SQL 代理从 Compute Engine 实例连接到 Cloud SQL 实例,则可以使用与此 Compute Engine 实例关联的默认 Compute Engine 服务帐号。

与连接到 Cloud SQL 实例的所有帐号一样,此服务帐号必须具有 Cloud SQL > Client 角色。

无服务器方案所需的 Cloud SQL 角色和权限

您可以使用服务帐号为这些方案授予访问权限。服务帐号可授予对特定项目中所有 Cloud SQL 的访问权限。当您创建应用或 Cloud Functions 函数时,此服务会为您创建此帐号。您可以通过相应的后缀在 IAM 和管理 > IAM 页面上找到该帐号:

无服务器方案 服务帐号后缀
App Engine @gae-api-prod.google.com.iam.gserviceaccount.com
Cloud Functions @gcf-admin-robot.iam.gserviceaccount.com
Cloud Run compute@developer.gserviceaccount.com

与连接到 Cloud SQL 实例的所有帐号一样,此服务帐号必须具有 Cloud SQL > Client 角色。

Cloud Storage 所需的 Cloud SQL 角色和权限

Cloud SQL 中的导入和导出功能可搭配使用。导出内容可以写入 Cloud Storage,也可以从 Cloud Storage 中读取导入的内容。因此,用于执行这些操作的服务帐号需要同时具备对 Cloud Storage 的读写权限:

  • 如需向 Cloud Storage 导入数据以及从 Cloud Storage 导出数据,Cloud SQL 实例的服务帐号必须在项目中设置 storage.objectAdmin IAM 角色。您可以在 Google Cloud Console 的实例概览页面上找到实例的服务帐号名称。
  • 您可以使用 gsutil iam 命令向服务帐号授予该存储分区的此 IAM 角色
  • 如需有关设置 IAM 角色和权限的帮助,请参阅使用 IAM 权限
  • 如需了解详情,请参阅适用于 Cloud Storage 的 IAM

其他场景所需的 Cloud SQL 角色和权限

Cloud SQL 可与其他 Google Cloud 产品和工具进行交互。这些交互还需要特定角色和权限,具体角色和权限因场景而异。Cloud SQL 文档为以下情况提供了详细的要求信息:

后续步骤