您可以使用组织权限限制来控制来自网络的出站流量,以便用户和工作负载只能访问允许的Google Cloud 组织。这些限制有助于防止数据渗漏到未经授权的外部环境。以下示例展示了如何针对常见场景(例如单个或多个组织、Cloud Storage 读取权限和上传请求)配置组织权限限制请求标头。
仅限贵组织访问
在此示例中,组织 A 的 Google Cloud 管理员和出站代理管理员共同协作,限制员工只能访问其Google Cloud 组织中的资源。
如需仅限贵组织访问,请执行以下操作:
作为 Google Cloud 管理员,如需获取组织 A 的 Google Cloud 组织 ID,请使用
gcloud organizations list命令:gcloud organizations list以下是示例输出:
DISPLAY_NAME: Organization A ID: 123456789 DIRECTORY_CUSTOMER_ID: a1b2c3d4作为出站代理管理员,在从 Google Cloud管理员处获取组织 ID 后,请按以下格式编写标头值的 JSON 表示法:
{ "resources": ["organizations/123456789"], "options": "strict" }作为出站代理管理员,请按照 RFC 4648 第 5 节规范对请求标头的值进行编码。
例如,如果标头值的 JSON 表示法存储在
authorized_orgs.json文件中,如需对该文件进行编码,请运行以下 basenc 命令:$ cat authorized_orgs.json | basenc --base64url -w0 ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiXSwKICJvcHRpb25zIjogInN0cmljdCIKfQo作为出站流量代理管理员,请配置出站流量代理,以便在源自组织 A 中受管设备的所有请求中插入以下请求标头:
X-Goog-Allowed-Resources: ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiXSwKICJvcHRpb25zIjogInN0cmljdCIKfQo
限制对贵组织的访问权限,并允许对 Cloud Storage 资源发出读取请求
在此示例中,组织 A 的 Google Cloud 管理员和出站代理管理员共同协作,限制员工只能访问其Google Cloud 组织中的资源,但对 Cloud Storage 资源的读取请求除外。管理员可能希望从组织权限限制强制执行中省略对 Cloud Storage 资源的读取请求,以确保其员工可以访问使用 Cloud Storage 托管静态内容的外部网站。管理员使用 cloudStorageReadAllowed 选项允许对 Cloud Storage 资源发出读取请求。
如需仅限您的组织访问并允许对 Cloud Storage 资源发出读取请求,请执行以下操作:
作为 Google Cloud 管理员,如需获取组织 A 的 Google Cloud 组织 ID,请使用
gcloud organizations list命令:gcloud organizations list以下是示例输出:
DISPLAY_NAME: Organization A ID: 123456789 DIRECTORY_CUSTOMER_ID: a1b2c3d4作为出站代理管理员,在从 Google Cloud管理员处获取组织 ID 后,请按以下格式编写标头值的 JSON 表示法:
{ "resources": ["organizations/123456789"], "options": "cloudStorageReadAllowed" }作为出站代理管理员,请按照 RFC 4648 第 5 节规范对请求标头的值进行编码。
例如,如果标头值的 JSON 表示法存储在
authorized_orgs.json文件中,如需对该文件进行编码,请运行以下 basenc 命令:$ cat authorized_orgs.json | basenc --base64url -w0 ewogICJyZXNvdXJjZXMiOiBbIm9yZ2FuaXphdGlvbnMvMTIzNDU2Nzg5Il0sCiAgIm9wdGlvbnMiOiAiY2xvdWRTdG9yYWdlUmVhZEFsbG93ZCIKfQo=l作为出站流量代理管理员,请配置出站流量代理,以便在源自组织 A 中受管设备的所有请求中插入以下请求标头:
X-Goog-Allowed-Resources: ewogICJyZXNvdXJjZXMiOiBbIm9yZ2FuaXphdGlvbnMvMTIzNDU2Nzg5Il0sCiAgIm9wdGlvbnMiOiAiY2xvdWRTdG9yYWdlUmVhZEFsbG93ZCIKfQo=l组织 A 的员工现在可以访问其 Google Cloud 组织,并对 Cloud Storage 资源拥有读取权限。
允许员工访问供应商 Google Cloud 组织
在此示例中,组织 B 的 Google Cloud 管理员和出站流量代理管理员共同协作,允许员工除了访问其现有的 Google Cloud 组织之外,还可以访问供应商 Google Cloud 组织。
如需将员工访问权限限制为仅限您的组织和供应商组织,请执行以下操作:
作为 Google Cloud 管理员,请与供应商联系,获取供应商组织的 Google Cloud组织 ID。
作为出站代理管理员,除了现有组织 ID 之外,如需添加供应商组织 ID,您必须更新标头值的 JSON 表示法。从 Google Cloud管理员处获取供应商组织 ID 后,请按以下格式更新标头值:
{ "resources": ["organizations/1234", "organizations/3456"], "options": "strict" }作为出站代理管理员,请按照 RFC 4648 第 5 节规范对请求标头的值进行编码。
例如,如果标头值的 JSON 表示法存储在
authorized_orgs.json文件中,如需对该文件进行编码,请运行以下 basenc 命令:$ cat authorized_orgs.json | basenc --base64url -w0 ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K作为出站流量代理管理员,请配置出站流量代理,以便在源自组织 B 中受管设备的所有请求中插入以下请求标头:
X-Goog-Allowed-Resources: ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K组织 B 的员工现在可以访问供应商和 Google Cloud 组织。
仅限制上传权限
在此示例中,组织 C 的 Google Cloud 管理员和出站流量代理管理员共同协作,限制员工只能将资源上传到Google Cloud 组织。
如需仅向您的组织授予上传权限,请执行以下操作:
作为 Google Cloud 管理员,如需获取组织 C 的 Google Cloud 组织 ID,请使用
gcloud organizations list命令:gcloud organizations list以下是示例输出:
DISPLAY_NAME: Organization C ID: 123456789 DIRECTORY_CUSTOMER_ID: a1b2c3d4作为出站代理管理员,在从 Google Cloud管理员处获取组织 ID 后,请按以下格式编写标头值的 JSON 表示法:
{ "resources": ["organizations/123456789"], "options": "strict" }作为出站代理管理员,请按照 RFC 4648 第 5 节规范对请求标头的值进行编码。
例如,如果标头值的 JSON 表示法存储在
authorized_orgs.json文件中,如需对该文件进行编码,请运行以下 basenc 命令:$ cat authorized_orgs.json | basenc --base64url -w0 ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiXSwKICJvcHRpb25zIjogInN0cmljdCIKfQo作为出站流量代理管理员,请配置出站流量代理,以便仅为源自组织 C 中受管设备的 PUT、POST 和 PATCH 方法请求插入以下请求标头:
X-Goog-Allowed-Resources: ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiXSwKICJvcHRpb25zIjogInN0cmljdCIKfQo
后续步骤
- 了解组织权限限制支持的服务。