階層型ファイアウォール ポリシーとルールを使用する

このページは、階層型ファイアウォール ポリシーの概要で説明されているコンセプトを理解していることを前提としています。階層型ファイアウォール ポリシーの実装例については、階層型ファイアウォール ポリシーの例をご覧ください。

制限事項

  • 階層型ファイアウォール ポリシーのルールでは、ターゲットの定義にネットワーク タグを使用することはサポートされていません。代わりに、ターゲット Virtual Private Cloud(VPC)ネットワークまたはターゲット サービス アカウントを使用する必要があります。
  • ファイアウォール ポリシーは、フォルダレベルと組織レベルで適用されますが、VPC ネットワーク レベルでは適用されません。通常の VPC ファイアウォール ルールは VPC ネットワークでサポートされています。
  • リソース(フォルダまたは組織)に関連付けることができるファイアウォール ポリシーは 1 つだけですが、フォルダの下の仮想マシン(VM)インスタンスは VM を越えてリソースの階層全体からルールを継承できます。
  • ファイアウォール ルールのロギングは、allow ルールと deny ルールではサポートされますが、goto_next ルールではサポートされません。
  • IPv6 ホップバイホップ プロトコルはファイアウォール ルールでサポートされていません。

ファイアウォール ポリシーのタスク

このセクションでは、階層型ファイアウォール ポリシーの作成と管理の方法について説明します。

このセクションに記載されているタスクの結果として発生するオペレーションの進行状況を確認するには、各タスクに必要な権限またはロールに加えて、IAM プリンシパルに次の権限またはロールがあることを確認してください。

ファイアウォール ポリシーの作成

階層型ファイアウォール ポリシーを作成するときに、親を組織または組織内のフォルダに設定できます。ポリシーを作成したら、ポリシーを組織または組織内のフォルダに関連付けることができます。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタのメニューで、組織 ID または組織内のフォルダを選択します。

  3. [ファイアウォール ポリシーを作成] をクリックします。

  4. [ポリシー名] フィールドに、ポリシーの名前を入力します。

  5. 省略可: ポリシーのルールを作成する場合は、[続行] をクリックします。

  6. [ルールを追加] セクションで、[ファイアウォール ルールを作成] をクリックします。ファイアウォール ルールの作成の詳細については、以下をご覧ください。

  7. 省略可: ポリシーをリソースに関連付ける場合は、[続行] をクリックします。

  8. [ポリシーとリソースの関連付け] セクションで、[追加] をクリックします。

    詳細については、ポリシーを組織またはフォルダに関連付けるをご覧ください。

  9. [作成] をクリックします。

gcloud

次のコマンドを実行して、親が組織である階層型ファイアウォール ポリシーを作成します。

gcloud compute firewall-policies create \
    --organization ORG_ID \
    --short-name SHORT_NAME

次のコマンドを実行して、親が組織内のフォルダである階層型ファイアウォール ポリシーを作成します。

gcloud compute firewall-policies create \
    --folder FOLDER_ID \
    --short-name SHORT_NAME

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

  • ORG_ID: 組織の ID

    組織 ID を指定して、親が組織であるポリシーを作成します。ポリシーは、組織または組織内のフォルダに関連付けることができます。

  • SHORT_NAME: ポリシーの名前

    Google Cloud CLI で作成したポリシーには 2 つの名前があります。1 つはシステム生成名、もう 1 つはユーザーが指定した略称です。gcloud CLI を使用して既存のポリシーを更新する場合は、システム生成の名前を使用するか、略称と組織 ID を指定します。API を使用してポリシーを更新する場合は、システムが生成した名前を指定する必要があります。

  • FOLDER_ID: フォルダの ID

    フォルダ ID を指定して、親がフォルダであるポリシーを作成します。ポリシーは、フォルダを含む組織、またはその組織内の任意のフォルダに関連付けることができます。

ポリシーを組織またはフォルダに関連付ける

階層型ファイアウォール ポリシーを組織内の組織またはフォルダに関連付けると、ファイアウォール ポリシーのルール(無効なルールを除く)は、関連付けられた組織またはフォルダのプロジェクトの VPC ネットワーク内のリソースに適用されます。各ルールのターゲットが適用されます。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. ポリシーをクリックします。

  4. [関連付け] タブをクリックします。

  5. [関連付けを追加] をクリックします。

  6. 組織のルートを選択するか、組織内のフォルダを選択します。

  7. [追加] をクリックします。

gcloud

デフォルトでは、すでに関連付けがある組織またはフォルダに関連付けを挿入しようとすると、そのメソッドは失敗します。--replace-association-on-target フラグを指定すると、新しい関連付けが作成されると同時に既存の関連付けが削除されます。これにより、移行時にポリシーのないリソースが設定されることがなくなります。

gcloud compute firewall-policies associations create \
    --firewall-policy POLICY_NAME \
    --organization ORG_ID \
    [ --folder FOLDER_ID ] \
    [ --name ASSOCIATION_NAME ] \
    [ --replace-association-on-target ]

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

  • POLICY_NAME: ポリシーの略称またはシステムによって生成された名前
  • ORG_ID: 組織の ID
  • FOLDER_ID: ポリシーをフォルダに関連付ける場合は、ここで指定します。ポリシーを組織レベルに関連付ける場合は省略します。
  • ASSOCIATION_NAME: 関連付けのオプションの名前。指定しない場合、名前は「organization ORG_ID」または「folder FOLDER_ID」に設定されます。

リソース間でポリシーを移動する

ポリシーを移動すると、ポリシーの親のみが変更されます。ポリシーの親を変更すると、ポリシーでルールを作成して更新できる IAM プリンシパルと、将来の関連付けを作成できる IAM プリンシパルが変更される可能性があります。

ポリシーを移動しても、既存のポリシーの関連付けやポリシー内のルールの評価は変更されません。

コンソール

この手順では Google Cloud CLI を使用します。

gcloud

次のコマンドを実行して、階層型ファイアウォール ポリシーを組織に移動します。

gcloud compute firewall-policies move POLICY_NAME \
    --organization ORG_ID

次のコマンドを実行して、階層型ファイアウォール ポリシーを組織内のフォルダに移動します。

gcloud compute firewall-policies move POLICY_NAME \
    --folder FOLDER_ID

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

  • POLICY_NAME: 移動するポリシーの略称またはシステムによって生成された名前
  • ORG_ID: ポリシーの移動先の組織 ID
  • FOLDER_ID: ポリシーの移動先のフォルダ ID

ポリシーの説明を更新する

更新できるポリシー フィールドは [説明] フィールドのみです。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. ポリシーをクリックします。

  4. [編集] をクリックします。

  5. 説明を変更します。

  6. [保存] をクリックします。

gcloud

gcloud compute firewall-policies update POLICY_NAME \
    --description DESCRIPTION \
    --organization ORG_ID

リスト型ポリシー

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

    組織の場合は、[この組織に関連付けられているファイアウォール ポリシー] セクションに関連付けられているポリシーが表示されます。[この組織内にあるファイアウォール ポリシー] セクションには、組織が所有するポリシーが一覧表示されます。

    フォルダの場合は、[このフォルダに関連付けられている、またはこのフォルダに継承されているファイアウォール ポリシー] セクションに、フォルダに関連付けられているポリシーまたは継承されているポリシーが表示されます。[このフォルダ内にあるファイアウォール ポリシー] セクションには、フォルダによって所有されているポリシーが一覧表示されます。

gcloud

gcloud compute firewall-policies list \
    [--organization ORG_ID | --folder FOLDER_ID]

ポリシーの説明を取得する

ポリシー ルールや関連するルール属性など、階層型ファイアウォール ポリシーの詳細を表示できます。これらのルール属性はすべて、ルール属性の割り当ての一部としてカウントされます。詳細については、ファイアウォール ポリシーごとの表の「階層型ファイアウォール ポリシーごとのルール属性」をご覧ください。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. ポリシーをクリックします。

gcloud

gcloud compute firewall-policies describe POLICY_NAME \
    --organization ORG_ID

ポリシーを削除する

階層型ファイアウォール ポリシーを削除する前に、すべての関連付けを削除する必要があります。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. 削除するポリシーをクリックします。

  4. [関連付け] タブをクリックします。

  5. すべての関連付けを選択します。

  6. [関連付けを削除] をクリックします。

  7. すべての関連付けを削除したら、[削除] をクリックします。

gcloud

ポリシーを削除するには、次のコマンドを使用します。

gcloud compute firewall-policies delete POLICY_NAME \
    --organization ORG_ID

リソースの関連付けを一覧表示する

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. 選択したリソース(組織またはフォルダ)について、関連するポリシーと継承されたポリシーのリストが表示されます。

gcloud

gcloud compute firewall-policies associations list \
    [--organization ORG_ID | --folder FOLDER_ID]

関連付けを削除する

組織またはフォルダに関連付けられている階層型ファイアウォール ポリシーを変更する必要がある場合は、既存の関連付けられたポリシーを削除するのではなく、新しいポリシーを関連付けることをおすすめします。新しいポリシーを 1 つのステップで関連付けることができるため、階層型ファイアウォール ポリシーが常に組織またはフォルダに関連付けられます。

階層型ファイアウォール ポリシーと組織またはフォルダの関連付けを削除するには、このセクションで説明する手順に沿って操作します。階層型ファイアウォール ポリシーのルールは、関連付けが削除された後の新しい接続には適用されません。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. ポリシーをクリックします。

  4. [関連付け] タブをクリックします。

  5. 削除する関連付けを選択します。

  6. [関連付けを削除] をクリックします。

gcloud

gcloud compute firewall-policies associations delete ASSOCIATION_NAME \
    --firewall-policy POLICY_NAME \
    --organization ORG_ID

ファイアウォール ポリシー ルールのタスク

このセクションでは、階層型ファイアウォール ポリシー ルールを作成して管理する方法について説明します。

VM ターゲットの上り(内向き)ルールを作成する

このセクションでは、Compute Engine インスタンスのネットワーク インターフェースに適用される上り(内向き)ルールを作成する方法について説明します。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタのリストで、階層型ファイアウォール ポリシーを含む組織またはフォルダを選択します。

  3. 必要に応じて、[階層インデックス] セクションで子フォルダを選択します。

  4. [ファイアウォール ポリシー] セクションで、ルールを作成する階層型ファイアウォール ポリシーの名前をクリックします。

  5. [ファイアウォール ルール] セクションで、[ファイアウォール ルールを作成] をクリックし、次の構成パラメータを指定します。

    1. 優先度: ルールの数値評価順序。

      ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。優先度はルールごとに一意である必要があります。後で既存のルールの間に新しいルールを作成できるように、ルール優先度の値は 1 より大きい差で区切ることをおすすめします(100200300 など)。

    2. 説明: 説明を入力します(省略可)。

    3. トラフィックの方向: [上り(内向き)] を選択します。

    4. 一致したときのアクション: 次のいずれかを選択します。

      • セキュリティ プロファイル グループを適用: 選択した目的に基づいて、パケットをファイアウォール エンドポイントまたはインターセプト エンドポイント グループに送信します。
        • パケットを Cloud NGFW ファイアウォール エンドポイントに送信するには、[Cloud NGFW Enterprise] を選択し、[セキュリティ プロファイル グループ] を選択します。パケットの TLS 検査を有効にするには、[TLS インスペクションを有効にする] を選択します。
        • インバンド統合のためにパケットを Network Security Integration 傍受エンドポイント グループに送信するには、[NSI インバンド] を選択し、[セキュリティ プロファイル グループ] を選択します。

    5. ログ: このルールのファイアウォール ルール ロギングを有効にするには [オン] を選択し、無効にするには [オフ] を選択します。

    6. ターゲット ネットワーク: 特定の VPC ネットワーク内のターゲットにファイアウォール ポリシーを適用する場合は、[ネットワークを追加] をクリックし、[プロジェクト] と [ネットワーク] を選択します。

    7. ターゲット: 次のいずれかを選択します。

      • すべてに適用: Cloud NGFW は、最も広範なインスタンス ターゲットを使用します。
      • サービス アカウント: 最も広範なインスタンス ターゲットを、[ターゲット サービス アカウント] で指定したサービス アカウントを使用する VM インスタンスのネットワーク インターフェースに絞り込みます。
      • セキュアタグ: 最も広範なインスタンス ターゲットを、指定したセキュアタグ値の少なくとも 1 つにバインドされている VM インスタンスのネットワーク インターフェースに絞り込みます。[タグのスコープを選択] をクリックし、一致するタグ値を含む組織またはプロジェクトを選択します。タグ値を追加するには、[タグを追加] をクリックします。

    8. ソース ネットワーク タイプ: ネットワーク タイプを指定します。

      • ネットワーク タイプでインバウンド トラフィックのフィルタリングをスキップするには、[すべてのネットワーク タイプ] を選択します。
      • 特定のネットワーク タイプへの上り(内向き)トラフィックをフィルタするには、[特定のネットワーク タイプ] を選択し、ネットワーク タイプを選択します。

    9. ソースフィルタ: 追加のソース パラメータを指定します。一部のソース パラメータは同時に使用できません。また、選択したソース ネットワーク タイプによって、使用できるソース パラメータが制限されます。詳細については、上り(内向き)ルールの送信元上り(内向き)ルールの送信元の組み合わせをご覧ください。

      • 送信元 IPv4 の範囲で上り(内向き)トラフィックをフィルタするには、[IPv4] を選択し、[IP 範囲] フィールドに CIDR ブロックを入力します。任意の IPv4 送信元の場合は、0.0.0.0/0 を使用します。
      • 送信元 IPv6 の範囲で上り(内向き)トラフィックをフィルタするには、[IPv6] を選択し、CIDR ブロックを [IPv6 範囲] フィールドに入力します。任意の IPv6 送信元の場合は、::/0 を使用します。
      • 送信元セキュアタグの値でインバウンド トラフィックをフィルタするには、[セキュアタグ] セクションで [タグのスコープを選択] を選択します。次に、タグキーとタグ値を指定します。タグ値を追加するには、[タグを追加] をクリックします。
      • 送信元 FQDN でインバウンド トラフィックをフィルタするには、[FQDN] フィールドに FQDN を入力します。詳細については、FQDN オブジェクトをご覧ください。
      • 送信元位置情報で上り(内向き)トラフィックをフィルタするには、[位置情報] フィールドで 1 つ以上のロケーションを選択します。詳細については、位置情報オブジェクトをご覧ください。
      • 送信元アドレス グループでインバウンド トラフィックをフィルタするには、[アドレス グループ] フィールドから 1 つ以上のアドレス グループを選択します。詳細については、ファイアウォール ポリシーのアドレス グループをご覧ください。
      • 送信元 Google 脅威インテリジェンス リストでインバウンド トラフィックをフィルタするには、[Google Cloud Threat Intelligence] フィールドで 1 つ以上の Google 脅威インテリジェンス リストを選択します。詳細については、ファイアウォール ポリシールールの Google 脅威インテリジェンスをご覧ください。

    10. 宛先: オプションの宛先パラメータを指定します。詳細については、上り(内向き)ルールの送信先をご覧ください。

      • 宛先 IP アドレスによるインバウンド トラフィックのフィルタリングをスキップするには、[なし] を選択します。
      • 宛先 IP アドレスでインバウンド トラフィックをフィルタするには、[IPv4] または [IPv6] を選択し、送信元 IPv4 範囲または送信元 IPv6 範囲に使用される形式と同じ形式で 1 つ以上の CIDR を入力します。

    11. プロトコルとポート: ルールと一致するトラフィックのプロトコルと宛先ポートを指定します。詳細については、プロトコルとポートをご覧ください。

    12. 適用: ファイアウォール ルールを適用するかどうかを指定します。

      • 有効: ルールを作成し、新しい接続にルールの適用を開始します。
      • 無効: ルールを作成しますが、新しい接続にルールを適用しません。
  6. [作成] をクリックします。

gcloud

gcloud compute firewall-policies rules create PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization=ORG_ID | --folder=FOLDER_ID \
    --description=DESCRIPTION \
    --direction=INGRESS \
    --action=ACTION \
    [--enable-logging | --no-enable-logging] \
    [--disabled | --no-disabled] \
    [--target-resources=TARGET_NETWORKS] \
    [--target-secure-tags=TARGET_SECURE_TAGS] \
    [--target-service-accounts=TARGET_SERVICE_ACCOUNTS] \ [--layer4-configs=LAYER_4_CONFIGS] \ [--src-network-type=SRC_NETWORK_TYPE] \
    [--src-networks=SRC_VPC_NETWORKS] \ [--src-ip-ranges=SRC_IP_RANGES] \
    [--src-address-groups=SRC_ADDRESS_GROUPS] \
    [--src-fqdns=SRC_DOMAIN_NAMES] \
    [--src-secure-tags=SRC_SECURE_TAGS] \
    [--src-region-codes=SRC_COUNTRY_CODES] \
    [--src-threat-intelligence=SRC_THREAT_LIST_NAMES] \ [--dest-ip-ranges=DEST_IP_RANGES]

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

  • PRIORITY: ポリシー内のルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。優先度はルールごとに一意である必要があります。後で既存のルールの間に新しいルールを作成できるように、ルールの優先度の値は 1 より大きい差で区切ることをおすすめします(100200300 など)。
  • POLICY_NAME: ルールを作成する階層型ファイアウォール ポリシーの名前。
  • ORG_ID: 親が組織の場合、階層型ファイアウォール ポリシーを含む組織 ID。
  • FOLDER_ID: 親がフォルダの場合、階層型ファイアウォール ポリシーを含むフォルダ ID。
  • DESCRIPTION: 新しいルールの説明(省略可)。
  • ACTION: 次のいずれかのアクションを指定します。

    • apply_security_profile_group: パケットをファイアウォール エンドポイントまたはインターセプト エンドポイント グループに送信します。
      • アクションが apply_security_profile_group の場合は、--security-profile-group SECURITY_PROFILE_GROUP を含める必要があります。ここで、SECURITY_PROFILE_GROUPセキュリティ プロファイル グループの名前です。
      • セキュリティ プロファイル グループのセキュリティ プロファイルは、インバンド統合のために Cloud NGFW ファイアウォール エンドポイントまたは Network Security Integration 傍受エンドポイント グループのいずれかを参照できます。
      • セキュリティ プロファイル グループのセキュリティ プロファイルが Cloud NGFW ファイアウォール エンドポイントを参照している場合は、--tls-inspect または --no-tls-inspect を含めて、TLS インスペクションを有効または無効にします。
  • --enable-logging フラグと --no-enable-logging フラグは、ファイアウォール ルール ロギングを有効または無効にします。
  • --disabled フラグと --no-disabled フラグは、ルールが無効(適用されない)か有効(適用される)かを制御します。
  • ターゲットを指定します。

    • --target-resources--target-secure-tags--target-service-accounts の各フラグを省略すると、Cloud NGFW は最も広範なインスタンス ターゲットを使用します。
    • TARGET_NETWORKS: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME 形式のネットワーク リソース URL で指定された VPC ネットワークのカンマ区切りリスト。--target-resources フラグは単独で使用することも、他の 1 つのターゲット フラグと組み合わせて使用することもできます。詳細については、特定のターゲットの組み合わせをご覧ください。
    • TARGET_SECURE_TAGS: 最も広範なインスタンス ターゲットを、少なくとも 1 つのセキュアタグ値にバインドされている VM インスタンスのネットワーク インターフェースに絞り込むセキュアタグ値のカンマ区切りリスト。
    • TARGET_SERVICE_ACCOUNTS: サービス アカウントのカンマ区切りのリスト。最も広範なインスタンス ターゲットを、いずれかのサービス アカウントを使用する VM インスタンスのネットワーク インターフェースに絞り込みます。
  • LAYER_4_CONFIGS: レイヤ 4 構成のカンマ区切りリスト。各レイヤ 4 構成は次のいずれかになります。
    • 宛先ポートのない IP プロトコル名(tcp)または IANA IP プロトコル番号(17)。
    • IP プロトコル名と宛先ポートをコロン(tcp:80)で区切ったもの。
    • IP プロトコル名と宛先ポートの範囲をコロンで区切り、宛先ポートの開始と終了をハイフンで区切ります(tcp:5000-6000)。詳細については、プロトコルとポートをご覧ください。
  • 上り(内向き)ルールの送信元を指定します。詳細については、上り(内向き)ルールの送信元の組み合わせをご覧ください。

    • SRC_NETWORK_TYPE: 別のサポートされているソース パラメータと組み合わせて使用し、ソースの組み合わせを生成するソース ネットワーク タイプを定義します。--target-type=INSTANCES の有効な値は、INTERNETNON_INTERNETVPC_NETWORKSINTRA_VPC です。詳細については、ネットワーク タイプをご覧ください。
    • SRC_VPC_NETWORKS: URL 識別子で指定された VPC ネットワークのカンマ区切りリスト。このフラグは、--src-network-typeVPC_NETWORKS の場合にのみ指定します。
    • SRC_IP_RANGES: CIDR 形式の IP アドレス範囲のカンマ区切りリスト。リスト内の範囲は、すべて IPv4 CIDR または IPv6 CIDR のいずれかである必要があります。両方を組み合わせることはできません。
    • SRC_ADDRESS_GROUPS: 一意の URL 識別子で指定されたアドレス グループのカンマ区切りリスト。リスト内のアドレス グループには、すべての IPv4 アドレスまたはすべての IPv6 アドレスを含める必要があります。両方を組み合わせることはできません。
    • SRC_DOMAIN_NAMES: ドメイン名の形式で指定された FQDN オブジェクトのカンマ区切りリスト。
    • SRC_SECURE_TAGS: タグのカンマ区切りリスト。--src-network-typeINTERNET の場合、--src-secure-tags フラグは使用できません。
    • SRC_COUNTRY_CODES: 2 文字の国コードのカンマ区切りリスト。詳しくは、位置情報オブジェクトをご覧ください。--src-network-typeNON_INTERNETVPC_NETWORKSINTRA_VPC の場合、--src-region-codes フラグは使用できません。
    • SRC_THREAT_LIST_NAMES: Google Threat Intelligence リストの名前のカンマ区切りのリスト。詳細については、ファイアウォール ポリシールールの Google 脅威インテリジェンスをご覧ください。--src-network-typeNON_INTERNETVPC_NETWORKSINTRA_VPC の場合、--src-threat-intelligence フラグは使用できません。
  • 必要に応じて、上り(内向き)ルールの宛先を指定します。

    • DEST_IP_RANGES: CIDR 形式の IP アドレス範囲のカンマ区切りリスト。リスト内の範囲は、すべて IPv4 CIDR または IPv6 CIDR のいずれかである必要があります。両方を組み合わせることはできません。

VM ターゲットの下り(外向き)ルールを作成する

次の手順は、下り(外向き)ルールを作成する方法を示しています。下り(外向き)ルールは、Compute Engine インスタンスのネットワーク インターフェースであるターゲットにのみ適用されます。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタのリストで、階層型ファイアウォール ポリシーを含む組織またはフォルダを選択します。

  3. 必要に応じて、[階層インデックス] セクションで子フォルダを選択します。

  4. [ファイアウォール ポリシー] セクションで、ルールを作成する階層型ファイアウォール ポリシーの名前をクリックします。

  5. [ファイアウォール ルール] セクションで、[ファイアウォール ルールを作成] をクリックし、次の構成パラメータを指定します。

    1. 優先度: ルールの数値評価順序。

      ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。優先度はルールごとに一意である必要があります。後で既存のルールの間に新しいルールを作成できるように、ルール優先度の値は 1 より大きい差で区切ることをおすすめします(100200300 など)。

    2. 説明: 説明を入力します(省略可)。

    3. トラフィックの方向: [下り(外向き)] を選択します。

    4. 一致したときのアクション: 次のいずれかを選択します。

      • セキュリティ プロファイル グループを適用: 選択した目的に基づいて、パケットをファイアウォール エンドポイントまたはインターセプト エンドポイント グループに送信します。
        • パケットを Cloud NGFW ファイアウォール エンドポイントに送信するには、[Cloud NGFW Enterprise] を選択し、[セキュリティ プロファイル グループ] を選択します。パケットの TLS 検査を有効にするには、[TLS インスペクションを有効にする] を選択します。
        • インバンド統合のためにパケットを Network Security Integration 傍受エンドポイント グループに送信するには、[NSI インバンド] を選択し、[セキュリティ プロファイル グループ] を選択します。

    5. ログ: このルールのファイアウォール ルール ロギングを有効にするには [オン] を選択し、無効にするには [オフ] を選択します。

    6. ターゲット ネットワーク: 特定の VPC ネットワーク内のターゲットにファイアウォール ポリシーを適用する場合は、[ネットワークを追加] をクリックし、[プロジェクト] と [ネットワーク] を選択します。

    7. ターゲット: 次のいずれかを選択します。

      • すべてに適用: Cloud NGFW は、最も広範なインスタンス ターゲットを使用します。
      • サービス アカウント: 最も広範なインスタンス ターゲットを、[ターゲット サービス アカウント] で指定したサービス アカウントを使用する VM インスタンスのネットワーク インターフェースに絞り込みます。
      • セキュアタグ: 最も広範なインスタンス ターゲットを、指定したセキュアタグ値の少なくとも 1 つにバインドされている VM インスタンスのネットワーク インターフェースに絞り込みます。[タグのスコープを選択] をクリックし、一致するタグ値を含む組織またはプロジェクトを選択します。タグ値を追加するには、[タグを追加] をクリックします。

    8. 宛先ネットワーク タイプ: ネットワーク タイプを指定します。

    9. 宛先フィルタ: 追加の宛先パラメータを指定します。一部の宛先パラメータは併用できません。また、宛先ネットワーク タイプを選択すると、使用できる宛先フィルタが制限されます。詳細については、下り(外向き)ルールの送信先下り(外向き)ルールの送信先の組み合わせをご覧ください。

      • 送信トラフィックを送信先 IPv4 範囲でフィルタするには、[IPv4] を選択し、[IP 範囲] フィールドに CIDR ブロックを入力します。任意の IPv4 送信先の場合は、0.0.0.0/0 を使用します。
      • 送信トラフィックを送信先 IPv6 範囲でフィルタするには、[IPv6] を選択し、CIDR ブロックを [IPv6 範囲] フィールドに入力します。任意の IPv6 送信先の場合は、::/0 を使用します。
      • 送信トラフィックを送信先 FQDN でフィルタするには、[FQDN] フィールドに FQDN を入力します。詳細については、FQDN オブジェクトをご覧ください。
      • 送信トラフィックを送信先位置情報でフィルタするには、[位置情報] フィールドで 1 つ以上の場所を選択します。詳しくは、位置情報オブジェクトをご覧ください。
      • 宛先アドレス グループで送信トラフィックをフィルタするには、[アドレス グループ] フィールドから 1 つ以上のアドレス グループを選択します。詳細については、ファイアウォール ポリシーのアドレス グループをご覧ください。
      • 宛先の Google Threat Intelligence リストで送信トラフィックをフィルタするには、[Google Cloud Threat Intelligence] フィールドで 1 つ以上の Google Threat Intelligence リストを選択します。詳細については、ファイアウォール ポリシー ルールの Google Threat Intelligence をご覧ください。

    10. ソース: オプションのソース パラメータを指定します。詳細については、下り(外向き)ルールの送信元をご覧ください。

      • 送信元 IP アドレスによる送信トラフィックのフィルタリングをスキップするには、[なし] を選択します。
      • 送信元 IP アドレスで送信トラフィックをフィルタするには、[IPv4] または [IPv6] を選択し、送信先 IPv4 範囲または送信先 IPv6 範囲に使用したのと同じ形式で 1 つ以上の CIDR を入力します。

    11. プロトコルとポート: ルールと一致するトラフィックのプロトコルと宛先ポートを指定します。詳細については、プロトコルとポートをご覧ください。

    12. 適用: ファイアウォール ルールを適用するかどうかを指定します。

      • 有効: ルールを作成し、新しい接続にルールの適用を開始します。
      • 無効: ルールを作成しますが、新しい接続にルールを適用しません。
  6. [作成] をクリックします。

gcloud

gcloud compute firewall-policies rules create PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization=ORG_ID | --folder=FOLDER_ID \
    --description=DESCRIPTION \
    --direction=EGRESS \
    --action=ACTION \
    [--enable-logging | --no-enable-logging] \
    [--disabled | --no-disabled] \
    [--target-resources=TARGET_NETWORKS] \
    [--target-secure-tags=TARGET_SECURE_TAGS] \
    [--target-service-accounts=TARGET_SERVICE_ACCOUNTS] \ [--layer4-configs=LAYER_4_CONFIGS] \ [--dest-network-type=DEST_NETWORK_TYPE] \ [--dest-ip-ranges=DEST_IP_RANGES] \
    [--dest-address-groups=DEST_ADDRESS_GROUPS] \
    [--dest-fqdns=DEST_DOMAIN_NAMES] \
    [--dest-region-codes=DEST_COUNTRY_CODES] \
    [--dest-threat-intelligence=DEST_THREAT_LIST_NAMES] \ [--src-ip-ranges=SRC_IP_RANGES]

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

  • PRIORITY: ポリシー内のルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。優先度はルールごとに一意である必要があります。後で既存のルールの間に新しいルールを作成できるように、ルールの優先度の値は 1 より大きい差で区切ることをおすすめします(100200300 など)。
  • POLICY_NAME: ルールを作成する階層型ファイアウォール ポリシーの名前。
  • ORG_ID: 親が組織の場合、階層型ファイアウォール ポリシーを含む組織 ID。
  • FOLDER_ID: 親がフォルダの場合、階層型ファイアウォール ポリシーを含むフォルダ ID。
  • DESCRIPTION: 新しいルールの説明(省略可)。
  • ACTION: 次のいずれかのアクションを指定します。

    • apply_security_profile_group: パケットをファイアウォール エンドポイントまたはインターセプト エンドポイント グループに送信します。
      • アクションが apply_security_profile_group の場合は、--security-profile-group SECURITY_PROFILE_GROUP を含める必要があります。ここで、SECURITY_PROFILE_GROUPセキュリティ プロファイル グループの名前です。
      • セキュリティ プロファイル グループのセキュリティ プロファイルは、インバンド統合のために Cloud NGFW ファイアウォール エンドポイントまたは Network Security Integration 傍受エンドポイント グループのいずれかを参照できます。
      • セキュリティ プロファイル グループのセキュリティ プロファイルが Cloud NGFW ファイアウォール エンドポイントを参照している場合は、--tls-inspect または --no-tls-inspect を含めて、TLS インスペクションを有効または無効にします。
  • --enable-logging フラグと --no-enable-logging フラグは、ファイアウォール ルール ロギングを有効または無効にします。
  • --disabled フラグと --no-disabled フラグは、ルールが無効(適用されない)か有効(適用される)かを制御します。
  • ターゲットを指定します。

    • --target-resources--target-secure-tags--target-service-accounts の各フラグを省略すると、Cloud NGFW は最も広範なインスタンス ターゲットを使用します。
    • TARGET_NETWORKS: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME 形式のネットワーク リソース URL で指定された VPC ネットワークのカンマ区切りリスト。--target-resources フラグは単独で使用することも、他の 1 つのターゲット フラグと組み合わせて使用することもできます。詳細については、特定のターゲットの組み合わせをご覧ください。
    • TARGET_SECURE_TAGS: 最も広範なインスタンス ターゲットを、少なくとも 1 つのセキュアタグ値にバインドされている VM インスタンスのネットワーク インターフェースに絞り込むセキュアタグ値のカンマ区切りリスト。
    • TARGET_SERVICE_ACCOUNTS: サービス アカウントのカンマ区切りのリスト。最も広範なインスタンス ターゲットを、いずれかのサービス アカウントを使用する VM インスタンスのネットワーク インターフェースに絞り込みます。
  • LAYER_4_CONFIGS: レイヤ 4 構成のカンマ区切りリスト。各レイヤ 4 構成は次のいずれかになります。
    • 宛先ポートのない IP プロトコル名(tcp)または IANA IP プロトコル番号(17)。
    • IP プロトコル名と宛先ポートをコロン(tcp:80)で区切ったもの。
    • IP プロトコル名と宛先ポートの範囲をコロンで区切り、宛先ポートの開始と終了をハイフンで区切ります(tcp:5000-6000)。詳細については、プロトコルとポートをご覧ください。
  • 下り(外向き)ルールの送信先を指定します。詳細については、下り(外向き)ルールの送信先の組み合わせをご覧ください。

    • DEST_NETWORK_TYPE: 別のサポートされている宛先パラメータと組み合わせて使用し、宛先の組み合わせを生成する宛先ネットワーク タイプを定義します。有効な値は INTERNETNON_INTERNET です。詳細については、ネットワーク タイプをご覧ください。
    • DEST_IP_RANGES: CIDR 形式の IP アドレス範囲のカンマ区切りリスト。リスト内の範囲は、すべて IPv4 CIDR または IPv6 CIDR のいずれかである必要があります。両方を組み合わせることはできません。
    • DEST_ADDRESS_GROUPS: 一意の URL 識別子で指定されたアドレス グループのカンマ区切りリスト。
    • DEST_DOMAIN_NAMES: ドメイン名の形式で指定された FQDN オブジェクトのカンマ区切りリスト。
    • DEST_COUNTRY_CODES: 2 文字の国コードのカンマ区切りリスト。詳細については、位置情報オブジェクトをご覧ください。
    • DEST_THREAT_LIST_NAMES: Google Threat Intelligence リストの名前のカンマ区切りのリスト。詳細については、ファイアウォール ポリシールールの Google Threat Intelligence をご覧ください。
  • 必要に応じて、下り(外向き)ルールの送信元を指定します。

    • SRC_IP_RANGES: CIDR 形式の IP アドレス範囲のカンマ区切りリスト。リスト内の範囲は、すべて IPv4 CIDR または IPv6 CIDR のいずれかである必要があります。両方を組み合わせることはできません。

ポリシー内のすべてのルールを一覧表示する

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. ポリシーをクリックします。ルールが [ファイアウォール ルール] タブに表示されます。

gcloud

gcloud compute firewall-policies list-rules POLICY_NAME \
    --organization=ORG_ID

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

  • POLICY_NAME: ルールを含む階層型ファイアウォール ポリシーの名前。
  • ORG_ID: 階層型ファイアウォール ポリシーを含む組織 ID。

ルールの説明を取得する

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. ポリシーをクリックします。

  4. ルールの優先度をクリックします。

gcloud

gcloud compute firewall-policies rules describe PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization=ORG_ID

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

  • POLICY_NAME: 新しいルールを含む階層型ファイアウォール ポリシーの名前。
  • ORG_ID: 階層型ファイアウォール ポリシーを含む組織 ID。

ルールを更新する

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、階層型ファイアウォール ポリシーを含む組織またはフォルダを選択します。

  3. 更新するルールを含む階層型ファイアウォール ポリシーの名前をクリックします。

  4. ルールの優先度をクリックします。

  5. [編集] をクリックします。

  6. 変更するファイアウォール ルールのフィールドを変更します。各フィールドの説明については、次のいずれかをご覧ください。

  7. [保存] をクリックします。

gcloud

gcloud compute firewall-policies rules update PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization ORG_ID \
    [...other flags that you want to modify...]

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

  • PRIORITY: ルールを一意に識別する優先度番号。
  • POLICY_NAME: ルールを含むポリシーの名前。
  • ORG_ID: 階層型ファイアウォール ポリシーを含む組織 ID。

変更するフラグを指定します。フラグの説明については、次のいずれかをご覧ください。

ポリシー間でルールのクローンを作成する

ターゲット ポリシーからすべてのルールを削除し、ソースポリシーのルールで置き換えます。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. ルールのコピー元ポリシーをクリックします。

  4. 画面の上部の [クローン] をクリックします。

  5. ターゲット ポリシーの名前を指定します。

  6. 新しいポリシーをすぐに関連付ける場合は、[続行] をクリックして [ポリシーとリソースの関連付け] セクションを開きます。

  7. [クローン] をクリックします。

gcloud

gcloud compute firewall-policies clone-rules POLICY_NAME \
    --source-firewall-policy=SOURCE_POLICY \
    --organization=ORG_ID \

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

  • POLICY_NAME: コピーされたルールを受け取るポリシー
  • SOURCE_POLICY: ルールのコピー元のポリシー。リソースの URL で指定する必要があります
  • ORG_ID: 階層型ファイアウォール ポリシーを含む組織 ID。

ルールを削除する

ポリシーからルールを削除すると、ルールのターゲットとの間の新しい接続にルールが適用されなくなります。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. プロジェクト セレクタ メニューで、組織 ID またはポリシーを含むフォルダを選択します。

  3. ポリシーをクリックします。

  4. 削除するルールを選択します。

  5. [削除] をクリックします。

gcloud

gcloud compute firewall-policies rules delete PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization=ORG_ID

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

  • PRIORITY: ポリシーから削除するルールの優先度。
  • POLICY_NAME: ルールを含む階層型ファイアウォール ポリシーの名前。
  • ORG_ID: 階層型ファイアウォール ポリシーを含む組織 ID。

ネットワークで有効なファイアウォール ルールを取得する

VPC ネットワークのすべてのリージョンに適用されるすべての階層型ファイアウォール ポリシー ルール、VPC ファイアウォール ルール、グローバル ネットワーク ファイアウォール ポリシー ルールを表示できます。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. ファイアウォール ポリシー ルールを表示するネットワークをクリックします。

  3. [ファイアウォール] をクリックします。

  4. ファイアウォール ポリシーを開いて、このネットワークに適用されるルールを表示します。

gcloud

gcloud compute networks get-effective-firewalls NETWORK_NAME

NETWORK_NAME は、有効なルールを表示するネットワークに置き換えます。

また、ネットワークの有効なファイアウォール ルールは [ファイアウォール] ページでも確認できます。

コンソール

  1. Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. ファイアウォール ポリシーは、[このプロジェクトによって継承されるファイアウォール ポリシー] セクションに表示されます。

  3. ファイアウォール ポリシーをクリックして、このネットワークに適用されるルールを表示します。

VM インターフェースで有効なファイアウォール ルールを取得する

Compute Engine VM のネットワーク インターフェースに適用されるすべてのファイアウォール ルール(適用可能なすべてのファイアウォール ポリシーと VPC ファイアウォール ルールから)を表示できます。

コンソール

  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロジェクト セレクタ メニューで、VM を含むプロジェクトを選択します。

  3. VM をクリックします。

  4. [ネットワーク インターフェース] で、インターフェースをクリックします。

  5. 有効なファイアウォール ルールは、[ネットワーク構成分析] セクションの [ファイアウォール] タブに表示されます。

gcloud

gcloud compute instances network-interfaces get-effective-firewalls INSTANCE_NAME \
    [--network-interface INTERFACE] \
    [--zone ZONE]

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

  • INSTANCE_NAME: 有効なルールを表示する VM。インターフェースが指定されていない場合、コマンドはプライマリ インターフェース(nic0)のルールを返します。
  • INTERFACE: 有効なルールを表示する VM インターフェース。デフォルト値は nic0 です。
  • ZONE: VM のゾーン。目的のゾーンがすでにデフォルトとして選択されている場合、この行は省略可能です。

トラブルシューティング

このセクションでは、表示される可能性があるエラー メッセージについて説明します。

  • FirewallPolicy may not specify a name. One will be provided.

    ポリシー名を指定できません。階層型ファイアウォール ポリシーの「名前」は、ポリシーの作成時に Google Cloud によって生成される数値 ID です。ただし、わかりやすい略称を指定することもできます。これは、多くのコンテキストでエイリアスとして機能します。

  • FirewallPolicy may not specify associations on creation.

    関連付けは、階層のファイアウォール ポリシーの作成後にのみ作成できます。

  • Can't move firewall policy to a different organization.

    階層型ファイアウォール ポリシーの移動は、同じ組織内で行われる必要があります。

  • The attachment already has an association. Please set the option of replacing existing association to true if you want to replace the old one.

    リソースがすでに階層型ファイアウォール ポリシーに接続されている場合、既存の関連付けを置き換えるオプションが true に設定されていない限り、接続のオペレーションは失敗します。

  • Can't have rules with the same priorities.

    ルールの優先度は、階層型ファイアウォール ポリシー内で一意にする必要があります。

  • Direction must be specified for a firewall policy rule.

    REST リクエストを直接送信して階層型ファイアウォール ポリシー ルールを作成する場合は、ルールの方向を指定する必要があります。Google Cloud CLI を使用していて、方向を指定しない場合、デフォルトは INGRESS です。

  • Can't specify enable_logging on a goto_next rule.

    goto_next アクションのルールでは、ファイアウォールのロギングは許可されません。goto_next アクションがファイアウォール ポリシーの評価順序を表すために使用され、「許可」や「拒否」などのターミナル アクションではないためです。

  • Must specify at least one destination on Firewall policy rule.

    ファイアウォール ポリシールールの layer4Configs フラグには、プロトコル、またはプロトコルと宛先ポートの組を 1 つ以上指定する必要があります。

    ファイアウォール ポリシー ルールのトラブルシューティングの詳細については、VPC ファイアウォール ルールのトラブルシューティングをご覧ください。

次のステップ