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

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

制限事項

  • 階層型ファイアウォール ポリシーのルールでは、ターゲットの定義にネットワーク タグを使用することはサポートされていません。代わりに、ターゲット 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

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

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

ルールの作成

階層型ファイアウォール ポリシーのルールは、階層型ファイアウォール ポリシーに作成される必要があります。含まれるポリシーをリソースに関連付けるまで、ルールは有効になりません。

各階層型ファイアウォール ポリシールールには、IPv4 または IPv6 の範囲のいずれかを含めることができます。両方を含めることはできません。

コンソール

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

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

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

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

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

  5. ルール フィールドに、次の内容を入力します。

    1. 優先度: ルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。優先度はルールごとに一意である必要があります。後で既存のルールの間に新しいルールを作成できるように、ルールの優先度の値は 1 より大きい差で区切る(100200300 など)ことをおすすめします。
    2. ログの収集を [オン] または [オフ] に設定します。
    3. [トラフィックの方向] で、このルールが上り(内向き)ルールか下り(外向き)ルールかを指定します。
    4. [一致したときのアクション] で、次のいずれかのオプションを選択します。
      1. 許可: ルールに一致する接続を許可します。
      2. 拒否: ルールに一致する接続を拒否します。
      3. 次に移動: 階層内で 1 つ下のファイアウォール ルールに接続の評価を渡します。
      4. セキュリティ プロファイル グループを適用する: レイヤ 7 検査用に構成されたファイアウォール エンドポイントにパケットを送信します。
        • [セキュリティ プロファイル グループ] リストで、セキュリティ プロファイル グループの名前を選択します。
        • パケットの TLS 検査を有効にするには、[TLS インスペクションを有効にする] を選択します。 VM の各ネットワーク インターフェースに対するルールと対応するアクションの評価方法については、ポリシーとルールの評価順序をご覧ください。
    5. (省略可)[ターゲット ネットワーク] フィールドにネットワークを指定し、特定のネットワークにルールを限定できます。[ネットワークを追加] をクリックし、[プロジェクト] と [ネットワーク] を選択します。1 つのルールに複数のターゲット ネットワークを追加できます。
    6. (省略可)[ターゲット サービス アカウント] フィールドにアカウントを指定することで、特定のサービス アカウントに対するアクセス権で実行されている VM にルールを制限できます。
    7. 省略可: [セキュアタグ] を選択して、ポリシーの上り(内向き)ルールの送信元と、上り(内向き)または下り(外向き)ルールのターゲットを指定できます。詳細については、セキュアタグを作成、管理するをご覧ください。

    8. 上り(内向き)ルールの場合、送信元ネットワーク タイプを指定します。

      • ネットワーク タイプに属する受信トラフィックをフィルタするには、[すべてのネットワーク タイプ] を選択します。
      • 特定のネットワーク タイプに属する受信トラフィックをフィルタするには、[特定のネットワーク タイプ] を選択します。
        • インターネット(INTERNET)ネットワーク タイプに属する受信トラフィックをフィルタするには、[インターネット] を選択します。
        • インターネット以外の(NON-INTERNET)ネットワーク タイプに属する受信トラフィックをフィルタするには、[インターネット以外] を選択します。
        • VPC 内(INTRA_VPC)ネットワーク タイプに属する上り(内向き)トラフィックをフィルタするには、[VPC 内] を選択します。
        • VPC ネットワーク(VPC_NETWORKS)タイプの着信トラフィックをフィルタするには、[VPC ネットワーク] を選択し、次のボタンを使用して 1 つ以上のネットワークを指定します。
          • 現在のプロジェクトを選択: 現在のプロジェクトから 1 つ以上のネットワークを追加できます。
          • ネットワークを手動で入力: プロジェクトとネットワークを手動で入力できます。
          • プロジェクトを選択: ネットワークを選択できるプロジェクトを選択できます。ネットワーク タイプの詳細については、ネットワーク タイプをご覧ください。
    9. 下り(外向き)ルールの場合は、宛先ネットワーク タイプを指定します。

      • 任意のネットワーク タイプに属する送信トラフィックをフィルタするには、[すべてのネットワーク タイプ] を選択します。
      • 特定のネットワーク タイプに属する送信トラフィックをフィルタするには、[特定のネットワーク タイプ] を選択します。
        • インターネット(INTERNET)ネットワーク タイプに属する送信トラフィックをフィルタするには、[インターネット] を選択します。
        • インターネット以外の(NON-INTERNET)ネットワーク タイプに属する送信トラフィックをフィルタするには、[インターネット以外] を選択します。ネットワーク タイプの詳細については、ネットワーク タイプをご覧ください。
    10. 上り(内向き)ルールの場合、[送信元] フィルタを指定します。

      • 送信元 IPv4 の範囲で受信トラフィックをフィルタするには、[IPv4] を選択し、[IP 範囲] フィールドに CIDR ブロックを入力します。任意の IPv4 送信元の場合は、0.0.0.0/0 を使用します。
      • 送信元 IPv6 の範囲で受信トラフィックをフィルタするには、[IPv6] を選択し、CIDR ブロックを [IPv6 範囲] フィールドに入力します。任意の IPv6 送信元の場合は、::/0 を使用します。
    11. 下り(外向き)ルールの場合は、送信先フィルタを指定します。

      • 送信トラフィックを送信先 IPv4 範囲でフィルタするには、[IPv4] を選択し、[IP 範囲] フィールドに CIDR ブロックを入力します。任意の IPv4 送信先の場合は、0.0.0.0/0 を使用します。
      • 送信トラフィックを送信先 IPv6 範囲でフィルタするには、[IPv6] を選択し、CIDR ブロックを [IPv6 範囲] フィールドに入力します。任意の IPv6 送信先の場合は、::/0 を使用します。
    12. (省略可)上り(内向き)ルールを作成する場合は、このルールが適用される送信元 FQDN を指定します。下り(外向き)ルールを作成する場合は、このルールが適用される宛先 FQDN を選択します。ドメイン名オブジェクトの詳細については、FQDN オブジェクトをご覧ください。

    13. 省略可: 上り(内向き)ルールを作成する場合は、このルールが適用される送信元の位置情報を選択します。下り(外向き)ルールを作成する場合は、このルールが適用される宛先の位置情報を選択します。位置情報オブジェクトの詳細については、位置情報オブジェクトをご覧ください。

    14. 省略可: 上り(内向き)ルールを作成する場合は、このルールが適用される送信元アドレス グループを選択します。下り(外向き)ルールを作成する場合は、このルールが適用される宛先アドレス グループを選択します。アドレス グループの詳細については、ファイアウォール ポリシーのアドレス グループをご覧ください。

    15. 省略可: 上り(内向き)ルールを作成する場合は、このルールが適用される送信元の Google Cloud 脅威インテリジェンスのリストを選択します。下り(外向き)ルールを作成する場合は、このルールが適用される宛先の Google Cloud 脅威インテリジェンスのリストを選択します。Google Threat Intelligence の詳細については、ファイアウォール ポリシールールの Google Threat Intelligence をご覧ください。

    16. 省略可: 上り(内向き)ルールの場合、送信先フィルタを指定します。

      • 受信トラフィックを送信先 IPv4 範囲でフィルタするには、[IPv4] を選択し、[IP 範囲] フィールドに CIDR ブロックを入力します。任意の IPv4 送信先の場合は、0.0.0.0/0 を使用します。
      • 受信トラフィックを送信先 IPv6 範囲でフィルタするには、[IPv6 範囲] を選択し、[送信先 IPv6 範囲] フィールドに CIDR ブロックを入力します。任意の IPv6 送信先の場合は、::/0 を使用します。詳細については、上り(内向き)ルールの送信先をご覧ください。
    17. 省略可: 下り(外向き)ルールの場合は、[送信元] フィルタを指定します。

      • 送信元 IPv4 の範囲で送信トラフィックをフィルタするには、[IPv4] を選択し、[IP 範囲] フィールドに CIDR ブロックを入力します。任意の IPv4 送信元の場合は、0.0.0.0/0 を使用します。
      • 送信元 IPv6 の範囲で送信トラフィックをフィルタするには、[IPv6] を選択し、CIDR ブロックを [IPv6 範囲] フィールドに入力します。任意の IPv6 送信元の場合は、::/0 を使用します。詳細については、下り(外向き)ルールの送信元をご覧ください。
    18. [プロトコルとポート] で、すべてのプロトコルとポートにルールを適用することを指定するか、適用するプロトコルと宛先ポートを指定します。

      IPv4 ICMP を指定するには、icmp またはプロトコル番号 1 を使用します。IPv6 ICMP を指定するには、プロトコル番号 58 を使用します。プロトコルの詳細については、プロトコルとポートをご覧ください。

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

  6. [ファイアウォール ルールを作成] をクリックして、別のルールを追加します。

gcloud

上り(内向き)ルールを作成するには、次のコマンドを使用します。

gcloud compute firewall-policies rules create PRIORITY \
    --firewall-policy POLICY_NAME \
    --organization ORG_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-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] \
    [--src-network-type SRC_NETWORK_TYPE] \
    [--src-networks SRC_VPC_NETWORK] \
    [--dest-ip-ranges DEST_IP_RANGES]

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

  • PRIORITY: ポリシー内のルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。優先度はルールごとに一意である必要があります。後で既存のルールの間に新しいルールを作成できるように、ルールの優先度の値は 1 より大きい差で区切ることをおすすめします(100200300 など)。
  • POLICY_NAME: 新しいルールを含む階層型ネットワーク ファイアウォール ポリシーの名前。
  • ORG_ID: 階層型ファイアウォール ポリシーを含む組織 ID。
  • DESCRIPTION: 新しいルールの説明(省略可)
  • ACTION: 次のいずれかのアクションを指定します。
    • allow: ルールに一致する接続を許可します。
    • deny: ルールに一致する接続を拒否します。
    • apply_security_profile_group: レイヤ 7 検査用に構成されたファイアウォール エンドポイントにパケットを透過的に送信します。アクションが apply_security_profile_group の場合:
      • --security-profile-group SECURITY_PROFILE_GROUP を含める必要があります。ここで、SECURITY_PROFILE_GROUP はレイヤ 7 検査に使用されるセキュリティ プロファイル グループの名前です。
      • TLS インスペクションを有効または無効にするには、--tls-inspect または --no-tls-inspect のいずれかを含めます。
    • goto_next: ファイアウォール ルールの評価プロセスの次のステップに進みます。
  • --enable-logging パラメータと --no-enable-logging パラメータは、ファイアウォール ルール ロギングを有効または無効にします。
  • --disabled パラメータと --no-disabled パラメータは、ルールが無効(適用されない)か有効(適用される)かを制御します。
  • ターゲットを指定します。
    • TARGET_NETWORKS: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME 形式のネットワーク リソース URL で指定された VPC ネットワークのカンマ区切りリスト。
    • TARGET_SECURE_TAGS: セキュアタグのカンマ区切りリスト。ターゲットのセキュアタグ値は、組織の目的データを含むセキュアタグキーから取得する必要があります。
    • TARGET_SERVICE_ACCOUNTS: サービス アカウントのカンマ区切りリスト。
    • target-resources--target-secure-tags--target-service-accounts パラメータを省略すると、ルールは最も広範なターゲットに適用されます。
  • LAYER_4_CONFIGS: レイヤ 4 構成のカンマ区切りリスト。各レイヤ 4 構成は次のいずれかになります。
    • 宛先ポートのない IP プロトコル名(tcp)または IANA IP プロトコル番号(17)。
    • IP プロトコル名と宛先ポートをコロン(tcp:80)で区切ったもの。
    • IP プロトコル名と宛先ポートの範囲。コロンで区切り、宛先ポートの開始と終了をダッシュで区切ります(tcp:5000-6000)。詳細については、プロトコルとポートをご覧ください。
  • 上り(内向き)ルールのソースを指定します。
    • 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_NETWORKINTRA_VPC の場合、--src-region-codes パラメータは使用できません。
    • SRC_THREAT_LIST_NAMES: Google Threat Intelligence リストの名前のカンマ区切りリスト。詳細については、ファイアウォール ポリシー ルールの Google 脅威インテリジェンスをご覧ください。--src-network-typeNON_INTERNETVPC_NETWORKINTRA_VPC の場合、--src-threat-intelligence パラメータは使用できません。
    • SRC_NETWORK_TYPE: 特定の宛先の組み合わせを生成するために、サポートされている別の宛先パラメータと組み合わせて使用するソース ネットワーク タイプを定義します。有効な値は INTERNETNON_INTERNETVPC_NETWORKINTRA_VPC です。詳細については、ネットワーク タイプをご覧ください。
    • SRC_VPC_NETWORK: URL 識別子で指定された VPC ネットワークのカンマ区切りリスト。このパラメータは、--src-network-typeVPC_NETWORKS の場合にのみ指定します。
  • 必要に応じて、上り(内向き)ルールの宛先を指定します。
    • DEST_IP_RANGES: CIDR 形式の IP アドレス範囲のカンマ区切りリスト。リスト内の範囲は、すべて IPv4 CIDR または IPv6 CIDR のいずれかである必要があります。両方を組み合わせることはできません。

下り(外向き)ルールを作成するには、次のコマンドを使用します。

gcloud compute firewall-policies rules create PRIORITY \
    --firewall-policy POLICY_NAME \
    --organization ORG_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] \
    [--src-ip-ranges SRC_IP_RANGES] \
    [--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] \
    [--dest-network-type DEST_NETWORK_TYPE]

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

  • PRIORITY: ポリシー内のルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。優先度はルールごとに一意である必要があります。後で既存のルールの間に新しいルールを作成できるように、ルールの優先度の値は 1 より大きい差で区切ることをおすすめします(100200300 など)。
  • POLICY_NAME: 新しいルールを含む階層型ネットワーク ファイアウォール ポリシーの名前。
  • ORG_ID: 階層型ファイアウォール ポリシーを含む組織 ID。
  • DESCRIPTION: 新しいルールの説明(省略可)
  • ACTION: 次のいずれかのアクションを指定します。
    • allow: ルールに一致する接続を許可します。
    • deny: ルールに一致する接続を拒否します。
    • apply_security_profile_group: レイヤ 7 検査用に構成されたファイアウォール エンドポイントにパケットを透過的に送信します。アクションが apply_security_profile_group の場合:
      • --security-profile-group SECURITY_PROFILE_GROUP を含める必要があります。ここで、SECURITY_PROFILE_GROUP はレイヤ 7 検査に使用されるセキュリティ プロファイル グループの名前です。
      • TLS インスペクションを有効または無効にするには、--tls-inspect または --no-tls-inspect のいずれかを含めます。
    • goto_next: ファイアウォール ルールの評価プロセスの次のステップに進みます。
  • --enable-logging パラメータと --no-enable-logging パラメータは、ファイアウォール ルール ロギングを有効または無効にします。
  • --disabled パラメータと --no-disabled パラメータは、ルールが無効(適用されない)か有効(適用される)かを制御します。
  • ターゲットを指定します。
    • TARGET_NETWORKS: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME 形式のネットワーク リソース URL で指定された VPC ネットワークのカンマ区切りリスト。
    • TARGET_SECURE_TAGS: セキュアタグのカンマ区切りリスト。ターゲットのセキュアタグ値は、組織の目的データを含むセキュアタグキーから取得する必要があります。
    • TARGET_SERVICE_ACCOUNTS: サービス アカウントのカンマ区切りリスト。
    • target-resources--target-secure-tags--target-service-accounts パラメータを省略すると、ルールは最も広範なターゲットに適用されます。
  • LAYER_4_CONFIGS: レイヤ 4 構成のカンマ区切りリスト。各レイヤ 4 構成は次のいずれかになります。
    • 宛先ポートのない IP プロトコル名(tcp)または IANA IP プロトコル番号(17)。
    • IP プロトコル名と宛先ポートをコロン(tcp:80)で区切ったもの。
    • IP プロトコル名と宛先ポートの範囲。コロンで区切り、宛先ポートの開始と終了をダッシュで区切ります(tcp:5000-6000)。詳細については、プロトコルとポートをご覧ください。
  • 必要に応じて、下り(外向き)ルールの送信元を指定します。
    • SRC_IP_RANGES: CIDR 形式の IP アドレス範囲のカンマ区切りリスト。リスト内の範囲はすべて IPv4 CIDR または IPv6 CIDR のいずれかである必要があり、両方を組み合わせることはできません。
  • 下り(外向き)ルールの送信先を指定します。
    • 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 をご覧ください。
    • DEST_NETWORK_TYPE: 特定の宛先の組み合わせを生成するために、別のサポートされている宛先パラメータと組み合わせて使用する宛先ネットワーク タイプを定義します。有効な値は INTERNETNON_INTERNET です。詳細については、ネットワーク タイプをご覧ください。

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

コンソール

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

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

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

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

gcloud

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

ルールの説明を取得する

コンソール

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

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

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

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

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

gcloud

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

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

  • PRIORITY: 表示するルールの優先度。各ルールの優先度は異なるため、この設定はルールによって一意に識別されます
  • ORG_ID: 組織の ID
  • POLICY_NAME: ルールが含まれるポリシーの略称またはシステム生成名

ルールを更新する

フィールドの説明については、ルールを作成するをご覧ください。

コンソール

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

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

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

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

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

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

  6. 変更対象のフィールドに修正を加えます。

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

gcloud

gcloud compute firewall-policies rules update RULE_NAME \
    --firewall-policy POLICY_NAME \
    --organization ORG_ID \
    [...fields you want to modify...]

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

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

コンソール

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

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

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

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

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

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

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

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

gcloud

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

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

  • POLICY_NAME: コピーされたルールを受け取るポリシー
  • ORG_ID: 組織の ID
  • SOURCE_POLICY: ルールのコピー元のポリシー。リソースの URL で指定する必要があります

ルールを削除する

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

コンソール

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

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

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

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

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

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

gcloud

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

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

  • PRIORITY: ポリシーから削除するルールの優先度
  • ORG_ID: 組織の ID
  • POLICY_NAME: そのルールを含むポリシー

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

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 not 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 に設定されていない限り、接続のオペレーションは失敗します。

  • Cannot have rules with the same priorities.

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

  • Direction must be specified on firewall policy rule.

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

  • Can not 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 ファイアウォール ルールのトラブルシューティングをご覧ください。

次のステップ