中国对《消除对妇女一切形式歧视公约》的批准与实施

百度   昨日,在武汉进行的男篮亚洲杯产生了四强。

本页介绍了出站流量代理配置的前提条件、如何获取组织 ID、添加组织权限限制标头,以及如何使用目标网址列表配置代理。

Google Cloud 管理员(负责管理 Google Cloud)和出站流量代理管理员(负责配置出站流量代理)必须共同配置组织权限限制。如需了解已通过组织权限限制验证的合作伙伴解决方案,请参阅已验证的合作伙伴解决方案

准备工作

如果您是出站流量代理管理员,在配置出站流量代理以添加组织权限限制标头之前,您必须完成以下前提条件:

  • 如果贵组织中的 Google Cloud 管理员角色和出站流量代理管理员角色不同,请确保 Google Cloud 管理员与出站流量代理管理员协作来配置出站流量代理。

  • 配置组织防火墙规则或配置受管理的设备,以确保组织中所有用户的出站流量都通过出站代理。

  • 确保贵组织中的出站代理具有以下功能:

    • 插入标头。将自定义 HTTP 标头插入到通过出站流量代理的出站请求中。
    • TLS 检查。如果出站代理的流量已加密,则出站代理必须先解密数据包,然后插入标头,再重新加密数据包,最后将其发送到目标。
    • 过滤和插入标题。可选。支持以下一个或多个过滤条件,然后仅针对符合过滤条件的请求添加标头:

      • 目标网址。出站代理可以匹配的目标网址列表。
      • 设备 ID。出站代理可以匹配的设备 ID 列表。 设备 ID 必须传播到出站代理。
      • 用户 ID。出站代理可以匹配的用户 ID 列表。用户 ID 必须传播到出口代理。

获取组织 ID

作为 Google Cloud 管理员,您必须获取 Google Cloud组织 ID,以便将其添加到组织权限限制标头中。

如需查找组织资源 ID,请运行以下命令:

   gcloud organizations list

此命令会列出您所属的所有组织资源,以及它们对应的组织资源 ID。

获取组织 ID 后,您可以添加组织权限限制标头,也可以与出站流量代理管理员联系以添加该标头。

添加组织权限限制标头

作为出站流量代理管理员,如需向出站请求添加组织权限限制标头,请执行以下操作:

  • 创建标头。
  • 对标头进行编码。
  • 配置出站代理。

创建标头

以以下格式创建标头的 JSON 表示法: X-Goog-Allowed-Resources: HEADER_VALUE

HEADER_VALUE 包含以英文逗号分隔的授权 Google Cloud组织 ID 列表。然后,必须以可在网页上安全使用的 base64 编码对该值进行编码。

HEADER_VALUE 具有以下 JSON 结构:

  {
  "resources": [string,..],
  "options": string
  }
  • resources。字符串列表。此列表中的每个字符串都必须引用 Google Cloud组织 ID。评估期间,此列表中的组织 ID 会被视为已获授权的组织。
  • options。包含以下某个值的字符串:
    • "strict". 针对所有请求类型对受支持的 Google Cloud 服务强制执行组织权限限制标头。
    • "cloudStorageReadAllowed". 允许向 Cloud Storage 发出读取请求,但会针对所有其他请求类型强制执行组织权限限制标头,以访问受支持的 Google Cloud 服务。此选项允许访问以下 Cloud Storage 读取操作:
      • storage.objects.get
      • storage.objects.list
      • storage.objects.getIamPolicy
      • storage.buckets.get
      • storage.buckets.list
      • storage.buckets.getIamPolicy

为了演示此选项,我们假设 Alex 是 Example Organization 的管理员,而 Lee 是该组织的员工。假设有一个网站 (altostrat.com) 将静态内容存储在公共 Cloud Storage 存储分区中,并且位于 Example Organization 之外。如果 Alex 使用 strict 选项将 Lee 的访问权限仅限为 Example Organization,则 Lee 将无法访问 altostrat.com 中由 altostrat.com 拥有的公共 Cloud Storage 存储分区中的静态内容。此行为会影响 Lee 有效浏览网站的能力,并且任何使用公共 Cloud Storage 存储静态内容的网站都会出现相同的行为。为了让 Lee 能够查看 altostrat.com 中的静态内容,并限制所有其他 Google Cloud 访问权限仅限 Example Organization,Alex 使用了 cloudStorageReadAllowed 选项。

以下是有效的组织权限限制标头示例:

  {
  "resources": ["organizations/1234", "organizations/3456"],
  "options": "strict"
  }

对标头进行编码

以网络安全 base64 格式对组织 ID 进行编码。编码必须遵循 RFC 4648 第 5 条规范

例如,如果标头值的 JSON 表示形式存储在 authorized_orgs.json 文件中,如需对该文件进行编码,请运行以下 basenc 命令:

     $ cat authorized_orgs.json | basenc --base64url -w0
ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

下面是编码组织 ID 后的标头示例:

// Encoded representation
X-Goog-Allowed-Resources: ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

// Plain-text representation (As HTTP disallows some characters, encode the organization ID)
// Plain-text representation is included here only for readability
X-Goog-Allowed-Resources: {"resources": ["organizations/1234", "organizations/3456"], "options": "strict"}

配置出站代理

如需将标头插入到源自受管设备的请求中,请配置出站流量代理。

确保如果组织中的 Google Cloud 用户明确提供 HTTP 标头,出站代理会使用 Google Cloud 管理员提供的值替换用户提供的值。

为避免将此标头添加到 Google Cloud以外的目标,请将出站流量代理配置为仅向具有以下目标的请求添加组织权限限制标头:

  • *.google.com
  • *.googleapis.com
  • *.gcr.io
  • *.pkg.dev
  • *.cloudfunctions.net
  • *.run.app
  • *.tunnel.cloudproxy.app
  • *.datafusion.googleusercontent.com

如需了解因违反组织权限限制而出现的错误消息,请参阅错误消息

后续步骤