删除存储桶的 IP 过滤规则

本页面介绍了如何在存储桶中保持启用 IP 过滤的情况下,删除单个或多个存储桶 IP 过滤规则。删除规则会移除相应规则授予的网络访问权限。

所需的角色

如需获得删除存储桶 IP 过滤规则所需的权限,请让您的管理员为您授予存储桶的 Storage Admin (roles/storage.admin) 角色。此角色包含删除存储桶 IP 过滤规则所需的权限。

如需查看所需的确切权限,请展开所需权限部分:

所需权限

  • storage.buckets.update
  • storage.buckets.setIpFilter

您还可以通过自定义角色获得这些权限。 此外,您可能也可以通过其他预定义角色来获取这些权限。要查看哪些角色与哪些权限相关联,请参阅适用于 Cloud Storage 的 IAM 角色

如需了解如何授予存储桶的角色,请参阅为存储桶设置和管理 IAM 政策

删除存储桶的 IP 过滤规则

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Storage 存储桶页面。

    进入“存储桶”

  2. 在存储桶列表中,点击要更新的存储桶的名称。

  3. 存储桶详情页面上,点击配置标签页。

  4. 权限部分中,前往 IP 过滤。然后,点击 修改 IP 过滤配置

    IP 过滤页面会显示所有已配置的 IP 过滤规则。

  5. 选中要删除的每个规则对应的复选框。

  6. 点击删除

  7. 如需确认要删除规则,请在删除字段中输入 DELETE

  8. 点击删除

系统会显示一条通知消息,确认规则已删除。

gcloud

  1. 如需查看存储桶的 IP 过滤配置并将其保存到 JSON 文件中,请在开发环境中运行 gcloud storage buckets describe 命令:

    gcloud storage buckets describe gs://BUCKET_NAME --format="json(ipFilter)" > JSON_FILE_NAME

    其中:

    • BUCKET_NAME 是您的存储分区的名称。

    • JSON_FILE_NAME 是包含存储桶设置的 JSON 文件的名称。

  2. 修改 JSON 文件,以从 publicNetworkSource.allowedIpCidrRanges 列表或 vpcNetworkSources 列表中移除要删除的特定 IP 范围或 VPC 网络来源。

    以下示例展示了如何更新 JSON 文件以删除公共 IP 范围 192.0.2.0/24

        // Original configuration (Before deletion)
        {
          "publicNetworkSource": {
            "allowedIpCidrRanges": ["192.0.2.0/24", "203.0.113.0/24"]
          },
          // ... other settings ...
        }
      

        // Updated configuration (After deletion - '192.0.2.0/24' is excluded)
        {
          "publicNetworkSource": {
            "allowedIpCidrRanges": ["203.0.113.0/24"]
          },
          // ... other settings ...
        }
      

  3. 如需应用更新后的配置,请在开发环境中运行 gcloud storage buckets update 命令:

    gcloud storage buckets update gs://BUCKET_NAME --ip-filter-file=JSON_FILE_NAME

    其中

    • BUCKET_NAME 是您的存储分区的名称。

    • JSON_FILE_NAME 是包含存储桶设置的 JSON 文件的名称。

JSON API

  1. 安装并初始化 gcloud CLI,以便为 Authorization 标头生成访问令牌。

  2. 如需获取存储桶的元数据(包括 ipFilter 配置),请使用 GET 请求:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME"
  3. 创建一个 JSON 文件,并将 GET 请求的输出中的 ipFilter 对象复制到此文件中。

  4. 修改 JSON 文件,以从 publicNetworkSource.allowedIpCidrRanges 列表或 vpcNetworkSources 列表中移除要删除的特定 IP 范围或 VPC 网络来源。

  5. 使用 cURL,通过 PATCH bucket 请求调用 JSON API,并提供修改后的 ipFilter 对象:

    curl -X PATCH --data-binary JSON_FILE_NAME \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?project=PROJECT_ID"

    其中:

    • JSON_FILE_NAME 是包含存储桶 IP 过滤设置的 JSON 文件的名称。
    • BUCKET_NAME 是您的存储分区的名称。
    • PROJECT_ID 是与您的存储桶相关联的项目的 ID。

后续步骤

亲自尝试

如果您是 Google Cloud 新手,请创建一个账号来评估 Cloud Storage 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。

免费试用 Cloud Storage