サービス境界で Private Service Connect エンドポイントを構成する

このページでは、サービス境界で Private Service Connect エンドポイントを構成する方法について説明します。

Private Service Connect は、エンドポイントを介して Virtual Private Cloud ネットワークからマネージド サービスにプライベート接続でアクセスできるGoogle Cloud ネットワーキング機能です。VPC Service Controls を使用すると、内向きルールと外向きルールで Private Service Connect エンドポイントを指定し、内部 IP アドレスを使用して独立した企業間の通信を可能にできます。

始める前に

上り(内向き)ルールでエンドポイントを構成する

コンソール

Google Cloud コンソールで境界を作成または更新するときに、転送ルールを含めるように上り(内向き)ルールを構成できます。

  1. Google Cloud コンソールのナビゲーション メニューで、[セキュリティ] > [VPC Service Controls] をクリックします。

    [VPC Service Controls] に移動

  2. 新しい境界を作成するには、[新しい境界] をクリックします。

    既存の境界を変更するには、境界を選択して [編集] をクリックします。

  3. [内向きポリシー] を選択します。

  4. [上り(内向き)ルール] ペインで、[上り(内向き)ルールを追加] をクリックします。

  5. [From] セクションで、[ソース] リストから [ソースを選択] を選択します。

  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 エンドポイントを使用して上り(内向き)ルールファイルを構成したら、境界の作成または更新時にルールを使用できます。

境界の作成時にルールを構成するには、次のコマンドを実行します。

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 は、上り(内向き)ルール ファイルのパスに置き換えます。

詳細については、サービス境界を作成するをご覧ください。

境界を更新するときにルールを構成するには、次のコマンドを実行します。

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

次のように置き換えます。

  • PERIMETER_ID: 更新するサービス境界の ID。
  • INGRESS_FILENAME: 上り(内向き)ルールファイルのパス。

詳細については、サービス境界の上り(内向き)ポリシーと下り(外向き)ポリシーの更新をご覧ください。

下り(外向き)ルールでエンドポイントを構成する

コンソール

Google Cloud コンソールで境界を作成または更新するときに、転送ルールを含めるように下り(外向き)ルールを構成できます。

  1. Google Cloud コンソールのナビゲーション メニューで、[セキュリティ] > [VPC Service Controls] をクリックします。

    [VPC Service Controls] に移動

  2. 新しい境界を作成するには、[新しい境界] をクリックします。

    既存の境界を変更するには、境界を選択して [編集] をクリックします。

  3. [下り(外向き)ポリシー] を選択します。

  4. [下り(外向き)ルール] ペインで、[下り(外向き)ルールを追加] をクリックします。

  5. [From] セクションで、[ソース] リストから [ソースを選択] を選択します。

  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 エンドポイントに置き換えます。Private Service Connect エンドポイントを指定するには、//compute.googleapis.com/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_ID という形式を使用します。ここで、FORWARDING_RULE_ID はエンドポイントの転送ルールの ID です。

他の下り(外向き)ルール属性については、下り(外向き)ルールのリファレンスをご覧ください。

Private Service Connect エンドポイントを使用して下り(外向き)ルールファイルを構成したら、境界の作成または更新時にルールを使用できます。

境界の作成時にルールを構成するには、次のコマンドを実行します。

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 は、下り(外向き)ルール ファイルのパスに置き換えます。

詳細については、サービス境界を作成するをご覧ください。

境界を更新するときにルールを構成するには、次のコマンドを実行します。

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

次のように置き換えます。

  • PERIMETER_ID: 更新するサービス境界の ID。
  • EGRESS_FILENAME: 下り(外向き)ルールファイルのパス。

詳細については、サービス境界の上り(内向き)ポリシーと下り(外向き)ポリシーの更新をご覧ください。

アクセス拒否のトラブルシューティング

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 で使用するには、再作成する必要があります。

次のステップ