在服務周邊中設定 Private Service Connect 端點

本頁面說明如何在服務範圍中設定 Private Service Connect 端點。

Private Service Connect 是一項網路功能,可讓您透過端點,從虛擬私有雲網路私下存取受管理服務。Google Cloud VPC Service Controls 可讓您在輸入和輸出規則中指定 Private Service Connect 端點,讓獨立公司使用內部 IP 位址進行通訊。

事前準備

在輸入規則中設定端點

控制台

在 Google Cloud 控制台中建立更新 perimeter 時,您可以設定輸入規則,加入轉送規則。

  1. 在 Google Cloud 控制台導覽選單中,依序按一下「Security」(安全性) >「VPC Service Controls」

    前往 VPC Service Controls

  2. 如要建立新的周邊範圍,請按一下「New perimeter」(新增周邊範圍)

    如要修改現有範圍,請選取該範圍並按一下「編輯」

  3. 選取「輸入政策」

  4. 在「Ingress rules」(輸入規則) 窗格中,按一下「Add an ingress rule」(新增輸入規則)

  5. 在「From」(從) 部分,從「Sources」(來源) 清單中選取「Select sources」(選取來源)

  6. 按一下「Private Service Connect 端點」

  7. 按一下「新增端點」

  8. 在「新增 Private Service Connect 端點」窗格中,選取下列其中一個選項:

    • 搜尋 PSC 端點:這個選項可讓您從清單中搜尋及選取所需的 Private Service Connect 端點。

    • 手動輸入 PSC 端點 ID:這個選項可讓你手動輸入 Private Service Connect 端點。如要指定 Private Service Connect 端點,請使用下列格式://compute.googleapis.com/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_ID,其中 FORWARDING_RULE_ID 是端點轉送規則的 ID。

  9. 按一下「新增端點」

  10. 按一下「完成」

  11. 按一下「建立」或「儲存」

如要瞭解其他輸入規則屬性,請參閱「輸入規則參考資料」一節。

gcloud

您可以使用 JSON 檔案或 YAML 檔案,設定包含轉送規則的輸入規則。以下範例使用 YAML 格式:

- ingressFrom:
    identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
    *OR*
    identities:
    - PRINCIPAL_IDENTIFIER
    sources:
    - resource: RESOURCE
    *OR*
    - accessLevel: ACCESS_LEVEL
    *OR*
    - pscEndpoint:
        forwardingRule: PSC_ENDPOINT
  ingressTo:
    operations:
    - serviceName: SERVICE_NAME
      methodSelectors:
      - method: METHOD_NAME
      *OR*
      - permission: PERMISSION
    *OR*
    roles:
    - ROLE_NAME
    resources:
    - projects/PROJECT_NUMBER

PSC_ENDPOINT 替換為 Private Service Connect 端點,允許存取服務範圍內的資源。如要指定 Private Service Connect 端點,請使用下列格式: //compute.googleapis.com/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_ID, 其中 FORWARDING_RULE_ID 是端點轉送規則的 ID。

如要瞭解其他輸入規則屬性,請參閱「輸入規則參考資料」一節。

使用 Private Service Connect 端點設定輸入規則檔案後,您可以在建立或更新 perimeter 時使用該規則。

如要在建立安全防護範圍時設定規則,請執行下列指令:

gcloud access-context-manager perimeters create NAME \
--title=TITLE \
--resources=RESOURCES \
--restricted-services=RESTRICTED_SERVICES \
--ingress-policies=INGRESS_FILENAME.yaml \
--policy=POLICY_NAME

INGRESS_FILENAME 替換為 Ingress 規則檔案的路徑。

詳情請參閱「建立 service perimeter」。

更新安全防護範圍時,如要設定規則,請執行下列指令:

gcloud access-context-manager perimeters update PERIMETER_ID \
--set-ingress-policies=INGRESS_FILENAME.yaml

更改下列內容:

  • PERIMETER_ID:要更新的 service perimeter ID。
  • INGRESS_FILENAME:輸入規則檔案的路徑。

詳情請參閱「更新 service perimeter 的輸入和輸出政策」。

在輸出規則中設定端點

控制台

在 Google Cloud 控制台中建立更新 perimeter 時,您可以設定輸出規則,加入轉送規則。

  1. 在 Google Cloud 控制台導覽選單中,依序按一下「Security」(安全性) >「VPC Service Controls」

    前往 VPC Service Controls

  2. 如要建立新的周邊範圍,請按一下「New perimeter」(新增周邊範圍)

    如要修改現有範圍,請選取該範圍並按一下「編輯」

  3. 選取「輸出政策」

  4. 在「Egress rules」(輸出規則) 窗格中,按一下「Add an egress rule」(新增輸出規則)

  5. 在「From」(從) 部分,從「Sources」(來源) 清單中選取「Select sources」(選取來源)

  6. 按一下「Private Service Connect 端點」

  7. 按一下「新增端點」

  8. 在「新增 Private Service Connect 端點」窗格中,選取下列其中一個選項:

    • 搜尋 PSC 端點:這個選項可讓您從清單中搜尋及選取所需的 Private Service Connect 端點。

    • 手動輸入 PSC 端點 ID:這個選項可讓你手動輸入 Private Service Connect 端點。如要指定 Private Service Connect 端點,請使用以下格式://compute.googleapis.com/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_ID,其中 FORWARDING_RULE_ID 是端點轉送規則的 ID。

  9. 按一下「新增端點」

  10. 按一下「完成」

  11. 按一下「建立」或「儲存」

如要瞭解其他輸出規則屬性,請參閱「輸出規則參考資料」一節。

gcloud

您可以使用 JSON 檔案或 YAML 檔案,設定輸出規則來納入轉送規則。以下範例使用 YAML 格式:

- egressTo:
    operations:
    - serviceName: SERVICE_NAME
      methodSelectors:
      - method: METHOD_NAME
      *OR*
      - permission: PERMISSION
    *OR*
    roles:
    - ROLE_NAME
    resources:
    - projects/PROJECT_NUMBER
    *OR*
    externalResources:
    - EXTERNAL_RESOURCE_PATH
  egressFrom:
    identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
    *OR*
    identities:
    - PRINCIPAL_IDENTIFIER
    sources:
    - resource: RESOURCE
    *OR*
    - accessLevel: ACCESS_LEVEL
    *OR*
    - pscEndpoint:
        forwardingRule: PSC_ENDPOINT
    sourceRestriction: RESTRICTION_STATUS

PSC_ENDPOINT 替換為 Private Service Connect 端點,您要允許 perimeter 內的資源透過這些端點存取外部資源。如要指定 Private Service Connect 端點,請使用以下格式://compute.googleapis.com/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_ID,其中 FORWARDING_RULE_ID 是端點轉送規則的 ID。

如要瞭解其他輸出規則屬性,請參閱「輸出規則參考資料」一節。

使用 Private Service Connect 端點設定輸出規則檔案後,您可以在建立或更新 perimeter 時使用該規則。

如要在建立安全防護範圍時設定規則,請執行下列指令:

gcloud access-context-manager perimeters create NAME \
--title=TITLE \
--resources=RESOURCES \
--restricted-services=RESTRICTED_SERVICES \
--egress-policies=EGRESS_FILENAME.yaml \
--policy=POLICY_NAME

EGRESS_FILENAME 替換為輸出規則檔案的路徑。

詳情請參閱「建立 service perimeter」。

更新安全防護範圍時,如要設定規則,請執行下列指令:

gcloud access-context-manager perimeters update PERIMETER_ID \
--set-egress-policies=EGRESS_FILENAME.yaml

更改下列內容:

  • PERIMETER_ID:要更新的 service perimeter ID。
  • EGRESS_FILENAME:輸出規則檔案的路徑。

詳情請參閱「更新 service perimeter 的輸入和輸出政策」。

排解存取遭拒問題

如果 Private Service Connect 端點導致存取遭拒,疑難排解結果頁面還會顯示下列資訊:

  • PSC 轉送規則 ID:要求存取的轉送規則端點 ID。

  • PSC 轉送規則狀態:要求存取權的轉送規則狀態。

  • 輸入和輸出部分:違規分析工具會根據所有輸入和輸出規則評估 Private Service Connect 端點,並在「輸入」和「輸出」部分顯示結果。

詳情請參閱「在違規分析工具中診斷存取遭拒問題」。

限制

  • 如要瞭解適用於服務邊界中 Private Service Connect 端點的配額和限制,請參閱「配額和限制」。

  • 您可以在輸入和輸出規則中使用 Private Service Connect 端點,僅存取支援的服務

  • VPC Service Controls 只支援輸入和輸出規則中新建立的 Private Service Connect 端點。您無法使用舊有的 Private Service Connect 端點,必須重新建立端點,才能搭配 VPC Service Controls 使用。

後續步驟