使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

管理已发布的服务

本页面介绍如何管理已发布服务的访问权限的请求,以及如何更改已发布服务的连接偏好设置。

发布服务时,您可以通过配置服务的连接偏好设置来控制哪些使用方可以连接到该服务。连接偏好设置可以是以下其中一项:

  • 自动接受所有项目的连接 (ACCEPT_AUTOMATIC):任何使用方都可以连接到服务。

  • 接受选定项目的连接 (ACCEPT_MANUAL):您可以控制哪些使用方能够连接到服务。

如需详细了解如何发布服务,请参阅使用 Private Service Connect 发布代管式服务

角色

以下 IAM 角色提供了执行本指南中的任务所需的权限。

管理对已发布服务的访问请求

如果您已发布了使用显式项目批准的服务,则可以接受或拒绝来自使用方项目的连接请求。

如果您将一个项目同时添加到了接受列表和拒绝列表,则来自该项目的连接请求会被拒绝。

为一项服务接受了使用方端点连接后,该端点可以连接到服务,直至此服务连接被删除。无论项目是被显式接受,还是由于连接偏好设为自动接受连接而连接了使用方端点,这一点都适用。

  • 如果您从接受列表中移除了某个项目,该项目中先前已被接受的任何使用方端点仍然可以连接到该服务。该项目中新使用方端点的连接必须被接受,然后该端点才能连接。

  • 如果您将某个项目添加到拒绝列表,该项目中先前已被接受的所有使用方端点仍然可以连接到该服务。该项目中新使用方端点的连接在连接到该服务时会被拒绝。

控制台

  1. 在 Google Cloud Console 中,转到 Private Service Connect 页面。

    转到 Private Service Connect

  2. 点击已发布服务标签页。

  3. 点击要管理的服务。

  4. 已连接的项目部分列出了已尝试连接到此服务的项目。选中一个或多个项目旁边的复选框,然后点击接受拒绝

gcloud

  1. 描述您要修改的服务连接。

    gcloud compute service-attachments describe \
        ATTACHMENT_NAME --region=REGION
    

    输出类似于以下示例。如果存在任何待处理的使用方连接,则这些连接会以 PENDING 状态列出。

    在此示例输出中,项目 CONSUMER_PROJECT_1 位于接受列表中,因此接受 ENDPOINT_1 并且可以连接到相应服务。项目 CONSUMER_PROJECT_2 不在接受列表中,因此 ENDPOINT_2 处于待处理状态。将 CONSUMER_PROJECT_2 添加到接受列表后,ENDPOINT_2 的状态会更改为 ACCEPTED,并且端点可以连接到相应服务。

    connectedEndpoints:
    - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/ENDPOINT_1
      pscConnectionId: 'ENDPOINT_1_ID'
      status: ACCEPTED
    - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/ENDPOINT_2
      pscConnectionId: 'ENDPOINT_2_ID'
      status: PENDING
    connectionPreference: ACCEPT_MANUAL
    consumerAcceptLists:
    - connectionLimit: LIMIT_1
      projectIdOrNum: CONSUMER_PROJECT_1
    creationTimestamp: 'TIMESTAMP'
    description: 'DESCRIPTION'
    enableProxyProtocol: false
    fingerprint: FINGERPRINT
    id: 'ID'
    kind: compute#serviceAttachment
    name: NAME
    natSubnets:
    - https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/subnetworks/PSC_SUBNET
    pscServiceAttachmentId:
      high: 'PSC_ATTACH_ID_HIGH'
      low: 'PSC_ATTACH_ID_LOW'
    region: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION
    selfLink: https://www.googleapis.com/compute/v1/projects/projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    targetService: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/PRODUCER_FWD_RULE
    
  2. 接受或拒绝使用方项目。

    您可以指定 --consumer-accept-list 和/或 --consumer-reject-list。您可以在 --consumer-accept-list--consumer-reject-list 中指定多个值。

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2 \
        --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2
    

    请替换以下内容:

    • ATTACHMENT_NAME:要分配给服务连接的名称。

    • REGION:服务连接所在区域。

    • ACCEPTED_PROJECT_1ACCEPTED_PROJECT_2:要接受的项目。consumerAcceptList 是可选项,可以包含一个或多个项目。

    • LIMIT_1LIMIT_2:相应项目的连接限制。连接限制代表可以连接到此服务的使用方的 Private Service Connect 端点的数量。所接受的项目都必须配置有一个连接限制。

    • REJECTED_PROJECT_1REJECTED_PROJECT_2:要拒绝的项目。--consumer-reject-list 是可选项,可以包含一个或多个项目。

API

  1. 描述您要修改的服务连接。

    如果存在任何待处理的使用方连接,则这些连接会以 PENDING 状态列出。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    
  2. 接受或拒绝使用方项目。

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    
    {
      ...
      "consumerAcceptLists": [
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_1"
          "connectionLimit": "LIMIT_1",
        },
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_2"
          "connectionLimit": "LIMIT_2",
        }
      ],
      "consumerRejectLists": [
        "REJECTED_PROJECT_1",
        "REJECTED_PROJECT_2",
      ],
      ...
    }
    

    请替换以下内容:

    • PROJECT_ID:服务连接的项目。

    • REGION:该服务连接的区域。

    • ATTACHMENT_NAME:要分配给服务连接的名称。

    • REJECTED_PROJECT_1REJECTED_PROJECT_2:要拒绝的项目。consumerRejectList 是可选项,可以包含一个或多个项目。

    • ACCEPTED_PROJECT_1ACCEPTED_PROJECT_2:要接受的项目。consumerAcceptList 是可选项,可以包含一个或多个项目。

    • LIMIT_1LIMIT_2:相应项目的连接限制。连接限制代表可以连接到此服务的使用方的 Private Service Connect 端点的数量。所接受的项目都必须配置有一个连接限制。

更改已发布服务的连接偏好设置

对于已发布服务,您可以在自动接受项目与显式接受项目之间切换。

从自动接受更改为显式接受并不会影响在此更改之前连接到服务的使用方端点。 现有的使用方端点仍可连接到已发布的服务,直到服务连接被删除为止。新的使用方端点只有在被接受后,才能连接到该服务。如需了解详情,请参阅管理对已发布服务的访问请求

控制台

  1. 在 Google Cloud Console 中,转到 Private Service Connect 页面。

    转到 Private Service Connect

  2. 点击已发布服务标签页。

  3. 点击要更新的服务,然后点击修改

  4. 选择所需的连接偏好设置:

    • 接受选定项目的连接
    • 自动接受所有项目的连接
  5. 如果您要切换为接受选定项目的连接,则可以提供要允许的项目的详细信息,也可以稍后再添加。

    1. 点击添加接受的项目
    2. 输入项目连接限制
  6. 点击保存

gcloud

  • 将服务连接的连接偏好设置从 ACCEPT_AUTOMATIC 改为 ACCEPT_MANUAL

    您可以使用 --consumer-accept-list--consumer-reject-list 控制哪些项目可以连接到您的服务。您可以在更改连接偏好设置时配置接受列表和拒绝列表,也可以稍后更新这些列表。

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_MANUAL \
        [ --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2] \
        [ --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2 ]
    

    请替换以下内容:

    • ATTACHMENT_NAME:服务连接的名称。

    • REGION:服务连接所在区域。

    • ACCEPTED_PROJECT_1ACCEPTED_PROJECT_2:要接受的项目。--consumer-accept-list 是可选项,可以包含一个或多个项目。

    • LIMIT_1LIMIT_2:相应项目的连接限制。连接限制代表可以连接到此服务的使用方的 Private Service Connect 端点的数量。所接受的项目都必须配置有一个连接限制。

    • REJECTED_PROJECT_1REJECTED_PROJECT_2:要拒绝的项目。--consumer-reject-list 是可选项,可以包含一个或多个项目。

  • 将服务连接的连接偏好设置从 ACCEPT_MANUAL 改为 ACCEPT_AUTOMATIC

    如果您的接受列表或拒绝列表中包含值,请在更改连接偏好设置 ("") 时将这些值设置为空。

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_AUTOMATIC \
        --consumer-accept-list="" \
        --consumer-reject-list=""
    

    请替换以下内容:

    • ATTACHMENT_NAME:服务连接的名称。

    • REGION:服务连接所在区域。

API

  • 将服务连接的连接偏好设置从 ACCEPT_AUTOMATIC 改为 ACCEPT_MANUAL

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    
    {
      ...
      "connectionPreference": "ACCEPT_MANUAL",
      "consumerAcceptLists": [
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_1"
          "connectionLimit": "LIMIT_1",
        },
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_2"
          "connectionLimit": "LIMIT_2",
        }
      ],
      "consumerRejectLists": [
        "REJECTED_PROJECT_1",
        "REJECTED_PROJECT_2",
      ],
      ...
    }
    

    请替换以下内容:

    • PROJECT_ID:服务连接的项目。

    • REGION:该服务连接的区域。

    • ATTACHMENT_NAME:要分配给服务连接的名称。

    • REJECTED_PROJECT_1REJECTED_PROJECT_2:要拒绝的项目。consumerRejectList 是可选项,可以包含一个或多个项目。

    • ACCEPTED_PROJECT_1ACCEPTED_PROJECT_2:要接受的项目。consumerAcceptList 是可选项,可以包含一个或多个项目。

    • LIMIT_1LIMIT_2:相应项目的连接限制。连接限制代表可以连接到此服务的使用方的 Private Service Connect 端点的数量。所接受的项目都必须配置有一个连接限制。

  • 将服务连接的连接偏好设置从 ACCEPT_MANUAL 改为 ACCEPT_AUTOMATIC

    如果 consumerAcceptListsconsumerRejectLists 字段指定了任何项目,请在将连接偏好设置更改为 ACCEPT_AUTOMATIC 时将其设置为空。

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    
    {
      ...
      "connectionPreference": "ACCEPT_AUTOMATIC",
      "consumerAcceptLists": [ ],
      "consumerRejectLists": [ ],
      ...
    }
    

    请替换以下内容:

    • PROJECT_ID:服务连接的项目。

    • REGION:该服务连接的区域。

    • ATTACHMENT_NAME:服务连接的名称。

为已发布的服务添加子网或从中移除子网

您可以修改已发布的服务,以在其配置中添加或移除 Private Service Connect 子网。

例如,您可能需要为现有服务提供更多 IP 地址。如需添加更多地址,请执行以下操作之一:

如果您从已发布的服务中移除 Private Service Connect 子网,该子网中的 IP 地址不会被释放。仅在使用方 Private Service Connect 端点被删除或访问 Private Service Connect 端点的客户端虚拟机被删除时,IP 地址才会释放。

如果您更改了子网配置,请更新防火墙规则以允许来自新子网的请求到达后端虚拟机。

控制台

  1. 在 Google Cloud Console 中,转到 Private Service Connect 页面。

    转到 Private Service Connect

  2. 点击已发布服务标签页。

  3. 点击要更新的服务,然后点击修改

  4. 修改用于此服务的子网。

    如果要添加新子网,您可以按照如下方式创建一个:

    1. 点击预留新子网
    2. 输入子网的名称和(可选)说明
    3. 为子网选择区域
    4. 输入用于子网的 IP 范围,然后点击添加
  5. 点击保存

gcloud

更新用于此服务连接的 Private Service Connect 子网。

gcloud compute service-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --nat-subnets=PSC_SUBNET_LIST

替换以下内容:

  • ATTACHMENT_NAME:服务连接的名称。

  • REGION:服务连接所在区域。

  • PSC_SUBNET_LIST:要与此服务连接搭配使用的一个或多个子网(使用英文逗号分隔)。

API

更新用于此服务连接的 Private Service Connect 子网。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

{
  ...
  "natSubnets": [
    "PSC_SUBNET1_URI",
    "PSC_SUBNET2_URI",
  ],
  ...
}

替换以下内容:

  • PROJECT_ID:服务连接的项目。

  • REGION:该服务连接的区域。

  • ATTACHMENT_NAME:要分配给服务连接的名称。

  • PSC_SUBNET1_URIPSC_SUBNET2_URI:您要用于此服务连接的子网的 URI。您可以指定一个或多个子网。