管理 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

  1. 创建一个名为 /tmp/policy.yaml 的临时文件来存储新政策。将以下内容添加到该文件中:

    name: organizations/CONSUMER_ORG/policies/compute.restrictPrivateServiceConnectProducer
    spec:
      rules:
        - values:
            allowedValues:
            - under:organizations/PRODUCER_ORG_NUMBER
            - under:organizations/43363733858
    

    请替换以下内容:

    • 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
    
  2. 应用该政策。

    gcloud org-policies set-policy /tmp/policy.yaml
    
  3. 查看有效的政策。

    gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \
        --effective \
        --organization=CONSUMER_ORG
    

禁止使用方按连接类型部署端点

资源:端点

gcloud

  1. 创建一个名为 /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 替换为您要控制其端点部署的使用方组织的名称。

  2. 应用该政策。

    gcloud org-policies set-policy /tmp/policy.yaml
    
  3. 查看有效的政策。

    gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \
        --effective \
        --organization=CONSUMER_ORG
    

防火墙规则

资源:全部

您可以使用 VPC 防火墙规则防火墙政策来控制对 Private Service Connect 资源的访问。出站防火墙规则可以阻止或允许从虚拟机实例访问端点和后端的 IP 地址或子网。

例如,图 1 描述了一项配置,其中防火墙规则控制对 Private Service Connect 端点连接到的子网的访问。

图 1. 防火墙规则控制流向端点子网的流量。来自 vm-1 的流量可以到达端点子网,而来自 vm-2 的流量会被阻止。

  1. 以下防火墙规则拒绝流向端点子网的所有出站流量:

    gcloud compute firewall-rules create deny-all \
        --network=vpc-1 \
        --direction=egress \
        --action=deny \
        --destination-ranges=10.33.0.0/24
        --priority=1000
    
  2. 以下优先级较高的防火墙规则允许流向具有 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
    

使用防火墙规则限制对端点或后端的访问

如需限制从虚拟机访问端点或后端的子网,请执行以下操作。

  1. 创建一条防火墙规则,以拒绝流向端点或后端子网的出站流量。

    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 范围。
  2. 创建第二条防火墙规则,以允许从标记的虚拟机到端点或后端子网的出站流量。

    gcloud compute firewall-rules create allow-psc \
        --network=NETWORK \
        --direction=egress \
        --action=allow \
        --target-tags=allow-psc \
        --destination-ranges=ENDPOINT_SUBNET_RANGE \
        --priority=100