公開サービスへのアクセス制御について

このページでは、Private Service Connect を使用して公開されたサービスへのアクセスを制御するために使用できる機能について説明します。

接続の設定

各サービス アタッチメントには、接続を自動的に受け入れるかどうかを制御する接続設定があります。

  • すべての接続を自動的に受け入れる。サービス アタッチメントは、任意のコンシューマーからのすべてのインバウンド接続リクエストを自動的に受け入れます。
  • 選択したコンシューマーからの接続を明示的に受け入れます。サービス アタッチメントは、コンシューマーがサービス アタッチメントのコンシューマー承認リストに含まれている場合にのみ、インバウンド接続リクエストを受け入れます。コンシューマーは、プロジェクト、VPC ネットワーク、個々の Private Service Connect エンドポイント(プレビュー)で指定できます。同じコンシューマーの承認リストまたは拒否リストに、異なるタイプのコンシューマーを含めることはできません。

どちらの接続設定でも、承認された接続は、受信接続をブロックする組織のポリシーによってオーバーライドされ、拒否される可能性があります。

選択したコンシューマーの接続を明示的に受け入れることをおすすめします。他の手段でコンシューマー アクセスを制御し、サービスに対して制限の緩すぎるアクセスを有効にする場合は、すべての接続を自動的に受け入れるのが適切です。

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

コンシューマーの承認リストと拒否リストは、サービス アタッチメントのセキュリティ機能です。これらのリストを使用すると、サービス プロデューサーはサービスに対する Private Service Connect 接続を確立できるコンシューマーを指定できます。明示的な承認用にサービス アタッチメントが構成されている場合、コンシューマーが承認リストに含まれていて、拒否リストに含まれていない場合にのみ、新しい接続が受け入れられます。コンシューマー リストの更新は、接続の調整が有効になっていない限り、新しい接続にのみ影響します。

コンシューマーの承認リストと拒否リストでは、次のいずれかの方法でコンシューマーを指定できます。

  • プロジェクト
  • VPC ネットワーク
  • Private Service Connect エンドポイント(プレビュー

    この方法は、Private Service Connect バックエンドには適用されません。

同じコンシューマーを承認リストと拒否リストの両方に追加すると、そのコンシューマーはサービス アタッチメントへの接続をブロックされます。フォルダでコンシューマを指定することはできません。

サービス アタッチメントのコンシューマー リストの両方に、同じタイプのコンシューマーが含まれている必要があります。たとえば、プロジェクトを承認リストに追加した場合、承認リスト内のプロジェクトを新しいタイプのコンシューマーに置き換えない限り、VPC ネットワークまたはエンドポイント URI をいずれのリストにも追加できません。

さまざまなタイプのコンシューマーを受け入れるサービスを公開する場合は、同じサービスに接続する複数のサービス アタッチメントを作成できます。各サービス アタッチメントは、独自の接続設定とコンシューマー リストで構成できます。

接続を中断することなく、コンシューマー リスト内のコンシューマーのタイプを変更できますが、変更は 1 回の更新で行う必要があります。そうしないと、オペレーションは失敗します。

承認リストと拒否リストに追加できるコンシューマーの数には上限があります。

  • コンシューマーの許可リストには最大 5,000 個の値を追加できます。
  • コンシューマー拒否リストには最大 64 個の値を追加できます。

コンシューマー リストは、エンドポイントまたはバックエンドが公開サービスに接続できるかどうかを制御しますが、そのエンドポイントにリクエストを送信できるユーザーは制御しません。たとえば、コンシューマーに 2 つのサービス プロジェクトが接続された共有 VPC ネットワークがあるとします。公開サービスのコンシューマーの承認リストに service-project1 があり、コンシューマーの拒否リストに service-project2 がある場合、次のように処理されます。

  • service-project1 のコンシューマーは、公開サービスに接続するエンドポイントを作成できます。
  • service-project2 のコンシューマーは、公開サービスに接続するエンドポイントを作成できません。
  • service-project2 のクライアントは、トラフィックをブロックするファイアウォール ルールまたはポリシーがない場合、service-project1 のエンドポイントにリクエストを送信できます。

コンシューマーの承認リストと組織のポリシー間のやり取り方法については、コンシューマー承認リストと組織のポリシー間のやり取りをご覧ください。

コンシューマーの承認リストの上限

コンシューマーの承認リストには、接続上限があります。これらの上限により、サービス アタッチメントが指定されたコンシューマー プロジェクトまたは VPC ネットワークから受け入れることができる Private Service Connect エンドポイントとバックエンド接続の合計数が設定されます。Private Service Connect エンドポイント ベースの許可リストに接続上限を指定しても、効果はありません。これは、特定の URI に一致するエンドポイントは 1 つだけであるためです。

プロデューサーは接続上限を使用して、個別のコンシューマーがプロデューサー VPC ネットワーク内の IP アドレスまたはリソースの割り当てを使い切らないようにします。受け入れられた各 Private Service Connect 接続は、コンシューマー プロジェクトまたは VPC ネットワークの構成済み上限から差し引かれます。上限は、コンシューマーの承認リストを作成または更新するときに設定されます。サービス アタッチメントの詳細を取得する際に、サービス アタッチメントの接続を確認できます。

伝播接続は、これらの上限にカウントされません。

たとえば、サービス アタッチメントに project-1project-2 を含むコンシューマー承認リストがあり、両方が 1 つの接続に制限されているとします。プロジェクト project-1 は 2 つの接続、project-2 は 1 つの接続、project-3 は 1 つの接続をリクエストします。project-1 には 1 つの接続という制限があるため、最初の接続は受け入れられますが、2 番目の接続は保留中のままになります。project-2 からの接続は受け入れられますが、project-3 からの接続は保留中のままになります。project-1 の上限を引き上げると、project-1 から 2 番目の接続を受け入れることが可能になります。project-3 がコンシューマーの承認リストに追加されると、その接続は保留中から承認済みに移行します。

接続調整

接続の調整により、サービス アタッチメントの許可リストまたは拒否リストの更新が既存の Private Service Connect 接続に影響を与えるかどうかが決まります。接続の調整が有効になっている場合、許可リストまたは拒否リストを更新すると、既存の接続が終了する場合があります。以前に拒否された接続が受け入れられる可能性もあります。接続の調整が無効になっている場合、許可リストまたは拒否リストの更新は新しい接続と保留中の接続にのみ影響します。

たとえば、Project-A からの複数の接続が承諾されているサービス アタッチメントがあるとします。Project-A は、サービス アタッチメントの許可リストにあります。許可リストから Project-A を削除してサービス アタッチメントを更新しました。

接続の調整が有効になっている場合、Project-A からの既存の接続はすべて PENDING に変わり、これにより、2 つの VPC ネットワーク間のネットワーク接続が切断され、ネットワーク トラフィックが直ちに停止します。

接続の調整が無効になっている場合、Project-A からの既存の接続は影響を受けません。ネットワーク トラフィックは引き続き既存の Private Service Connect 接続間を通過します。ただし、新しい Private Service Connect 接続は許可されません。

新しいサービス アタッチメントの接続調整を構成する方法については、明示的な承認でサービスを公開するをご覧ください。

既存のサービス アタッチメントの接続調整を構成する方法については、接続調整を構成するをご覧ください。

Private Service Connect エンドポイント接続を承認または拒否する

エンドポイントの ID ベースの URI をサービス アタッチメントのコンシューマー リストのいずれかに追加することで、個々の Private Service Connect エンドポイント接続を承認または拒否できます。このアプローチは、マルチテナント サービスにおすすめの方法で、接続を管理するための最もきめ細かい制御が可能です。Private Service Connect エンドポイントによるコンシューマーの受け入れは、Private Service Connect エンドポイントにのみ適用され、Private Service Connect バックエンドはサポートしていません。

プロジェクトや VPC ネットワークとは異なり、個々の Private Service Connect エンドポイントは、コンシューマーがエンドポイントを作成した後にのみ承認または拒否できます。これは、コンシューマーがエンドポイントを作成するまで、エンドポイントの一意の URI がわからないためです。エンドポイントをコンシューマー承認リストに追加する手順は次のとおりです。

  1. プロデューサーが、明示的な承認を必要とするサービスを公開しましたが、コンシューマーの承認リストに値を追加していません。
  2. コンシューマーは、公開サービスに接続するエンドポイントを作成します。接続は、ステータスが Pending のサービス アタッチメントに表示されます。
  3. 保留中のエンドポイントの ID ベースの URI を確認するには、プロデューサーがサービス アタッチメントを記述するか、コンシューマーがエンドポイントを記述します。
  4. プロデューサーは、エンドポイントの ID ベースの URI をコンシューマー承認リストに追加します。接続が確立され、ステータスが Accepted に変わります。

接続ステータス

Private Service Connect エンドポイント、バックエンド、サービス アタッチメントには、接続の状態を示す接続ステータスがあります。 接続の両側を形成するコンシューマー リソースとプロデューサー リソースは常に同じステータスになります。 接続ステータスは、エンドポイントの詳細を表示するバックエンドの説明をする、または公開サービスの詳細を表示することで表示できます。

次の表に、ステータスの説明を示します。

接続ステータス 説明
承認 Private Service Connect 接続が確立されています。2 つの VPC ネットワークが接続し、接続が正常に機能しています。
保留中

Private Service Connect 接続が確立されていないため、ネットワーク トラフィックが 2 つのネットワーク間を移動できません。接続がこのステータスになる理由は次のとおりです。

  • サービス アタッチメントは明示的な承認を必要としますが、コンシューマーがコンシューマーの承認リストに含まれていません。
  • 接続数がサービス アタッチメントの接続上限を超えています。
  • エンドポイントに関連付けられている伝播接続の数は、サービス アタッチメントの伝播接続の上限を超えています。

これらの理由でブロックされた接続は、根本的な問題が解決されるまで無期限に保留状態のままになります。

拒否

Private Service Connect 接続が確立されていません。ネットワーク トラフィックを 2 つのネットワーク間で移動することはできません。接続がこのステータスになる理由は次のとおりです。

要確認 接続のプロデューサー側に問題があります。一部のトラフィックは 2 つのネットワーク間を流れますが、一部の接続は機能しない可能性があります。たとえば、プロデューサーの NAT サブネットが使い果たされ、新しい接続に IP アドレスを割り振ることができない場合があります。
終了

サービス アタッチメントが削除され、Private Service Connect 接続が閉じています。ネットワーク トラフィックを 2 つのネットワーク間で移動することはできません。

閉じた接続は終端状態です。接続を復元するには、サービス アタッチメントだけでなく、エンドポイントまたはバックエンドも再作成する必要があります。

伝播接続

エンドポイントを使用してサービス アタッチメントに接続するコンシューマーは、伝播接続を有効にできます。伝播接続を使用すると、コンシューマー VPC スポークは、2 つの VPC ネットワークがエンドポイントを介して直接接続されているかのように、プロデューサー VPC ネットワークのマネージド サービスにアクセスできます。伝播接続ごとに、サービス アタッチメントの NAT サブネットから IP アドレスが使用されます。

公開サービスの詳細を表示すると、接続済みエンドポイントに関連付けられている伝播接続の数を確認できます。このカウントには、プロデューサーの伝播接続の上限によってブロックされた伝播接続は含まれません。

伝播接続数の上限

サービス アタッチメントには伝播接続数の上限があります。これにより、サービス プロデューサーは、単一のコンシューマーからサービス アタッチメントに対して確立できる伝播接続数を制限できます。指定しない場合、デフォルトの伝播接続数の上限は 250 です。

  • サービス アタッチメントの接続設定が ACCEPT_MANUAL の場合、この上限はコンシューマーの許可リストのコンシューマーのタイプに基づいて適用されます。
    • プロジェクト ベースのコンシューマー承認リストの場合、この上限はリスト内の各プロジェクトに適用されます。
    • VPC ネットワークベースのコンシューマー許可リストの場合、この上限はリスト内の各ネットワークに適用されます。
    • Private Service Connect エンドポイント ベースのコンシューマー承認リスト(プレビュー)の場合、この上限はリスト内の各エンドポイントのプロジェクトに適用されます。同じプロジェクトの複数のエンドポイントがリストにある場合、それらは 1 つの上限を共有します。
  • 接続設定が ACCEPT_AUTOMATIC の場合、この制限は接続されたエンドポイントを含む各プロジェクトに適用されます。

コンシューマーが伝播接続の上限を超えると、それ以上は伝播接続が作成されません。伝播されたエンドポイントをさらに作成できるようにするには、伝播接続の上限を増やすことができます。この上限を増やすと、新しい接続が更新された上限を超えない限り、Network Connectivity Center は、上限によってブロックされていた伝播接続を作成します。この上限を更新しても、既存の伝播接続には影響しません。

割り当ての超過を防ぐ

プロデューサー VPC ネットワークにアクセスできる Private Service Connect エンドポイントと伝播接続の合計数は、PSC ILB consumer forwarding rules per producer VPC network 割り当てによって制御されます。特にマルチテナント サービスでは、この割り当て量を使い切らないようにすることが重要です。

次の上限を使用して、割り当ての枯渇を防ぐことができます。

  • コンシューマー リストの接続上限は、単一のコンシューマー VPC ネットワークまたはプロジェクトからサービス アタッチメントへの接続を作成できる Private Service Connect エンドポイントの合計数を制御します。これらの上限を下げても、既存の接続には影響しません。これらの制限は、伝播接続には適用されません。
  • 伝播接続の上限は、単一のコンシューマーからサービス アタッチメントに確立できる伝播接続の合計数を制御します。この上限を下げても、既存の伝播接続には影響しません。

割り当てと接続上限の例

次の例は、PSC ILB consumer forwarding rules per producer VPC network 割り当てに関して、伝播接続の上限とコンシューマーの許可リストの上限がどのように機能するかを示しています。

コンシューマーがスポーク VPC ネットワーク spoke-vpc-1 に 2 つのエンドポイントを作成したとします。両方のエンドポイントは producer-vpc-1service-attachment-1 に接続します。スポークが、接続の伝播が有効になっている Network Connectivity Center ハブに接続されており、そのハブに接続されている他のスポークはありません。

サービス プロデューサーは、承認リストの各プロジェクトのコンシューマー承認リストの上限を 4 に設定するように service-attachment-1 を構成しています。プロデューサーは、伝播接続数の上限を 2 に構成し、1 つのプロジェクトで最大 2 つの伝播接続を指定しています。

この構成例には 2 つのエンドポイントがあり、伝播された接続はありません(クリックして拡大)。

この構成の割り当てと上限の使用量は次のとおりです。

割り当て / 上限 使用量 説明
プロデューサー VPC ネットワークあたりの PSC ILB コンシューマー転送ルール 2 エンドポイントごとに 1 つ
consumer-project-1 のサービス アタッチメント コンシューマー承認リストの接続上限 2 エンドポイントごとに 1 つ
consumer-project-1 のサービス アタッチメントの伝播接続の上限 0 伝播接続なし

consumer-project-1spoke-vpc-2 という別のスポークを spoke-vpc-1 と同じ Network Connectivity Center ハブに接続するとします。この場合、既存のエンドポイントごとに 1 つずつ作成され、consumer-project-1 に 2 つの伝播接続が作成されます。

この構成例には、2 つのエンドポイントと 2 つの伝播接続が含まれています(クリックして拡大)。

この構成の割り当てと上限の使用量は次のとおりです。

割り当て / 上限 使用量 説明
プロデューサー VPC ネットワークあたりの PSC ILB コンシューマー転送ルール 4 エンドポイントごとに 1 つ、伝播接続ごとに 1 つ
consumer-project-1 のサービス アタッチメント コンシューマー承認リストの接続上限 2 エンドポイントごとに 1 つ
consumer-project-1 のサービス アタッチメントの伝播接続の上限 2 伝播接続ごとに 1 つ

Consumer-project-1 の伝播接続数の上限に達しました。コンシューマーが別の VPC スポークを追加しても、Private Service Connect は新しい伝播接続を作成しません。

別のコンシューマーが consumer-project-2 に 2 つの VPC スポークを持っているとします。スポークは、伝播接続が有効になっている Network Connectivity Center ハブに接続します。VPC スポークの 1 つに、service-attachment-1 に接続する 1 つのエンドポイントが含まれています。

この構成例には、3 つのエンドポイントと 3 つの伝播接続が含まれています(クリックして拡大)。

この構成の割り当てと上限の使用量は次のとおりです。

割り当て / 上限 使用量 説明
プロデューサー VPC ネットワークあたりの PSC ILB コンシューマー転送ルール 6 consumer-project-1 から 4 つ、consumer-project-2 から 2 つ
consumer-project-1 のサービス アタッチメント コンシューマー承認リストの接続上限 2 consumer-project-1 のエンドポイントごとに 1 つ
consumer-project-2 のサービス アタッチメント コンシューマー承認リストの接続上限 1 consumer-project-2 のエンドポイントごとに 1 つ
consumer-project-1 のサービス アタッチメントの伝播接続の上限 2 consumer-project-1 の伝播接続ごとに 1 つ
consumer-project-2 のサービス アタッチメントの伝播接続の上限 1 consumer-project-2 の伝播接続ごとに 1 つ