使用授权网络进行授权

本页介绍如何使用已获授权的网络设置连接到使用 IP 地址的 Cloud SQL 实例。

简介

连接到 Cloud SQL 实例时,需要考虑以下两个事项:

  • 连接选项决定您用于连接实例的网络路径。
  • 身份验证选项决定谁可以连接实例。

当您首次创建 Cloud SQL 实例时,默认设置是为该实例分配一个公共 IP 地址。如果您接受该选项,则可以在实例概览页面上找到该 IP 地址。在该页面中,点击实例名称。

即使您的实例只有公共 IP 地址,您也可以使用 Cloud SQL Auth 代理安全地连接到该实例。Cloud SQL Auth 代理和 Cloud SQL 实例之间的所有流量均会加密。如果您不使用代理,并且要从自己的公共 IP 地址连接客户端,则需要将客户端的公共地址添加为已获授权的网络。

配置已获授权的网络

在以下情况下,您的客户端应用的 IP 地址或地址范围必须配置为 authorized networks

  • 您的客户端应用通过其公共 IP 地址直接连接到 Cloud SQL 实例。
  • 您的客户端应用通过其专用 IP 地址直接连接到 Cloud SQL 实例,并且您的客户端的 IP 地址是一个非 RFC 1918 地址

此 IP 地址可以是单一端点,也可以包含 CIDR 表示法的范围。

控制台

  1. 转到 Google Cloud Console 中的“Cloud SQL 实例”页面。

    转到“Cloud SQL 实例”页面

  2. 点击实例名称,打开其实例详情页面。
  3. 从左侧菜单中选择连接页面。
  4. 选择公共 IP 复选框。
  5. 点击添加网络
  6. 名称 字段中,输入新建网络的名称。
  7. 网络*字段中,输入要允许连接的 IP 地址或地址范围。

    使用 CIDR 表示法

  8. 点击完成
  9. 点击保存以更新实例。

gcloud

配置授权网络会替换现有的授权网络列表。

gcloud sql instances patch [INSTANCE_ID] --authorized-networks=[NETWORK_RANGE_1],[NETWORK_RANGE_2]...
    

REST API v1beta4

配置授权网络会替换现有的授权网络列表。

在使用下面的任何请求数据之前,请先进行以下替换:

  • project-id:项目 ID
  • instance-id:实例 ID
  • network_range_1:已获授权的 IP 地址或范围
  • network_range_2:另一个已获授权的 IP 地址或范围

HTTP 方法和网址:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

请求 JSON 正文:

{
  "settings":
  {
    "ipConfiguration":
    {
      "authorizedNetworks":
        [{"value": "network_range_1"}, {"value": network_range_2"}]
    }
  }
}

如需发送您的请求,请展开以下选项之一:

您应该会收到类似以下内容的 JSON 响应:

限制

某些 IP 地址范围不能添加为已获授权的网络。

地址范围 备注
127.0.0.0/8 环回地址范围
10.0.0.0/8 RFC 1918 地址范围。这些地址由 Cloud SQL 自动并隐式包含在已获授权的网络中
172.16.0.0/12 RFC 1918 地址范围。这些地址由 Cloud SQL 自动并隐式包含在已获授权的网络中
192.168.0.0/16 RFC 1918 地址范围。这些地址由 Cloud SQL 自动并隐式包含在已获授权的网络中
0.0.0.0/8 RFC 3330 null 网络
169.254.0.0/16 RFC 3927 和 RFC 2373,链接本地网络
192.0.2.0/24 RFC 3330 和 RFC 3849,文档网络
224.0.0.0/4 RFC 3330 和 IPv6 多播网络
240.0.0.0/4 此地址块(以前称为 E 类地址空间)留待将来使用;请参阅 RFC 1112 的第 4 部分

后续步骤