概要

このページでは、Google Distributed Cloud(GDC)エアギャップのプロジェクト ネットワーク ポリシーの概要について説明します。

プロジェクト ネットワーク ポリシーは、上り(内向き)ルールまたは下り(外向き)ルールのいずれかを定義します。Kubernetes ネットワーク ポリシーとは異なり、ポリシーに指定できるポリシータイプは 1 つだけです。

プロジェクト内のトラフィックの場合、GDC はデフォルトで、事前定義されたプロジェクト ネットワーク ポリシー(プロジェクト内ポリシー)を各プロジェクトに適用します。

プロジェクト内のサービスとワークロードは、デフォルトで外部のサービスとワークロードから分離されています。ただし、異なるプロジェクト Namespace に属し、同じ組織内のサービスとワークロードは、クロス プロジェクト トラフィック ネットワーク ポリシーを適用することで相互に通信できます。

同様に、サービスとワークロードを別の組織のプロジェクト外の宛先に接続するには、明示的な承認が必要です。組織間のトラフィックを許可するには、データ持ち出し対策を無効にする必要があります。

上り(内向き)と下り(外向き)のファイアウォール ルールは、プロジェクト ネットワーク ポリシーの主なコンポーネントであり、ネットワークに出入りするトラフィックの種類を決定します。GDC でプロジェクトの名前空間のファイアウォール ルールを設定するには、GDC コンソールを使用します。

セキュリティと接続

デフォルトでは、プロジェクト内のサービスとワークロードは、そのプロジェクト内で分離されます。ネットワーク ポリシーを構成しないと、外部サービスやワークロードと通信できません。

GDC でプロジェクトの名前空間のネットワーク ポリシーを設定するには、ProjectNetworkPolicy リソースを使用します。このリソースを使用すると、プロジェクト内、プロジェクト間、外部 IP アドレスとの通信を許可するポリシーを定義できます。また、プロジェクトからワークロードを転送できるのは、プロジェクトのデータ漏洩保護を無効にする場合に限られます。

GDC プロジェクトのネットワーク ポリシーは追加型です。ワークロードの結果として得られる適用は、そのワークロードに適用されるすべてのポリシーの結合に対するトラフィック フローの any 一致です。複数のポリシーが存在する場合、各ポリシーのルールが加算的に結合され、少なくとも 1 つのルールに一致するトラフィックが許可されます。

また、単一のポリシーを適用すると、指定されていないすべてのトラフィックが拒否されます。したがって、ワークロードをサブジェクトとして選択する 1 つ以上のポリシーを適用すると、ポリシーで指定されたトラフィックのみが許可されます。

プロジェクトに割り当てた既知の IP アドレスを使用すると、組織からのアウトバウンド トラフィックに対して送信元ネットワーク アドレス変換(NAT)が実行されます。

グローバル プロジェクト ネットワーク ポリシー

グローバル プロジェクト ネットワーク ポリシーを作成できます。グローバル プロジェクト ネットワーク ポリシーのスコープは、GDC ユニバース全体に及びます。各 GDC ユニバースは、相互接続され、コントロール プレーンを共有するリージョンに編成された複数の GDC ゾーンで構成できます。たとえば、それぞれ 3 つのゾーンがある 2 つのリージョンで構成されるユニバースは、us-virginia1-aus-virginia1-bus-virginia1-ceu-ams1-aeu-ams1-beu-ams1-c のようになります。

ゾーン プロジェクト ネットワーク ポリシーのスコープは、作成時に指定されたゾーンに限定されます。各ゾーンは独立した障害ドメインです。ゾーンは、ローカル コントロール プレーンを使用するインフラストラクチャ、サービス、API、ツールを管理します。

GDC ユニバースのグローバル リソースの詳細については、マルチゾーンの概要をご覧ください。

グローバル プロジェクト ネットワーク ポリシーは、ネットワーキング Kubernetes Resource Model(KRM)API を使用して作成できます。API バージョン networking.global.gdc.goog を使用してグローバル リソースを作成します。

ゾーン プロジェクト ネットワーク ポリシーは、KRM API または GDC コンソールを使用して作成できます。API バージョン networking.gdc.goog を使用して、ゾーンリソースを作成します。

ワークロード レベルのネットワーク ポリシー

ワークロード レベルのネットワーク ポリシーを作成して、プロジェクト内の個々の VM と Pod に対するきめ細かいアクセス制御を定義できます。これらのポリシーは、ワークロードのファイアウォールとして機能し、ラベルに基づいてトラフィック フローを制御して、セキュリティを強化し、アプリケーションを分離します。この粒度により、プロジェクト内およびプロジェクト間で相互に通信できるワークロードをより厳密に制御できます。

ワークロード単位のネットワーク ポリシーでは、単一のゾーンに沿って PNP を適用することもできます。

詳細については、ワークロード レベルのネットワーク ポリシーを作成するをご覧ください。

事前定義ロールとアクセス権を準備する

プロジェクト ネットワーク ポリシーを構成するには、必要な ID とアクセスロールが必要です。

  • プロジェクト NetworkPolicy 管理者: プロジェクト Namespace のプロジェクト ネットワーク ポリシーを管理します。組織の IAM 管理者に、プロジェクトの NetworkPolicy 管理者(project-networkpolicy-admin)クラスタロールを付与するよう依頼します。
  • グローバル PNP 管理者: グローバル プロジェクト Namespace 内のすべてのマルチゾーン PNP リソースに対する書き込み権限があります。組織 IAM 管理者に、グローバル PNP 管理者(global-project-networkpolicy-admin)ロールを付与するよう依頼します。詳細については、事前定義ロールの説明をご覧ください。

次のステップ