Private Service Connect プロデューサーのセキュリティを管理する

このページでは、サービス プロデューサーが Private Service Connect を使用するプロデューサー組織とプロジェクトのセキュリティを実装する方法について説明します。

コンシューマ承認リストを使用すると、サービス オーナーは個々のサービス アタッチメントに接続できるネットワークまたはプロジェクトを指定できます。組織のポリシーもサービス アタッチメントへのアクセスを制御しますが、ネットワーク管理者は組織内のすべてのサービス アタッチメントへのアクセスを幅広く制御できます。

コンシューマ承認リストと組織のポリシーは補完的なものであり、併用できます。この場合、Private Service Connect 接続は、両方のセキュリティ メカニズムで許可されている場合にのみ作成されます。

ロール

組織のポリシーを管理するために必要な権限を取得するには、組織に対する組織ポリシー管理者roles/orgpolicy.policyAdmin)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

プロデューサーの組織のポリシー

compute.restrictPrivateServiceConnectConsumer リスト型制約付きの組織のポリシーを使用すると、Private Service Connect サービス アタッチメントに接続できるエンドポイントとバックエンドを制御できます。エンドポイントまたはバックエンドがプロデューサーの組織ポリシーによって拒否された場合、リソースは正常に作成されますが、接続は拒否された状態になります。

詳細については、コンシューマー側の組織のポリシーをご覧ください。

未承認のエンドポイントとバックエンドからの接続を拒否する

リソース: エンドポイントとバックエンド

gcloud

  1. 新しいポリシーを保存するために、/tmp/policy.yaml という名前の一時ファイルを作成します。次の内容をファイルに追加します。

    name: organizations/PRODUCER_ORG/policies/compute.restrictPrivateServiceConnectConsumer
    spec:
      rules:
        - values:
            allowedValues:
            - under:organizations/CONSUMER_ORG_NUMBER
    

    以下を置き換えます。

    • PRODUCER_ORG: コンシューマの Private Service Connect アクセスを制御するプロデューサー組織の組織 ID
    • CONSUMER_ORG_NUMBER: プロデューサー組織内のサービス アタッチメントに接続できるようにするコンシューマ組織の数値リソース ID。

    プロジェクト内のサービス アタッチメントに接続できる組織を追加で指定するには、allowedValues セクションに追加のエントリを含めます。

    組織に加えて、承認済みのフォルダとプロジェクトを次の形式で指定できます。

    • under:folders/FOLDER_ID

      FOLDER_ID は数値 ID である必要があります。

    • under:projects/PROJECT_ID

      PROJECT_ID は文字列 ID である必要があります。

    たとえば、次のファイルは、許可された値またはその子孫に関連付けられていない限り、エンドポイントまたはバックエンドから Producer-org-1 のサービス アタッチメントへの接続を拒否する組織ポリシー構成を示しています。指定できる値は、組織 Consumer-org-1、プロジェクト Consumer-project-1、フォルダ Consumer-folder-1 です。

    name: organizations/Producer-org-1/policies/compute.restrictPrivateServiceConnectConsumer
    spec:
    rules:
      - values:
          allowedValues:
          - under:organizations/Consumer-org-1
          - under:projects/Consumer-project-1
          - under:folders/Consumer-folder-1
    
  2. ポリシーを適用します。

    gcloud org-policies set-policy /tmp/policy.yaml
    
  3. 有効なポリシーを表示します。

    gcloud org-policies describe compute.restrictPrivateServiceConnectConsumer \
        --effective \
        --organization=PRODUCER_ORG
    

コンシューマーの承認リストと拒否リスト

リソース: エンドポイントとバックエンド

コンシューマーの承認リストと拒否リストは、サービス アタッチメントに関連付けられます。これらのリストを使用すると、コンシューマ プロジェクトまたはネットワークからの接続を明示的に承認または拒否できます。

詳しくは、コンシューマの承認リストと拒否リストをご覧ください。

承認リストと組織のポリシー間のやり取り

コンシューマの承認リストと組織のポリシーの両方で、2 つの Private Service Connect リソース間の接続を確立できるかどうかを制御します。承認リストまたは組織のポリシーで接続が拒否される場合、接続はブロックされます。

たとえば、restrictPrivateServiceConnectConsumer 制約のあるポリシーは、プロデューサーの組織外からの接続をブロックするように構成できます。サービス アタッチメントがすべての接続を自動的に受け入れるように構成されていても、組織のポリシーによってプロデューサー組織外からの接続は引き続きブロックされます。階層化されたセキュリティを提供するには、承認リストと組織のポリシーの両方を併用することをおすすめします。

承認リストと拒否リストを構成する

コンシューマの承認リストまたは拒否リストを持つ新しいサービス アタッチメントの作成方法については、明示的なプロジェクト承認を使用してサービスを公開するをご覧ください。

コンシューマの承認リストまたは拒否リストを更新する方法については、公開サービスへのアクセス リクエストを管理するをご覧ください。