控制对已发布服务的访问权限简介

本页面介绍了可用于控制对通过 Private Service Connect 发布的服务进行访问的功能。

连接偏好设置

每个服务连接都有一个连接偏好设置,用于控制是否自动接受连接。

  • 自动接受所有连接。服务连接会自动接受来自任何使用方的所有入站连接请求。
  • 明确接受来自所选使用方的连接。仅当使用方在服务连接的使用方接受列表中时,服务连接才会接受入站连接请求。您可以按项目、VPC 网络或单独的 Private Service Connect 端点(预览版)指定使用方。您不能在同一使用方接受或拒绝列表中包含不同类型的使用方。

对于任一连接偏好设置,已被接受的连接都可能会被阻止传入连接的组织政策覆盖并被拒绝。

我们建议您明确接受来自所选使用方的连接。如果您通过其他方式控制使用方访问权限并希望启用对服务的宽松访问权限,则自动接受所有连接可能比较合适。

使用方接受和拒绝列表

使用方接受列表和使用方拒绝列表是服务连接的安全功能。这些列表可让服务提供方指定哪些使用方可以建立与其服务的 Private Service Connect 连接。如果服务连接配置为需要明确批准,则只有当使用方在接受列表中且不在拒绝列表中时,系统才会接受新连接。对使用方列表的更新仅会影响新连接,除非启用了连接协调

使用方接受和拒绝列表允许您通过以下方式之一指定使用方:

  • 项目
  • VPC 网络
  • Private Service Connect 端点(预览版

    此方法不适用于 Private Service Connect 后端。

如果您将同一使用方同时添加到接受列表和拒绝列表,则该使用方将被阻止连接到服务连接。不支持按文件夹指定使用方。

服务连接的两个使用方列表必须包含相同类型的使用方。例如,如果您将项目添加到接受列表,则无法将 VPC 网络或端点 URI 添加到任一列表,除非您将接受列表中的项目替换为新类型的使用方。

如果您想要发布一个接受不同类型使用方的服务,可以创建连接到同一服务的多个服务连接。每个服务连接都可以配置自己的连接偏好设置和使用方列表。

您可以在不中断连接的情况下更改使用方列表中的使用方类型,但必须在单次更新中进行更改。否则,操作将失败。

您可以添加到接受列表和拒绝列表中的使用方数量有限制:

  • 您最多可以向使用方接受列表添加 5,000 个值。
  • 您最多可以向使用方拒绝列表添加 64 个值。

使用方列表控制端点或后端是否可以连接到已发布的服务,但不控制谁可以向该端点发送请求。例如,假设使用方有一个共享 VPC 网络,该网络有两个服务项目关联到它。如果已发布的服务在使用方接受列表中包含 service-project1,并且在使用方拒绝列表中包含 service-project2,则以下情况适用:

  • service-project1 中的使用方可以创建连接到已发布服务的端点。
  • service-project2 中的使用方无法创建连接到已发布服务的端点。
  • 如果没有防火墙规则或政策阻止该流量,则 service-project2 中的客户端可以向 service-project1 中的端点发送请求。

如需了解使用方接受列表如何与组织政策交互作用,请参阅使用方接受列表与组织政策之间的交互作用

使用方接受列表限制

使用方接受列表具有连接数限制。这些限制会设置服务连接可以从指定的使用方项目或 VPC 网络接受的 Private Service Connect 端点连接的总数。

提供方可以使用连接限制来防止个别使用方耗尽提供方 VPC 网络中的 IP 地址或资源配额。每个接受的 Private Service Connect 连接都会从为使用方项目或 VPC 网络配置的限制中减去。您可以在创建更新使用方接受列表时设置这些限制。您可以在描述服务连接时查看其连接。

例如,假设一种场景,服务连接具有使用方接受列表,其中包含 project-1project-2,两者的连接限制均为一个。项目 project-1 请求了两个连接,project-2 请求了一个连接,project-3 请求了一个连接。由于 project-1 的连接限制为一个,因此第一个连接会被接受,第二个连接会保持待处理状态。来自 project-2 的连接会被接受,来自 project-3 的连接会保持待处理状态。可通过提高 project-1 的限制接受来自 project-1 的第二个连接。如果将 project-3 添加到使用方接受列表,则该连接会从待处理状态转换为已接受状态。

连接协调

连接协调可确定对服务连接的接受或拒绝列表的更新是否会影响现有的 Private Service Connect 连接。如果启用了连接协调,更新接受或拒绝列表可能会终止现有连接。之前被拒绝的连接可能会变为已接受。如果停用了连接协调,则更新接受或拒绝列表仅会影响新的和待处理的连接。

例如,假设一个具有来自 Project-A 的多个已接受连接的服务连接。Project-A 在服务连接的接受列表中。服务连接通过从接受列表中移除 Project-A 进行更新。

如果启用了连接协调,则来自 Project-A 的所有现有连接都会变为 PENDING 状态,这会终止两个 VPC 网络之间的网络连接,并立即停止网络流量。

如果停用了连接协调,则来自 Project-A 的现有连接不会受影响。网络流量仍然可以跨现有 Private Service Connect 连接流动。不过,系统会禁止建立任何新的 Private Service Connect 连接。

如需了解如何为新的服务连接配置连接协调,请参阅通过明确批准发布服务

如需了解如何为现有服务连接配置连接协调,请参阅配置连接协调

接受或拒绝 Private Service Connect 端点连接

您可以将 Private Service Connect 端点的基于 ID 的 URI 添加到服务连接的使用方列表中,以接受或拒绝单个 Private Service Connect 端点连接。此方法(建议用于多租户服务)可提供最精细的连接管理控制。通过 Private Service Connect 端点接受使用方仅适用于 Private Service Connect 端点,不支持 Private Service Connect 后端。

与项目或 VPC 网络不同,您只能在使用方创建 Private Service Connect 端点后接受或拒绝单个端点。这是因为在服务使用方创建端点之前,无法知道端点的唯一 URI。向使用方接受列表添加端点涉及以下步骤:

  1. 提供方发布了一项需要明确批准的服务,但未向使用方接受列表添加任何值。
  2. 使用方创建连接到已发布服务的端点。该连接会显示在服务连接中,状态为 Pending
  3. 如需查找待处理端点的基于 ID 的 URI,提供方可以描述服务连接,使用方可以描述端点。
  4. 提供方将端点的基于 ID 的 URI 添加到使用方接受列表中。连接已建立,其状态会变为 Accepted