管理连接以便与发现功能搭配使用

本页介绍了如何使用敏感数据保护功能在您为 Cloud SQL 配置发现功能时创建的关联。

获取服务代理 ID

若要执行本页中的操作,您需要知道与扫描配置关联的服务代理的 ID。如需获取服务代理 ID,请按以下步骤操作:

  1. 前往发现扫描配置列表。

    前往发现扫描配置

  2. 选择您的扫描配置。
  3. 在打开的详情页面上,复制服务代理 ID。此 ID 的格式为电子邮件地址。

向服务代理授予所需的 IAM 角色

  1. 确保与您的扫描配置关联的服务代理具有所需的驱动程序角色:

    • 如果发现操作的范围是整个组织或文件夹,请确保服务代理具有 DLP 组织数据集成驱动程序 (roles/dlp.orgdriver) 角色。
    • 如果发现操作的范围仅限于一个项目,请确保服务代理具有 DLP Project Data Profiles Driver (roles/dlp.projectdriver) 角色。
  2. 向服务代理授予 Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) 角色。

如需获取服务代理 ID,请参阅本页面上的获取服务代理 ID

如需了解详情,请参阅 Identity and Access Management 文档中的向服务人员授予角色

为每个 Cloud SQL 实例创建用户

对于纳入发现范围内的每个实例,请创建一个具有分析数据所需权限的用户账号。

您可以使用现有用户账号,但必须确保该账号具有本部分列出的权限。

为 Cloud SQL for MySQL 实例创建用户

本部分介绍了如何创建 MySQL 用户账号以用于数据分析。无论您是创建用户账号还是重复使用现有账号,该账号都必须安装 mysql_native_password 身份验证插件。本部分介绍了如何修改现有数据库用户账号以使用此身份验证插件。

  1. 连接到您的实例
  2. 准备数据库用户账号。

    • 如果您想创建数据库用户,请在 mysql 提示符中运行以下命令:

      CREATE USER 'USERNAME'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
      

      替换以下内容:

      • USERNAME:用户账号的用户名
      • PASSWORD:用户账号的密码

      如需了解详情,请参阅 MySQL 文档中的 CREATE USER 语句

    • 如果您想使用不使用 mysql_native_password 身份验证插件的现有数据库用户账号,请使用 ALTER USER 命令更改该账号的身份验证插件:

      ALTER USER 'USERNAME'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
      

      如需了解详情,请参阅 MySQL 文档中的 ALTER USER 语句

  3. 向用户授予 SELECTSHOW VIEW 权限。

    GRANT SELECT, SHOW VIEW ON *.* TO 'USERNAME'@'%';
    

    输出类似于以下内容:

    Query OK, 0 rows affected (0.00 sec)

    如需了解详情,请参阅 MySQL 文档中的 GRANT 语句

  4. 可选:如果您想对 performance_schema.log_status 进行性能分析,请向用户授予 BACKUP_ADMIN 权限。如需了解详情,请参阅 MySQL 文档中的 MySQL 性能架构

    GRANT BACKUP_ADMIN ON *.* TO 'USERNAME'@'%';
    
  5. 在 Secret Manager 中,创建一个 Secret 来存储密码。在包含 Cloud SQL 实例的项目中创建 Secret。

    记下 Secret 的资源名称。

为 Cloud SQL for PostgreSQL 实例创建用户

对于 Cloud SQL for PostgreSQL 实例,Sensitive Data Protection 支持两种类型的用户账号:

  • 通过 PostgreSQL 创建的内置用户账号。
  • IAM 主账号,具体而言,就是与您的扫描配置关联的服务代理。

方法 1:在 PostgreSQL 中创建内置用户账号

本部分介绍了如何通过 PostgreSQL 创建内置用户账号。

  1. 连接到您的实例
  2. postgres 提示符处,运行以下命令来创建用户:

    CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
    

    替换以下内容:

    • USERNAME:用户账号的用户名
    • PASSWORD:用户账号的密码

    输出类似于以下内容:

    CREATE ROLE

    如需了解详情,请参阅 PostgreSQL 文档中的 CREATE USER

  3. 向用户授予 pg_read_all_data 角色:

    GRANT pg_read_all_data TO USERNAME;
    

    输出类似于以下内容:

    GRANT ROLE

    如需了解详情,请参阅 PostgreSQL 文档中的 GRANT

  4. 在 Secret Manager 中,创建一个 Secret 来存储密码。在包含 Cloud SQL 实例的项目中创建 Secret。

    记下 Secret 的资源名称。

方法 2:在实例中将服务代理添加为用户(仅限 PostgreSQL)

仅当您要配置 Cloud SQL for PostgreSQL 实例时,才需要按照以下步骤操作。

  1. 请按照 Cloud SQL for PostgreSQL 文档中的说明向数据库添加 IAM 服务账号

    您提供的服务账号必须是与扫描配置关联的服务代理。如需获取服务代理 ID,请参阅本页上的获取服务代理 ID

  2. 在 PostgreSQL 中,向服务代理授予 pg_read_all_data 角色:

    GRANT pg_read_all_data TO "TRUNCATED_SERVICE_AGENT_ID";
    

    TRUNCATED_SERVICE_AGENT_ID 替换为不带 .gserviceaccount.com 后缀的服务代理 ID,例如 service-1234567890@dlp-api.iam

    输出类似于以下内容:

    GRANT ROLE

提供对 Cloud SQL 实例的访问权限

创建扫描配置后,敏感数据保护功能会自动为要发现的范围内的每个实例创建默认服务连接。在开始性能分析之前,您需要修改每个服务连接,为每个 Cloud SQL 实例提供凭据。

如需更新关联,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往服务关联页面。

    前往“服务关联”页面

    您的连接会显示在列表中。

  2. 对于要更新的关联,请依次点击 操作 > 修改关联

  3. 执行下列其中一项操作:

更新连接后,敏感数据保护功能会尝试使用您提供的凭据连接到实例。如果连接出现错误,Sensitive Data Protection 会自动重试连接到实例。如需了解详情,请参阅本页面上的查看连接错误

提供用户账号凭据

输入用户名和包含密码的 Secret Manager 资源。Secret Manager 资源必须采用以下格式:

projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/VERSION_NUMBER

替换以下内容:

  • PROJECT_NUMBER:项目的数字 ID。
  • SECRET_NAME:包含密码的 Secret 的名称。
  • VERSION_NUMBER:Secret 的版本号;如需提供最新版本,请使用 latest

将服务代理用作用户账号

此选项仅适用于 Cloud SQL for PostgreSQL 实例。

如需使用服务代理作为用户账号,请选择 Cloud SQL IAM 数据库身份验证

更新实例的并发连接数上限

默认情况下,Sensitive Data Protection 最多使用两个并发连接,以最大限度地减少发现对 Cloud SQL 实例的影响。我们建议您根据实例大小和利用率将此数量增加到适当的值。

如需了解详情,请参阅 Cloud SQL 文档中的最大并发连接数

如需更改发现服务的最大连接数限制,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往服务关联页面。

    前往“服务关联”页面

    您的连接会显示在列表中。

  2. 对于要更新的关联,请依次点击 操作 > 修改关联

  3. 连接数上限字段中,输入新限制。

  4. 点击完成

查看连接错误

  1. 在 Google Cloud 控制台中,前往服务关联页面。

    前往“服务关联”页面

    系统会列出您的关联。如果连接存在错误,系统会在连接旁边显示错误图标。

  2. 对于出现错误的连接,请依次点击 操作 > 查看错误。系统会列出相关的错误消息。每条消息都包含请求连接的扫描配置的名称。

  3. 根据需要解决错误。根据错误,解决方案可能涉及以下任一方面:

    • 修改您提供的凭据
    • 更新存储在 Secret Manager 中的密码。
    • 登录数据库并向数据库用户授予所需的权限。
    • 向与指定扫描配置关联的服务代理分配指定的 IAM 角色。

Sensitive Data Protection 会自动重试连接到实例。如果重新连接尝试成功,系统会清除错误消息。

允许发现没有公共 IP 地址的实例

如需对没有公共 IP 地址的 Cloud SQL 实例运行发现功能,请为该实例选择启用专用路径选项。此选项允许 Google Cloud 服务通过专用 IP 连接访问 Cloud SQL 实例中的数据。

详情请参阅以下内容:

后续步骤