リージョン ネットワークのファイアウォール ポリシーとルールを使用する
このページは、リージョン ネットワーク ファイアウォール ポリシーの概要で説明されているコンセプトを理解していることを前提としています。
ファイアウォール ポリシーのタスク
リージョン ネットワーク ファイアウォール ポリシーを作成する
プロジェクト内の任意の VPC ネットワークにポリシーを作成できます。ポリシーを作成したら、プロジェクト内の任意の VPC ネットワークに関連付けることができます。関連付けが終わると、関連するネットワークの VM に対してポリシーのルールがアクティブになります。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、組織内のプロジェクトを選択します。
[ネットワーク ファイアウォール ポリシーを作成する] をクリックします。
ポリシーに名前を付けます。
[デプロイのスコープ] で [リージョン] を選択します。
ポリシーのルールを作成する場合は、[続行] をクリックしてから、[ルールを追加] をクリックします。
詳細については、ファイアウォール ルールの作成をご覧ください。
ポリシーをネットワークに関連付けるには、[続行] をクリックしてから [関連付け] をクリックします。
詳細については、ポリシーと VPC ネットワークの関連付けをご覧ください。
[作成] をクリックします。
gcloud
gcloud compute network-firewall-policies create \ NETWORK_FIREWALL_POLICY_NAME --description DESCRIPTION \ --region=REGION_NAME
次のように置き換えます。
NETWORK_FIREWALL_POLICY_NAME
: ポリシーの名前。DESCRIPTION
: ポリシーの説明。REGION_NAME
: ポリシーに適用するリージョン。
ポリシーをネットワークに関連付ける
ポリシーをネットワークに関連付けると、そのネットワーク内の VM のポリシールールがアクティブになります。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。
ポリシーをクリックします。
[関連付け先] タブをクリックします。
[関連付け] をクリックします。
プロジェクト内のネットワークを選択します。
[関連付け] をクリックします。
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
: 関連付けのオプションの名前。指定しない場合、名前は「organizationORG_ID
」または「folderFOLDER_ID
」に設定されます。REGION_NAME
: ポリシーを適用するリージョン
リージョン ネットワーク ファイアウォール ポリシーの情報を取得する
すべてのファイアウォール ルールを含む、ポリシーのすべての詳細を表示できます。また、ポリシー内のすべてのルールにある属性も確認できます。この属性は、ポリシーごとの上限としてカウントされます。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、ネットワーク ファイアウォール ポリシーを含むプロジェクトを選択します。
ポリシーをクリックします。
gcloud
gcloud compute firewall-policies describe POLICY_NAME \ --region=REGION_NAME
リージョン ネットワーク ファイアウォール ポリシーの説明を更新する
更新できるポリシー フィールドは [説明] フィールドのみです。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、組織 ID またはポリシーを含むフォルダを選択します。
[編集] をクリックします。
[説明] を変更します。
[保存] をクリックします。
gcloud
gcloud compute network-firewall-policies update POLICY_NAME \ --description DESCRIPTION \ --region=REGION_NAME
リージョン ネットワーク ファイアウォール ポリシーを一覧表示する
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。
[ネットワーク ファイアウォール ポリシー] セクションに、プロジェクトで使用可能なポリシーが表示されます。
gcloud
gcloud compute network-firewall-policies list --regions=LIST_OF_REGIONS
リージョン ネットワーク ファイアウォール ポリシーを削除する
ネットワーク ファイアウォール ポリシーを削除する前に、すべての関連付けを削除する必要があります。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。
削除するポリシーをクリックします。
[関連付け先] タブをクリックします。
すべての関連付けを選択します。
[削除] をクリックします。
すべての関連付けを削除したら、[削除] をクリックします。
gcloud
ファイアウォール ポリシーに関連するすべてのネットワークを一覧表示します。
gcloud compute network-firewall-policies describe POLICY_NAME \ --region=REGION_NAME
個々の関連付けを削除します。関連付けを削除するには、関連する VPC ネットワークに対する
compute.SecurityAdmin
ロールが必要です。gcloud compute network-firewall-policies associations delete \ --network-firewall-policy POLICY_NAME \ --firewall-policy-region=REGION_NAME
ポリシーを削除します。
gcloud compute network-firewall-policies delete POLICY_NAME --region=REGION_NAME
関連付けを削除する
ネットワークのファイアウォール ポリシーの適用を停止するには、関連付けを削除します。
ただし、あるセキュリティ ポリシーを別のファイアウォール ポリシーに入れ替える場合は、最初に既存の関連付けを削除する必要はありません。この操作を行うと、どちらのポリシーも適用されない期間が残ります。代わりに、新しいポリシーを関連付ける際は、既存のポリシーを置き換えます。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、プロジェクトまたはポリシーを含むフォルダを選択します。
ポリシーをクリックします。
[関連付け] タブをクリックします。
削除する関連付けを選択します。
[削除] をクリックします。
gcloud
gcloud compute network-firewall-policies associations delete ASSOCIATION_NAME \ --firewall-policy POLICY_NAME \ --firewall-policy-region REGION_NAME
ファイアウォール ポリシー ルールのタスク
ネットワーク ファイアウォール ルールを作成する
ネットワーク ファイアウォール ポリシー ルールは、リージョン ネットワーク ファイアウォール ポリシーで作成する必要があります。含まれるポリシーを VPC ネットワークに関連付けるまで、ルールは有効になりません。
各ネットワーク ファイアウォール ポリシー ルールには、IPv4 または IPv6 の範囲のいずれかを含めることができます。両方を含めることはできません。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。
ポリシーの名前をクリックします。
[デプロイのスコープ] で [リージョン] を選択します。
[ルールの追加] をクリックします。
ルール フィールドに、次の内容を入力します。
- 優先度: ルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は
0
)。優先度はルールごとに一意である必要があります。後で挿入できるように、ルールの優先度の数値を指定することをおすすめします(100
、200
、300
など)。 - ログの収集を [オン] または [オフ] に設定します。
- [トラフィックの方向] には、上り(内向き)と下り(外向き)のいずれかを選択します。
- [一致したときのアクション] で、ルールに一致した接続を許可する(許可)または拒否する(拒否)かどうか、または接続の評価を、階層内で次に低いファイアウォール ルールに渡すかどうかを指定します(次に移動)。
- [トラフィックの方向] には、上り(内向き)と下り(外向き)のいずれかを選択します。
- ルールの [ターゲット] を指定します。
- ネットワーク内のすべてのインスタンスにルールを適用する場合は、[All instances in the network] を選択します。
- セキュアタグを使用して一部のインスタンスにルールを適用する場合は、[セキュアタグ] を選択します。[タグを追加] をクリックし、ルールの適用対象となるタグ値を [タグの値] フィールドに入力します。
- 関連するサービス アカウントを使用して一部のインスタンスにルールを適用する場合は サービス アカウントを選択して、[サービス アカウントのスコープ] でサービス アカウントのある場所を現在のプロジェクトまたは別のプロジェクトと指定します。続いて、[ターゲット サービス アカウント] フィールドでサービス アカウント名を選択するか入力します。
- 上り(内向き)ルールの場合、[ソースフィルタ] を指定します。
- IP アドレスの範囲を使用して受信トラフィックのソースを定義するには、[IP ranges] を選択し、[ソース IP の範囲] フィールドに CIDR ブロックを入力します。ソースを任意のネットワークにするには、
0.0.0.0/0
を使用します。 - ネットワーク タグを使用して送信元を制限するには、[ソースタグ] を選択して、ネットワーク タグを [ソースタグ] フィールドに入力します。ソースタグ数の上限については、ネットワークごとの上限をご覧ください。ソースタグによるフィルタリングを使用できるのは、サービス アカウントによってターゲットが指定されていない場合に限られます。詳しくは、サービス アカウントによるフィルタリングとネットワーク タグによるフィルタリングをご覧ください。
- サービス アカウントによってソースを制限するには、サービス アカウントを選択して、サービス アカウントが現在のプロジェクトにあるか別のプロジェクトにあるかを [サービス アカウントのスコープ] で指定し、[ソースのサービス アカウント] フィールドでサービス アカウント名を選択するか入力します。ソースのサービス アカウントによるフィルタリングを使用できるのは、ネットワーク タグによってターゲットが指定されていない場合に限られます。詳しくは、サービス アカウントによるフィルタリングとネットワーク タグによるフィルタリングをご覧ください。
- 必要に応じて、[2 番目のソースフィルタ] を指定します。2 番目のソースフィルタで、メインのソースフィルタと同じフィルタ条件を使用することはできません。ソース IP の範囲は、ソースタグまたはソースサービス アカウントと組み合わせて使用できます。有効なソースセットは、ソース範囲の IP アドレスと、ネットワーク タグまたはサービス アカウントによって識別されるインスタンスを組み合わせたものです。つまり、ソース IP 範囲、またはソースタグ(またはソースサービス アカウント)のいずれかがフィルタ条件と一致する場合、そのソースは有効なソースセットに含まれています。
- [ソースタグ] と [ソースのサービス アカウント] は併用できません。
- IP アドレスの範囲を使用して受信トラフィックのソースを定義するには、[IP ranges] を選択し、[ソース IP の範囲] フィールドに CIDR ブロックを入力します。ソースを任意のネットワークにするには、
- 下り(外向き)ルールの場合、[送信先フィルタ] を指定します。
- IP アドレスの範囲を使用して発信トラフィックの送信先を定義するには、[IP ranges] を選択し、[送信先 IP 範囲] フィールドに CIDR ブロックを入力します。
0.0.0.0/0
を使用すると、任意の場所になります。
- IP アドレスの範囲を使用して発信トラフィックの送信先を定義するには、[IP ranges] を選択し、[送信先 IP 範囲] フィールドに CIDR ブロックを入力します。
- (省略可)上り(内向き)ルールを作成する場合は、このルールが適用される送信元の FQDN を指定します。下り(外向き)ルールを作成する場合は、このルールを適用する宛先の FQDN を選択します。ドメイン名オブジェクトの詳細については、ドメイン名オブジェクトをご覧ください。
- (省略可)上り(内向き)ルールを作成する場合は、このルールが適用される送信元の位置情報を選択します。下り(外向き)ルールを作成する場合は、このルールが適用される宛先の位置情報を選択します。位置情報オブジェクトの詳細については、位置情報オブジェクトをご覧ください。
- 省略可: 上り(内向き)ルールを作成する場合は、このルールが適用される送信元のネットワーク脅威インテリジェンスのリストを選択します。下り(外向き)ルールを作成する場合は、このルールが適用される宛先のネットワーク脅威インテリジェンスのリストを選択します。脅威インテリジェンスの詳細については、ファイアウォール ポリシールールの脅威インテリジェンスをご覧ください。
- [プロトコルとポート] で、すべてのプロトコルとポートにルールを適用することを指定するか、適用するプロトコルと宛先ポートを指定します。
- [作成] をクリックします。
- 優先度: ルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は
[ルールを追加] をクリックして別のルールを追加します。[続行] > [関連付け] をクリックしてポリシーをネットワークに関連付けるか、[作成] をクリックしてポリシーを作成します。
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
)。優先度はルールごとに一意である必要があります。後で挿入できるように、ルールの優先度の数値を指定することをおすすめします(100
、200
、300
など)。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
詳細については、プロトコルとポートをご覧ください。
SERVICE_ACCOUNT
: ターゲットを定義するサービス アカウントのカンマ区切りリストDIRECTION
: ルールがingress
ルールまたはegress
ルールのどちらであるかを示します。デフォルトはingress
です。- トラフィックの送信元の IP 範囲を指定するには、
--src-ip-ranges
を含めます。 - トラフィックの宛先の IP 範囲を指定するには、
--dest-ip-ranges
を含めます。
- トラフィックの送信元の IP 範囲を指定するには、
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
: ポリシーを適用するリージョン
ルールを更新する
フィールドの説明については、ファイアウォール ルールの作成をご覧ください。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。
ポリシーをクリックします。
ルールの優先度をクリックします。
[編集] をクリックします。
変更対象のフィールドに修正を加えます。
[保存] をクリックします。
gcloud
gcloud compute network-firewall-policies rules update RULE_NAME \ --firewall-policy POLICY_NAME \ --firewall-policy-region=REGION_NAME \ [...fields you want to modify...]
ルールの説明を取得する
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。
ポリシーをクリックします。
ルールの優先度をクリックします。
gcloud
gcloud compute network-firewall-policies rules describe PRIORITY \ --firewall-policy POLICY_NAME \ --firewall-policy-region=REGION_NAME
次のように置き換えます。
PRIORITY
: 表示するルールの優先度。各ルールの優先度は異なるため、この設定はルールによって一意に識別されます。POLICY_NAME
: ルールを含むポリシーの名前REGION_NAME
: ポリシーを適用するリージョン
ポリシーからルールを削除する
ポリシーからルールを削除すると、そのルールを継承しているすべての VM からルールが削除されます。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。
ポリシーをクリックします。
削除するルールを選択します。
[削除] をクリックします。
gcloud
gcloud compute network-firewall-policies rules delete PRIORITY \ --firewall-policy POLICY_NAME \ --firewall-policy-region=REGION_NAME
次のように置き換えます。
PRIORITY
: ポリシーから削除するルールの優先度POLICY_NAME
: そのルールを含むポリシーREGION_NAME
: ポリシーを適用するリージョン
ポリシー間でルールのクローンを作成する
ターゲット ポリシーからすべてのルールを削除し、ソースポリシーのルールで置き換えます。
コンソール
Google Cloud コンソールで [ファイアウォール] ページに移動します。
プロジェクト セレクタのプルダウン メニューで、ポリシーが含まれているプロジェクトを選択します。
ルールのコピー元ポリシーをクリックします。
画面の上部の [クローン] をクリックします。
ターゲット ポリシーの名前を指定します。
新しいポリシーをすぐに関連付ける場合は、[続行] > [関連付け] をクリックします。
[クローン] をクリックします。
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
: 有効なルールを表示するネットワーク。