Private Service Connect 安全性
本页面简要介绍了 Private Service Connect 安全性。
Private Service Connect 提供了多项控制,用于管理对 Private Service Connect 资源的访问。您可以控制谁能够部署 Private Service Connect 资源,是否可以在使用方和提供方之间建立连接,以及允许哪些网络流量访问这些连接。
这些控制使用以下元素实现:
- Identity and Access Management (IAM) 权限用于确定允许哪些 IAM 主账号部署 Private Service Connect 资源,例如端点、后端和服务。IAM 主账号是指可以访问资源的 Google 账号、服务账号、Google 群组、Google Workspace 账号或 Cloud Identity 网域。
- Private Service Connect 接受和拒绝列表和组织政策用于确定是否可以在个别使用方和提供方之间建立 Private Service Connect 连接。
- VPC 防火墙规则用于确定是否允许某些 TCP 或 UDP 流量访问 Private Service Connect 连接。
图 1 描述了这些控制如何在 Private Service Connect 连接的使用方端和提供方端相互作用。
IAM
资源:全部
每个 Private Service Connect 资源都受一个或多个 IAM 权限的约束。这些权限允许管理员强制控制哪些 IAM 主账号可以部署 Private Service Connect 资源。
IAM 不约束哪些 IAM 主账号可以连接到或使用 Private Service Connect 连接。如需控制哪些端点或后端可以与服务建立连接,请使用组织政策或使用方接受列表。如需控制哪些客户端可以向 Private Service Connect 资源发送流量,请使用 VPC 防火墙或防火墙政策。
如需详细了解 IAM 权限,请参阅 IAM 权限。
如需了解创建端点所需的权限,请参阅创建端点。
如需了解创建服务连接所需的权限,请参阅发布经过明确批准的服务。
连接状态
资源:端点、后端和服务连接
Private Service Connect 端点、后端和服务连接具有连接状态,用于描述其连接的状态。 构成连接两端的使用方和提供方资源始终具有相同的状态。 当您查看端点详细信息、描述后端或查看已发布服务的详细信息时,您可以查看连接状态。
下表介绍了可能的状态。
连接状态 | 说明 |
---|---|
已接受 | 已建立 Private Service Connect 连接。两个 VPC 网络具有连接,并且连接正常运行。 |
待处理 | 未建立 Private Service Connect 连接,并且网络流量无法在两个网络之间传输。连接可能处于以下状态,原因如下: 由于这些原因而被阻止的连接将无限期地保持在挂起状态,直到根本问题得到解决。 |
已拒绝 | 未建立 Private Service Connect 连接。网络流量无法在两个网络之间传输。连接可能处于以下状态,原因如下: |
需要注意或未指定 | 连接的提供方端出现问题。某些流量可能能够在两个网络之间流动,但某些连接可能无法正常运行。例如,提供方的 NAT 子网可能已用尽,无法为新连接分配 IP 地址。 |
不开放 | 服务连接已删除,Private Service Connect 连接已关闭。网络流量无法在两个网络之间传输。 连接关闭是一种终止状态。如需恢复连接,您必须重新创建服务连接和端点或后端。 |
服务连接配置
您可以使用以下功能来控制哪些使用方可以连接到服务连接。
连接偏好设置
资源:端点和后端
每个服务连接都有一个连接首选项,用于指定是否自动接受连接请求。共有三种处理方式:
- 自动接受所有连接。服务连接会自动接受来自任何使用方的所有入站连接请求。自动接受可能会被阻止传入连接的组织政策覆盖。
- 接受选定网络的连接。仅当使用方 VPC 网络在服务连接的使用方接受列表中时,服务连接才会接受入站连接请求。
- 接受选定项目的连接。仅当使用方项目在服务连接的使用方接受列表中时,服务连接才会接受入站连接请求。
我们建议您接受选定项目或网络的连接。如果您通过其他方式控制使用方访问权限并希望启用对服务的宽松访问权限,则自动接受所有连接可能比较合适。
接受和拒绝列表
资源:端点和后端
使用方接受列表和使用方拒绝列表是服务连接的安全功能。接受和拒绝列表可让服务提供方指定哪些使用方可以建立与其服务的 Private Service Connect 连接。使用方接受列表指定是否接受连接,使用方拒绝列表指定是否拒绝连接。这两个列表都可让您按连接资源的 VPC 网络或项目指定使用方。如果您将某个项目或网络同时添加到接受列表和拒绝列表,则来自该项目或网络的连接请求会被拒绝。 不支持按文件夹指定使用方。
使用方接受列表和使用方拒绝列表可让您指定项目或 VPC 网络,但不能同时指定这两者。您可以在不中断连接的情况下将列表从一种类型更改为另一种类型,但必须在单次更新中进行此项更改。否则,某些连接可能会暂时更改为待处理状态。
使用方名单用于控制端点是否可以连接到已发布的服务,但不控制哪些人可以向该端点发送请求。例如,假设使用方有一个共享 VPC 网络,其中连接了两个服务项目。如果已发布的服务在使用方接受列表中包含 service-project1
,而在使用方拒绝列表中包含 service-project2
,则适用以下规则:
-
service-project1
中的使用方可以创建连接到已发布服务的端点。 -
service-project2
中的使用方无法创建连接到已发布服务的端点。 -
如果没有防火墙规则或政策阻止该流量,
service-project2
中的客户端可以向service-project1
中的端点发送请求。
更新使用方接受或拒绝列表时,对现有连接的影响因是否启用了连接协调而异。如需了解详情,请参阅连接一致性检查。
如需了解如何创建具有使用方接受或拒绝列表的新服务连接,请参阅发布经过明确项目批准的服务。
如需了解如何更新使用方接受或拒绝列表,请参阅管理对已发布服务的访问请求。
连接限制
资源:端点和后端
使用方接受列表具有连接数限制。这些限制会设置服务连接可以从指定的使用方项目或 VPC 网络接受的 Private Service Connect 端点和后端连接的总数。
提供方可以使用连接限制来防止个别使用方耗尽提供方 VPC 网络中的 IP 地址或资源配额。每个接受的 Private Service Connect 连接都会从为使用方项目或 VPC 网络配置的限制中减去。您在创建或更新使用方接受列表时设置这些限制。您可以在描述服务连接时查看其连接。
传播的连接不计入这些限制。
例如,假设一种场景,服务连接具有使用方接受列表,其中包含 project-1
和 project-2
,两者的连接限制均为一个。项目 project-1
请求两个连接,project-2
请求一个连接,project-3
请求一个连接。由于 project-1
的连接限制为一个,因此第一个连接会被接受,第二个连接会保持待处理状态。来自 project-2
的连接会被接受,来自 project-3
的连接会保持待处理状态。可通过提高 project-1
的限制接受来自 project-1
的第二个连接。如果将 project-3
添加到使用方接受列表,则该连接会从待处理状态转换为已接受状态。
组织政策
组织政策让您可以全面控制哪些项目使用 Private Service Connect 可以连接到 VPC 网络或组织。
本页面介绍的组织政策可以阻止或拒绝新的 Private Service Connect 连接,但不会影响现有连接。
组织政策适用于它根据层次结构评估而引用的资源的后代。例如,限制对 Google Cloud 组织的访问的组织政策也适用于该组织的子文件夹、项目和资源。同样,将组织列为允许的值也会允许访问该组织的子级。
如需详细了解组织政策,请参阅组织政策。
使用方端组织政策
您可以使用列表限制条件来控制端点和后端的部署。如果端点或后端被使用方组织政策阻止,则资源的创建将失败。
- 使用
restrictPrivateServiceConnectProducer
列表限制条件来控制根据提供方组织可以连接到哪些服务连接端点和后端。 - 使用
disablePrivateServiceConnectCreationForConsumers
列表限制条件可以根据端点的连接类型来控制端点的部署。您可以阻止部署连接到 Google API 的端点,也可以阻止部署连接到已发布服务的端点。
阻止端点或后端连接到提供方组织
资源:端点和后端
将 restrictPrivateServiceConnectProducer
列表限制条件与允许的值结合使用的组织政策会阻止端点和后端连接到服务连接,除非服务连接与政策某个允许的值相关联。即使服务连接的使用方接受列表允许连接,此类型的政策也会阻止连接。
例如,以下组织政策适用于名为 Org-A
的组织:
name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectProducer
spec:
rules:
– values:
allowedValues:
- under:organizations/ORG_A_NUMBER
- under:organizations/433637338589
图 2 展示了此组织政策的结果。该政策的 Org-A
的允许值为 (ORG_A_NUMBER
),Google-org
的允许值为 (433637338589
)。在 Org-A
中创建的端点和后端可以与 Org-A
中的服务连接通信,但不能与 Org-B
中的服务连接通信。
您可以使用 compute.restrictPrivateServiceConnectProducer
限制条件来允许以下类型的资源实例创建端点:
- 组织
- 文件夹
- 项目
如需了解如何创建使用 compute.restrictPrivateServiceConnectProducer
限制条件的组织政策,请参阅阻止端点和后端连接到未经授权的服务连接。
按连接类型阻止创建端点
受影响的资源:端点
您可以使用 disablePrivateServiceConnectCreationForConsumers
列表限制条件来根据端点是否连接到 Google API 或已发布的服务(服务连接)来阻止创建端点。
如需了解如何创建使用 disablePrivateServiceConnectCreationForConsumers
限制条件的组织政策,请参阅阻止使用方按连接类型部署端点。
提供方端组织政策
受影响的资源:端点和后端
您可以将组织政策与 compute.restrictPrivateServiceConnectConsumer
列表限制条件结合使用来控制哪些端点和后端可以连接到提供方组织或项目中的 Private Service Connect 服务连接。 如果端点或后端被提供方组织政策拒绝,则资源的创建会成功,但连接会进入被拒绝状态。
以这种方式控制访问与使用接受和拒绝列表类似,区别在于组织政策适用于项目或组织中的所有服务连接,而不是个别服务连接。
您可以将组织政策和接受列表结合使用,组织政策全面强制控制对托管式服务的访问,接受列表控制对个别服务连接的访问。
使用 compute.restrictPrivateServiceConnectConsumer
限制条件的组织政策会拒绝来自端点和后端的连接,除非端点或后端与政策允许的值之一相关联。即使许可名单允许连接,此类型的政策也会拒绝连接。
例如,以下组织政策适用于名为 Org-A 的组织:
name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectConsumer
spec:
rules:
- values:
allowedValues:
- under:organizations/ORG_A_NUMBER
图 3 展示了此组织政策的结果。该政策的 Org-A
的允许值为 (ORG_A_NUMBER
)。Org-A
中其他 VPC 网络的端点可以连接到 Org-A
中的服务连接。Org-B
中尝试连接的端点会被拒绝。
组织政策适用于它根据层次结构评估而引用的资源的后代。例如,限制对 Google Cloud 组织的访问的组织政策也适用于该组织的子文件夹、项目和资源。同样,将组织列为允许的值也会允许访问该组织的子级。
您可以使用 restrictPrivateServiceConnectConsumer
限制条件来允许以下类型的资源实例创建端点:
- 组织
- 文件夹
- 项目
如需详细了解如何将组织政策与服务提供方结合使用,请参阅提供方组织政策。
接受列表与组织政策之间的相互作用
使用方接受列表和组织政策都会控制是否可以在两个 Private Service Connect 资源之间建立连接。如果接受列表或组织政策拒绝连接,则系统会阻止连接。
例如,可以将使用 restrictPrivateServiceConnectConsumer
限制条件的政策配置为阻止来自提供方组织外部的连接。即使服务连接配置为自动接受所有连接,组织政策仍会阻止来自提供方组织外部的连接。我们建议您结合使用接受列表和组织政策,以帮助提供分层安全机制。
防火墙
资源:全部
您可以使用 VPC 防火墙规则和防火墙政策来控制对 Private Service Connect 资源的网络级访问。
如需详细了解 VPC 防火墙规则,请参阅 VPC 防火墙规则。
如需详细了解如何使用 VPC 防火墙规则限制对使用方 VPC 网络中的端点或后端的访问,请参阅使用防火墙规则限制对端点或后端的访问。