管理 Private Service Connect 使用方的安全性
本页面介绍了服务使用方如何为使用 Private Service Connect 的使用方组织和 VPC 网络配置安全性。
组织政策可让管理员全面控制其项目使用 Private Service Connect 端点和后端可以连接到哪些 VPC 网络或组织。VPC 防火墙规则和防火墙政策可让网络管理员控制对 Private Service Connect 资源的网络级访问。组织政策和防火墙规则是互补的,可以结合使用。
角色
如需获得管理组织政策所需的权限,请让您的管理员为您授予组织的 Organization Policy Administrator (roles/orgpolicy.policyAdmin
) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需获得创建防火墙规则所需的权限,请让您的管理员为您授予 VPC 网络的 Compute Network Administrator (roles/compute.networkAdmin
) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
使用方组织政策
您可以将组织政策与列表限制条件结合使用来控制 Private Service Connect 端点或后端的部署。 如果端点或后端被使用方组织政策阻止,则资源的创建将失败。
如需了解详情,请参阅使用方端组织政策。
阻止端点和后端连接到未经授权的服务附件
资源:端点和后端
gcloud
创建一个名为
/tmp/policy.yaml
的临时文件来存储新政策。将以下内容添加到该文件中:name: organizations/CONSUMER_ORG/policies/compute.restrictPrivateServiceConnectProducer spec: rules: - values: allowedValues: - under:organizations/PRODUCER_ORG_NUMBER - under:organizations/433637338589
请替换以下内容:
CONSUMER_ORG
:您要在其中控制端点和后端连接的组织的组织资源 ID。PRODUCER_ORG_NUMBER
:您要允许端点和后端连接到的提供方组织的数字组织资源 ID。
如要阻止端点和后端连接到 Google 拥有的服务附件,请从
allowedValues
部分中移除以下项:- under:organizations/433637338589
。如需指定可连接到项目中的服务连接的其他组织,请在
allowedValues
部分中添加其他条目。除了组织之外,您还可以按以下形式指定已获授权的文件夹和项目:
under:folders/FOLDER_ID
FOLDER_ID
必须是数字 ID。under:projects/PROJECT_ID
PROJECT_ID
必须是字符串 ID。
例如,以下内容可用于创建一项组织政策,该政策会阻止
Consumer-org-1
中的端点和后端连接到服务连接,除非服务连接与允许的值或允许的值后代相关联。允许的值包括组织Producer-org-1
、项目Producer-project-1
和文件夹Producer-folder-1
。name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer spec: rules: - values: allowedValues: - under:organizations/Producer-org-1 - under:projects/Producer-project-1 - under:folders/Producer-folder-1
应用该政策。
gcloud org-policies set-policy /tmp/policy.yaml
查看有效的政策。
gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \ --effective \ --organization=CONSUMER_ORG
禁止使用方按连接类型部署端点
资源:端点
gcloud
创建一个名为
/tmp/policy.yaml
的临时文件来存储新政策。如需禁止使用方组织中的用户创建连接到 Google API 的端点,请将以下内容添加到该文件中:
name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers spec: rules: - values: allowedValues: - SERVICE_PRODUCERS
如需禁止使用方组织中的用户创建连接到已发布服务的端点,请将以下内容添加到该文件中:
name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers spec: rules: - values: allowedValues: - GOOGLE_APIS
将
CONSUMER_ORG
替换为您要控制其端点部署的使用方组织的名称。应用该政策。
gcloud org-policies set-policy /tmp/policy.yaml
查看有效的政策。
gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \ --effective \ --organization=CONSUMER_ORG
防火墙规则
资源:所有
您可以使用 VPC 防火墙规则或防火墙政策来控制对 Private Service Connect 资源的访问。出站防火墙规则可以阻止或允许从虚拟机实例访问端点和后端的 IP 地址或子网。
例如,图 1 描述了一项配置,其中防火墙规则控制对 Private Service Connect 端点连接到的子网的访问。
以下防火墙规则拒绝流向端点子网的所有出站流量:
gcloud compute firewall-rules create deny-all \ --network=vpc-1 \ --direction=egress \ --action=deny \ --destination-ranges=10.33.0.0/24 --priority=1000
以下优先级更高的防火墙规则允许具有
allow-psc
网络标记的虚拟机向端点子网发出出站流量:gcloud compute firewall-rules create allow-psc \ --network=vpc-1 \ --direction=egress \ --action=allow \ --target-tags=allow-psc \ --destination-ranges=10.33.0.0/24 --priority=100
使用防火墙规则限制对端点或后端的访问
如需限制从虚拟机访问端点或后端的子网,请执行以下操作。
创建防火墙规则,以拒绝出站流量到达端点或后端子网。
gcloud compute firewall-rules create deny-all \ --network=NETWORK \ --direction=egress \ --action=deny \ --destination-ranges=ENDPOINT_SUBNET_RANGE \ --priority=1000
请替换以下内容:
NETWORK
:端点或后端的网络名称。ENDPOINT_SUBNET_RANGE
:您要控制对其访问权限的端点或后端子网的 IP CIDR 范围。
创建第二条防火墙规则,以允许从标记的虚拟机到端点或后端子网的出站流量。
gcloud compute firewall-rules create allow-psc \ --network=NETWORK \ --direction=egress \ --action=allow \ --target-tags=allow-psc \ --destination-ranges=ENDPOINT_SUBNET_RANGE \ --priority=100