ブリッジを使用して境界を越えて共有する

このページでは、境界ブリッジを使用して異なるサービス境界のプロジェクトやサービスが通信を行う方法について説明します。

始める前に

サービス境界ブリッジ

1 つのプロジェクトに設定できるサービス境界は 1 つだけですが、別の境界にあるプロジェクトとの通信が必要になる場合もあります。この場合、境界ブリッジを作成すると、サービス境界を越えてサービスとの通信やデータの共有を行うことができます。

異なるサービス境界のプロジェクト間で通信を可能にする境界ブリッジ。境界ブリッジは双方向です。各サービス境界のプロジェクトは、ブリッジのスコープ内で同等にアクセスできます。ただし、プロジェクトのアクセスレベルとサービス制限は、プロジェクトが属するサービス境界によって制御されます。1 つのプロジェクトに他のプロジェクトと接続する複数のブリッジを設定できます。

あるサービス境界に属するプロジェクトから別の境界に属するプロジェクトに間接的にアクセスすることはできません。たとえば、A、B、C という 3 つのプロジェクトがあるとします。各プロジェクトは異なるサービス境界に属しています。A と B は境界ブリッジを共有し、B と C もブリッジを共有しています。 A と B の間または B と C の間ではデータの移動が許可されますが、A と C の間では許可されません。これは、この 2 つのプロジェクトが境界ブリッジで直接接続されていないためです。

考慮事項

境界ブリッジを作成する前に、次の点を考慮してください。

  • サービス境界に属していないプロジェクトは、境界ブリッジで別のプロジェクトに接続できません。

  • 境界ブリッジに異なる組織のプロジェクトを入れることはできません。境界ブリッジで接続されるプロジェクトは、同じ組織のサービス境界に属している必要があります。

  • 境界ブリッジに異なるスコープ ポリシーのプロジェクトを配置することはできません。代わりに、上り(内向き)ルールまたは下り(外向き)ルールを使用して、異なるスコープ ポリシーのプロジェクト間の通信を許可できます。

  • プロジェクトに境界ブリッジを作成した後は、そのプロジェクトの VPC ネットワークを境界に追加できません。

境界ブリッジの例

次の設定を例にして、境界ブリッジの仕組みを簡単に見てみましょう。

境界ブリッジのアクセス図

ここでは、DMZ 境界の Cloud Storage バケットと Sink Project のバケット間のコピーを許可していますが、DMZ 境界の VM には Private Project の Cloud Storage バケットにあるデータへのアクセスを許可していません。

次のコマンドは、プロジェクト A とプロジェクト B を接続する境界ブリッジ(Bridge)を作成します。

gcloud access-context-manager perimeters create Bridge \
  --title="Perimeter Bridge" --perimeter-type=bridge \
  --resources=projects/12345,projects/67890

境界ブリッジの境界線は双方向です。DMZ 境界からプライベート境界へのコピーと、プライベート境界から DMZ 境界へのコピーの両方が許可されます。ディレクショナルの制御を行う場合は、サービス アカウントの IAM 権限またはコピーのオペレーションを実行する ID と境界を組み合わせることをおすすめします。