リージョン ネットワークのファイアウォール ポリシーとルールを使用する

このページは、リージョン ネットワーク ファイアウォール ポリシーの概要で説明されているコンセプトを理解していることを前提としています。

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

リージョン ネットワーク ファイアウォール ポリシーを作成する

プロジェクト内の任意の VPC ネットワークにポリシーを作成できます。ポリシーを作成したら、プロジェクト内の任意の VPC ネットワークに関連付けることができます。関連付けが終わると、関連するネットワークの VM に対してポリシーのルールがアクティブになります。

コンソール

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

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

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

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

  4. ポリシーに名前を付けます。

  5. [デプロイのスコープ] で [リージョン] を選択します。このファイアウォール ポリシーを作成するリージョンを選択します。

  6. ポリシーのルールを作成する場合は、[続行] をクリックしてから、[ルールを追加] をクリックします。

    詳細については、ファイアウォール ルールの作成をご覧ください。

  7. ポリシーを VPC ネットワークに関連付けるには、[続行] をクリックしてから [関連付け] をクリックします。

    詳細については、ポリシーと VPC ネットワークの関連付けをご覧ください。

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

gcloud

gcloud compute network-firewall-policies create \
    NETWORK_FIREWALL_POLICY_NAME
    --description DESCRIPTION \
    --region=REGION_NAME

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

  • NETWORK_FIREWALL_POLICY_NAME: ポリシーの名前。
  • DESCRIPTION: ポリシーの説明。
  • REGION_NAME: ポリシーに適用するリージョン。

ポリシーをネットワークに関連付ける

ポリシーをネットワークに関連付けると、そのネットワーク内の VM のポリシールールがアクティブになります。

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。

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

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

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

  6. プロジェクト内のネットワークを選択します。

  7. [関連付け] をクリックします。

gcloud

gcloud compute network-firewall-policies associations create \
    --firewall-policy POLICY_NAME \
    --network NETWORK_NAME \
    --name ASSOCIATION_NAME  \
    --firewall-policy-region=REGION_NAME
    [ --replace-association-on-target true ]

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

  • POLICY_NAME: ポリシーの略称またはシステムによって生成された名前
  • NETWORK_NAME: ネットワークの名前
  • ASSOCIATION_NAME: 関連付けのオプションの名前。指定しない場合、名前は network-NETWORK_NAME に設定されます。
  • REGION_NAME: ポリシーを適用するリージョン

リージョン ネットワーク ファイアウォール ポリシーの情報を取得する

すべてのファイアウォール ルールを含む、ポリシーのすべての詳細を表示できます。また、ポリシー内のすべてのルールにある属性も確認できます。この属性は、ポリシーごとの上限としてカウントされます。

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、リージョン ネットワーク ファイアウォール ポリシーを含むプロジェクトを選択します。

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

gcloud

gcloud compute network-firewall-policies describe POLICY_NAME \
    --region=REGION_NAME

リージョン ネットワーク ファイアウォール ポリシーの説明を更新する

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

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、リージョン ネットワーク ファイアウォール ポリシーを含むプロジェクトを選択します。

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

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

  5. [説明] を変更します。

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

gcloud

gcloud compute network-firewall-policies update POLICY_NAME \
    --description DESCRIPTION \
    --region=REGION_NAME

リージョン ネットワーク ファイアウォール ポリシーを一覧表示する

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。

    [ネットワーク ファイアウォール ポリシー] セクションに、プロジェクトで使用可能なポリシーが表示されます。

gcloud

gcloud compute network-firewall-policies list
    --regions=LIST_OF_REGIONS

リージョン ネットワーク ファイアウォール ポリシーを削除する

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

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。

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

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

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

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

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

gcloud

  1. ファイアウォール ポリシーに関連付けられているすべてのネットワークを一覧表示します。

    gcloud compute network-firewall-policies describe POLICY_NAME \
        --region=REGION_NAME
    
  2. 個々の関連付けを削除します。関連付けを削除するには、関連する VPC ネットワークに対する compute.SecurityAdmin ロールが必要です。

    gcloud compute network-firewall-policies associations delete \
        --network-firewall-policy POLICY_NAME \
        --firewall-policy-region=REGION_NAME
    
  3. ポリシーを削除します。

    gcloud compute network-firewall-policies delete POLICY_NAME \
        --region=REGION_NAME
    

関連付けを削除する

ネットワークのファイアウォール ポリシーの適用を停止するには、関連付けを削除します。

ただし、あるセキュリティ ポリシーを別のファイアウォール ポリシーに入れ替える場合は、最初に既存の関連付けを削除する必要はありません。この操作を行うと、どちらのポリシーも適用されない期間が残ります。代わりに、新しいポリシーを関連付ける際は、既存のポリシーを置き換えます。

コンソール

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

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

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

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

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

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

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

gcloud

gcloud compute network-firewall-policies associations delete ASSOCIATION_NAME \
    --firewall-policy POLICY_NAME \
    --firewall-policy-region REGION_NAME

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

ネットワーク ファイアウォール ルールを作成する

ネットワーク ファイアウォール ポリシー ルールは、リージョン ネットワーク ファイアウォール ポリシーで作成する必要があります。含まれるポリシーを VPC ネットワークに関連付けるまで、ルールは有効になりません。

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

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。

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

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

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

    1. 優先度: ルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。優先度はルールごとに一意である必要があります。後で挿入できるように、ルールの優先度の数値を指定することをおすすめします(100200300 など)。
    2. ログの収集を [オン] または [オフ] に設定します。
    3. [トラフィックの方向] には、上り(内向き)と下り(外向き)のいずれかを選択します。
    4. [一致したときのアクション] で、ルールに一致した接続を許可する(許可)または拒否する(拒否)かどうか、または接続の評価を、階層内で次に低いファイアウォール ルールに渡すかどうかを指定します(次に移動)。
    5. ルールの [ターゲット] を指定します。
      • ネットワーク内のすべてのインスタンスにルールを適用する場合は、[ネットワーク上のすべてのインスタンス] を選択します。
      • タグを使用して一部のインスタンスにルールを適用する場合は、[セキュアタグ] を選択します。[スコープの選択] をクリックし、タグ Key-Value ペアを作成する組織またはプロジェクトを選択します。ルールを適用する Key-Value ペアを入力します。Key-Value ペアをさらに追加するには、[タグを追加] をクリックします。
      • 関連するサービス アカウントを使用して一部のインスタンスにルールを適用する場合は、サービス アカウントを選択して、[サービス アカウントのスコープ] でサービス アカウントのある場所を現在のプロジェクトまたは別のプロジェクトと指定します。続いて、[ターゲット サービス アカウント] フィールドでサービス アカウント名を選択するか入力します。
    6. 上り(内向き)ルールの場合、[送信元] フィルタを指定します。
      • 送信元 IPv4 の範囲で受信トラフィックをフィルタするには、[IPv4] を選択し、[IP 範囲] フィールドに CIDR ブロックを入力します。任意の IPv4 送信元の場合は、0.0.0.0/0 を使用します。
      • 送信元 IPv6 の範囲で受信トラフィックをフィルタするには、[IPv6] を選択し、CIDR ブロックを [IP 範囲] フィールドに入力します。任意の IPv6 送信元の場合は、::/0 を使用します。
      • タグで送信元を制限するには、[タグ] セクションの [スコープを選択] をクリックします。タグを作成する組織またはプロジェクトを選択します。ルールを適用する Key-Value ペアを入力します。Key-Value ペアをさらに追加するには、[タグを追加] をクリックします。
    7. 下り(外向き)ルールの場合、[送信先フィルタ] を指定します。
      • 送信トラフィックを送信先 IPv4 範囲でフィルタするには、[IPv4] を選択し、[IP 範囲] フィールドに CIDR ブロックを入力します。任意の IPv4 送信先の場合は、0.0.0.0/0 を使用します。
      • 送信トラフィックを送信先 IPv6 範囲でフィルタするには、[IPv6] を選択し、CIDR ブロックを [IP 範囲] フィールドに入力します。任意の IPv6 送信先の場合は、::/0 を使用します。
    8. (省略可)上り(内向き)ルールを作成する場合は、このルールが適用される送信元の FQDN を指定します。下り(外向き)ルールを作成する場合は、このルールを適用する宛先の FQDN を選択します。ドメイン名オブジェクトの詳細については、ドメイン名オブジェクトをご覧ください。
    9. (省略可)上り(内向き)ルールを作成する場合は、このルールが適用される送信元の位置情報を選択します。下り(外向き)ルールを作成する場合は、このルールが適用される宛先の位置情報を選択します。位置情報オブジェクトの詳細については、位置情報オブジェクトをご覧ください。
    10. 省略可: 上り(内向き)ルールを作成する場合は、このルールが適用される送信元アドレス グループを選択します。下り(外向き)ルールを作成する場合は、このルールが適用される宛先アドレス グループを選択します。アドレス グループの詳細については、ファイアウォール ポリシーのアドレス グループをご覧ください。
    11. 省略可: 上り(内向き)ルールを作成する場合は、このルールが適用される送信元の Google Cloud 脅威インテリジェンスのリストを選択します。下り(外向き)ルールを作成する場合は、このルールが適用される宛先の Google Cloud 脅威インテリジェンスのリストを選択します。脅威インテリジェンスの詳細については、ファイアウォール ポリシールールの脅威インテリジェンスをご覧ください。
    12. 省略可: 上り(内向き)ルールの場合、送信先フィルタを指定します。

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

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

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

  6. [ルールを追加] をクリックして別のルールを追加します。[続行] > [ポリシーと VPC ネットワークの関連付け] をクリックするか、[作成] をクリックしてポリシーを作成します。

gcloud

gcloud compute network-firewall-policies rules create PRIORITY \
    --action ACTION \
    --firewall-policy POLICY_NAME \
    [--description DESCRIPTION ]\
    [--layer4-configs PROTOCOL_PORT] \
    [--target-secure-tags TARGET_SECURE_TAG[,TARGET_SECURE_TAG,...]] \
    [--target-service-accounts=SERVICE_ACCOUNT[,SERVICE_ACCOUNT,...]] \
    [--direction DIRECTION]\
    [--src-ip-ranges IP_RANGES] \
    [--src-secure-tags SRC_SECURE_TAG[,SRC_SECURE_TAG,...]] \
    [--dest-ip-ranges IP_RANGES] \
    [--src-region-codes COUNTRY_CODE,[COUNTRY_CODE,...]] \
    [--dest-region-codes COUNTRY_CODE,[COUNTRY_CODE,...]] \ 
    [--src-threat-intelligence LIST_NAMES[,LIST_NAME,...]] \
    [--dest-threat-intelligence LIST_NAMES[,LIST_NAME,...]] \
    [--src-address-groups ADDR_GRP_URL[,ADDR_GRP_URL,...]] \
    [--dest-address-groups ADDR_GRP_URL[,ADDR_GRP_URLL,...]] \
    [--dest-fqdns DOMAIN_NAME[,DOMAIN_NAME,...]]
    [--src-fqdns DOMAIN_NAME[,DOMAIN_NAME,...]]
    [--enable-logging | --no-enable-logging]\
    [--disabled | --no-disabled]\
    --firewall-policy-region=REGION_NAME

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

  • PRIORITY: ルールの数値評価順序

    ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。優先度はルールごとに一意である必要があります。後で挿入できるように、ルールの優先度の数値を指定することをおすすめします(100200300 など)。

  • ACTION: 次のいずれかのアクション:

    • allow: ルールに一致する接続を許可します。
    • deny: ルールに一致する接続を拒否します。
    • goto_next: 接続評価を階層内の次のレベル(フォルダまたはネットワーク)に渡します。
  • POLICY_NAME: ネットワーク ファイアウォール ポリシーの名前

  • PROTOCOL_PORT: プロトコル名または番号(tcp,17)、プロトコルと宛先ポート(tcp:80)、プロトコルと宛先ポートの範囲(tcp:5000-6000)のカンマ区切りリスト。

    プロトコルなしでは、ポートまたはポート範囲を指定することはできません。 ICMP の場合、ポートまたはポート範囲を指定できません。例:
    --layer4-configs tcp:80,tcp:443,udp:4000-5000,icmp

    詳細については、プロトコルとポートをご覧ください。

  • TARGET_SECURE_TAG: ターゲットを定義するセキュアタグのカンマ区切りリスト

  • SERVICE_ACCOUNT: ターゲットを定義するサービス アカウントのカンマ区切りリスト

  • DIRECTION: ルールが ingress ルールまたは egress ルールのどちらであるかを示します。デフォルトは ingress です。

    • トラフィックの送信元の IP 範囲を指定するには、--src-ip-ranges を含めます。
    • トラフィックの宛先の IP 範囲を指定するには、--dest-ip-ranges を含めます。

    詳細については、ターゲット送信元宛先をご覧ください。

  • IP_RANGES: CIDR 形式の IP 範囲のカンマ区切りリスト(すべての IPv4 範囲またはすべての IPv6 範囲)。例:
    --src-ip-ranges=10.100.0.1/32,10.200.0.0/24
    --src-ip-ranges=2001:0db8:1562::/96,2001:0db8:1723::/96

  • SRC_SECURE_TAG: タグのカンマ区切りリスト

  • COUNTRY_CODE: 2 文字の国コードのカンマ区切りリスト

    • 上り(内向き)方向の場合は --src-region-code パラメータで送信元の国コードを指定します。下り(外向き)方向の場合、--src-region-code パラメータは使用できません。
    • 下り(外向き)方向の場合は --dest-region-code パラメータで宛先の国コードを指定します。上り(内向き)方向の場合、--dest-region-code パラメータは使用できません。
  • LIST_NAMES: 脅威インテリジェンス リストのカンマ区切りの名前

    • 上り(内向き)方向の場合は --src-threat-intelligence パラメータで送信元の脅威インテリジェンス リストを指定します。下り(外向き)方向の場合、--src-threat-intelligence パラメータは使用できません。
    • 下り(外向き)方向の場合、--dest-threat-intelligence パラメータで宛先の脅威インテリジェンス リストを指定します。上り(内向き)方向の場合、--dest-threat-intelligence パラメータは使用できません。
  • ADDR_GRP_URL: アドレス グループの一意の URL 識別子

    • 上り(内向き)方向の場合は --src-address-groups パラメータで送信元のアドレス グループを指定します。下り(外向き)方向の場合、--src-address-groups パラメータは使用できません。
    • 下り(外向き)方向の場合は --dest-address-groups パラメータで宛先のアドレス グループを指定します。上り(内向き)方向の場合、--dest-address-groups パラメータは使用できません。
  • DOMAIN_NAME: ドメイン名のカンマ区切りリスト。ドメイン名の形式で説明されている形式で指定します。

    • 上り(内向き)方向の場合は --src-fqdns パラメータで送信元のドメイン名を指定します。下り(外向き)方向の場合、--src-fqdns パラメータは使用できません。
    • 下り(外向き)方向の場合は --dest-fqdns パラメータで宛先のアドレス グループを指定します。上り(内向き)方向の場合、--dest-fqdns パラメータは使用できません。
  • --enable-logging--no-enable-logging: 指定されたルールに対してファイアウォール ルールロギングを有効または無効にします。

  • --disabled: ファイアウォール ルールが存在しても、接続の処理時に考慮されないファイアウォール ルールを示します。このフラグを省略すると、ルールが有効になります。または、--no-disabled を指定します。

  • REGION_NAME: ポリシーを適用するリージョン

ルールを更新する

フィールドの説明については、ファイアウォール ルールの作成をご覧ください。

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。

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

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

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

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

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

gcloud

gcloud compute network-firewall-policies rules update PRIORITY \
    --firewall-policy POLICY_NAME \
    --firewall-policy-region=REGION_NAME \
    [...fields you want to modify...]

ルールの説明を取得する

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。

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

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

gcloud

gcloud compute network-firewall-policies rules describe PRIORITY \
    --firewall-policy POLICY_NAME \
    --firewall-policy-region=REGION_NAME

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

  • PRIORITY: 表示するルールの優先度。各ルールの優先度は異なるため、この設定はルールによって一意に識別されます。
  • POLICY_NAME: ルールを含むポリシーの名前
  • REGION_NAME: ポリシーを適用するリージョン

ポリシーからルールを削除する

ポリシーからルールを削除すると、そのルールを継承しているすべての VM からルールが削除されます。

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。

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

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

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

gcloud

gcloud compute network-firewall-policies rules delete PRIORITY \
    --firewall-policy POLICY_NAME \
    --firewall-policy-region=REGION_NAME

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

  • PRIORITY: ポリシーから削除するルールの優先度
  • POLICY_NAME: そのルールを含むポリシー
  • REGION_NAME: ポリシーを適用するリージョン

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

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

コンソール

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

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

  2. プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。

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

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

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

  6. 新しいポリシーをすぐに関連付けるには、[続行] > [ネットワーク ポリシーをリソースに関連付ける] をクリックします。

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

gcloud

gcloud compute network-firewall-policies clone-rules POLICY_NAME \
    --source-firewall-policy SOURCE_POLICY \
    --region=REGION_NAME

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

  • POLICY_NAME: コピーされたルールを受け取るポリシー
  • SOURCE_POLICY: ルールのコピー元のポリシー。リソースの URL で指定する必要があります
  • REGION_NAME: ポリシーを適用するリージョン

有効なリージョン ネットワーク ファイアウォール ポリシーを取得する

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

gcloud

gcloud compute network-firewall-policies get-effective-firewalls \
    --region=REGION_NAME \
    --network=NETWORK_NAME

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

  • REGION_NAME: 有効なルールを表示するリージョン。
  • NETWORK_NAME: 有効なルールを表示するネットワーク。