Cloud Next Generation Firewall ルールは、タグを使用して送信元とターゲットを指定します。この柔軟なアプローチにより、IP アドレスへの依存を回避できます。
タグの種類
Cloud NGFW は、次の 2 種類のタグをサポートしています。
Identity and Access Management(IAM)で管理されるタグ(セキュアタグとも呼ばれます)は、Resource Manager でタグキーとタグ値として作成および管理されます。セキュアタグ値を使用して、階層型ファイアウォール ポリシー、グローバル ネットワーク ファイアウォール ポリシー、リージョン ネットワーク ファイアウォール ポリシーの上り(内向き)ルールの送信元と、上り(内向き)または下り(外向き)ルールのターゲットを指定できます。
ネットワーク タグは、仮想マシン(VM)インスタンスまたはインスタンス テンプレートに追加できるアクセス制御のない文字列です。ネットワーク タグは、上り(内向き)Virtual Private Cloud(VPC)ファイアウォール ルールの送信元と、上り(内向き)または下り(外向き)VPC ファイアウォール ルールのターゲットを指定するために使用できます。ネットワーク タグは、階層型ファイアウォール ポリシー、グローバル ネットワーク ファイアウォール ポリシー、リージョン ネットワーク ファイアウォール ポリシーのルールでは使用できません。ネットワーク タグの詳細については、ネットワーク タグを追加するをご覧ください。
セキュアタグとネットワーク タグの違いについては、セキュアタグとネットワーク タグの比較をご覧ください。
このページの次のセクションでは、ファイアウォール ポリシーの安全なタグについて説明します。
仕様
セキュアタグの仕様は次のとおりです。
親リソース: 親リソースは、セキュアタグキーが定義されているリソースです。タグキーは、親のプロジェクトまたは組織に作成できます。タグキーの作成の詳細については、安全なタグの作成と管理をご覧ください。
目的と目的データ: Cloud NGFW で安全なタグキーを使用するには、タグキーの
purpose
属性をGCE_FIREWALL
に設定し、purpose-data
属性を指定する必要があります。タグキーの
purpose-data
属性をnetwork
に設定し、その後に単一の VPC ネットワーク仕様を指定できます。親プロジェクトを持つタグキーの場合、タグキーの
purpose-data
属性をnetwork
に設定すると、指定された VPC ネットワークはタグキーと同じプロジェクトに存在する必要があります。親組織を持つタグキーの場合、タグキーの
purpose-data
属性をnetwork
に設定すると、指定された VPC ネットワークはタグキーと同じ組織に存在する必要があります。
タグキーの
purpose-data
属性をorganization=auto
に設定できます。これは、組織内のすべての VPC ネットワークを識別します。
タグキーの作成後に
purpose
属性とpurpose-data
属性を変更することはできません。タグキーのpurpose-data
属性でネットワーク仕様の形式を設定する方法について詳しくは、Resource Manager API ドキュメントの目的をご覧ください。構造と形式: セキュアタグキーは、最大 1,000 個の一意のタグ値を参照できます。タグ管理者ロール(
roles/resourcemanager.tagAdmin
)を持つ IAM プリンシパルは、各タグキーのタグキーとタグ値を作成します。安全なタグの上限の詳細については、上限をご覧ください。組織間でプロジェクトを移動する: プロジェクトをある組織から別の組織に移動できます。プロジェクトを移動する前に、プロジェクトで使用されている組織を指定する
purpose-data
属性を持つタグキーを元の組織から切り離します。セキュアタグを先に切り離さないと、移動中にエラー メッセージが表示されます。アクセス制御: IAM ポリシーにより、セキュアタグを管理および使用できる IAM プリンシパルが決まります。
タグ管理者ロール(
roles/resourcemanager.tagAdmin
)を持つ IAM プリンシパルは、タグキーを作成し、そのタグ値を管理できます。組織の IAM ポリシーでタグ管理者ロール(
roles/resourcemanager.tagAdmin
)が付与された IAM プリンシパルは、組織を親としてタグキーを作成できます。組織、フォルダ、またはプロジェクトの IAM ポリシーでタグ管理者ロール(
roles/resourcemanager.tagAdmin
)が付与された IAM プリンシパルは、プロジェクトを親としてタグキーを作成できます。
タグユーザー ロール(
roles/resourcemanager.tagUser
)を持つ IAM プリンシパルは、タグ値を VM インスタンスにバインドしたり、階層型ファイアウォール ポリシー、グローバル ネットワーク ファイアウォール ポリシー、リージョン ネットワーク ファイアウォール ポリシーのファイアウォール ルールでタグ値を使用したりできます。組織の IAM ポリシーでタグユーザーロール(
roles/resourcemanager.tagUser
)が付与された IAM プリンシパルは、親が組織であるタグキーのタグ値を使用できます。組織、フォルダ、またはプロジェクトの IAM ポリシーでタグユーザー ロール(
roles/resourcemanager.tagUser
)が付与された IAM プリンシパルは、親としてプロジェクトを持つタグキーのタグ値を使用できます。
開発者、データベース管理者、運用チームである IAM プリンシパルには、コンピューティング セキュリティ管理者ロール(
roles/compute.securityAdmin
)を付与することなく、タグユーザー ロール(roles/resourcemanager.tagUser
)やその他の適切なロールを付与できます。これにより、運用チームは、ファイアウォール ルールを変更することなく、管理する VM インスタンスのネットワーク インターフェースに適用するファイアウォール ルールを制御できます。
必要な権限の詳細については、IAM ロールをご覧ください。
ファイアウォール ルールのサポート: 階層型ファイアウォール ポリシー、グローバル ネットワーク ファイアウォール ポリシー、リージョン ネットワーク ファイアウォール ポリシーのルールは、ソース セキュアタグまたはターゲット セキュアタグとしてタグキーをサポートしています。VPC ファイアウォール ルールはセキュアタグをサポートしていません。詳細については、セキュアタグとネットワーク タグの比較をご覧ください。
VM バインディングと適用可能なファイアウォール ルール: セキュアタグ値を VM インスタンスにバインドすると、タグ値を使用する適用可能なファイアウォール ルールには、ソースまたはターゲットとして VM ネットワーク インターフェースが含まれます。
インスタンスにバインドされているセキュアタグの値が、
purpose-data
属性で単一の VPC ネットワークが指定されているタグキーからのものである場合:そのタグ値を送信元セキュアタグとして使用する上り(内向き)ファイアウォール ルールには、指定された VPC ネットワーク内の VM のネットワーク インターフェースを含む送信元があります。
そのタグ値をターゲット セキュアタグとして使用する上り(内向き)と下り(外向き)のファイアウォール ルールには、指定された VPC ネットワーク内の VM のネットワーク インターフェースを含むターゲットがあります。
インスタンスにバインドされているセキュアタグ値が、
purpose-data
属性で組織が指定されているタグキーのタグ値である場合:そのタグ値を送信元セキュアタグとして使用する上り(内向き)ファイアウォール ルールには、組織の任意の VPC ネットワークにある VM のネットワーク インターフェースを含む送信元があります。
そのタグ値をターゲット セキュアタグとして使用する上り(内向き)と下り(外向き)のファイアウォール ルールには、組織の任意の VPC ネットワークにある VM のネットワーク インターフェースを含むターゲットがあります。
適用可能なファイアウォール ルールがパケットを識別する方法: Cloud NGFW は、送信元セキュアタグと宛先セキュアタグを IP アドレスではなくネットワーク インターフェースにマッピングします。
上り(内向き)ファイアウォール ルールの送信元セキュアタグに VM ネットワーク インターフェースが送信元として含まれている場合、 Google Cloud は、そのネットワーク インターフェースから送信されるパケットと一致します。
上り(内向き)ファイアウォール ルールのターゲット セキュアタグに VM ネットワーク インターフェースがターゲットとして含まれている場合、 Google Cloud は、そのネットワーク インターフェースで受信されたパケットと一致します。
下り(外向き)ファイアウォール ルールのターゲット セキュアタグに VM ネットワーク インターフェースがターゲットとして含まれている場合、 Google Cloud は、そのネットワーク インターフェースから送信されるパケットと一致します。
インスタンスあたりのタグ値の数: 各タグ値を無制限の数の VM インスタンスにバインドできます。各インスタンスがサポートするタグ値の数は可変です。 Google Cloud は、VM の各ネットワーク インターフェースに適用されるタグ値の数を 10 個に制限します。 Google Cloud は、1 つ以上のネットワーク インターフェースに 10 個を超えるタグ値が適用されている場合、追加のタグ値を VM インスタンスにバインドすることを禁止します。詳細については、セキュアタグをバインドするをご覧ください。
VPC ネットワーク ピアリングのサポート: ファイアウォール ポリシーの上り(内向き)ルールのソース セキュアタグは、ピアリングされた VPC ネットワークにある送信元 VM ネットワーク インターフェースを識別できます。これは、プライベート サービス アクセスを使用する公開サービスのユーザーに役立ちます。ソース セキュアタグを持つ上り(内向き)ファイアウォール ルールを使用すると、コンシューマーは、どのサービス プロデューサー VM がコンシューマー VM にパケットを送信できるかを制御できます。
Google Kubernetes Engine(GKE)のセキュリティ タグ:
purpose-data=organization=auto
構成で作成されたセキュリティ タグは、GKE クラスタとノードプールではサポートされていません。したがって、VPC ネットワークごとに安全なタグキーを作成します。詳細については、安全なタグの作成と管理をご覧ください。
セキュアタグをバインドする
Cloud NGFW でセキュアタグを使用するには、タグ値を VM インスタンスにバインドする必要があります。各セキュアタグキーは複数のタグ値をサポートしますが、各タグキーに対して、そのタグ値の 1 つのみをインスタンスにバインドできます。IAM 権限とセキュアタグのバインド方法の詳細については、セキュアタグをバインドするをご覧ください。
このセクションの例では、バインドされたタグ値が VM ネットワーク インターフェースにどのように適用されるかを示します。次の例では、2 つのネットワーク インターフェースを持つ instance1
VM インスタンスについて考えます。
nic0
がnetwork1
VPC ネットワークに接続されているnic1
がnetwork2
VPC ネットワークに接続されている
両方の VPC ネットワークが同じ組織に属している。
対応するタグキーの purpose-data
属性は、バインドされたタグ値と VM ネットワーク インターフェースの関係を決定します。
purpose-data
属性で VPC ネットワークを指定するタグキー
次の purpose-data
属性とタグ値を使用して 2 つのタグキーを作成するとします。
tag_key1
には、network1
VPC ネットワークと 2 つのタグ値tag_value1
とtag_value2
を指定するpurpose-data
属性があります。tag_key2
には、network2
VPC ネットワークと 1 つのタグ値tag_value3
を指定するpurpose-data
属性があります。
purpose-data
属性は、単一の VPC ネットワークを指定します(クリックして拡大)。セキュアタグ値 tag_value1
と tag_value3
を instance1
にバインドする場合:
tag_value1
の親tag_key1
にnetwork1
VPC ネットワークを指定するpurpose-data
属性があり、nic0
ネットワーク インターフェースがnetwork1
にあるため、tag_value1
はnic0
ネットワーク インターフェースに適用されます。tag_value3
の親tag_key2
にnetwork2
VPC ネットワークを指定するpurpose-data
属性があり、nic1
ネットワーク インターフェースがnetwork2
にあるため、tag_value3
はnic1
ネットワーク インターフェースに適用されます。
次の図は、purpose-data
属性で単一の VPC ネットワークが指定されているタグキーのバインディング タグ値を示しています。
purpose-data
属性で単一の VPC ネットワークが指定されているタグキーのバインドされたタグ値(クリックして拡大)。purpose-data
属性で組織を指定するタグキー
次の purpose-data
属性とタグ値を使用して 2 つのタグキーを作成するとします。
tag_key3
には、親組織を指定するpurpose-data
属性があり、tag_value4
とtag_value5
の 2 つのタグ値があります。tag_key4
には、親組織を指定するpurpose-data
属性があり、1 つのタグ値tag_value6
があります。
purpose-data
属性は、親組織を指定します(クリックして拡大)。タグ値 tag_value4
を instance1
にバインドする場合:
tag_value4
の親tag_key3
には、network1
VPC ネットワークを含む親組織を指定するpurpose-data
属性があり、nic0
ネットワーク インターフェースはnetwork1
にあるため、tag_value4
はnic0
ネットワーク インターフェースに適用されます。tag_value4
はnic1
ネットワーク インターフェースにも適用されます。これは、親tag_key3
に、network2
VPC ネットワークを含む親組織を指定するpurpose-data
属性が含まれているためです。nic1
ネットワーク インターフェースはnetwork2
内にあります。
次の図は、purpose-data
属性で親組織が指定されているタグキーからタグ値をバインドする方法を示しています。
purpose-data
属性で親組織が指定されているタグキーのバインドされたタグ値(クリックして拡大)。セキュアタグを設定する
次のワークフローは、ファイアウォール ポリシーでセキュアタグを構成するために必要な一連の手順の概要を示しています。
セキュアタグは、組織レベルまたはプロジェクト レベルで作成できます。組織レベルでタグを作成するには、まず組織管理者から IAM 権限を付与してもらう必要があります。詳細については、安全なタグに権限を付与するをご覧ください。
セキュアタグを作成するには、まずタグキーを作成する必要があります。このタグキーは、作成するタグを記述します。詳細については、セキュアタグのキーと値を作成するをご覧ください。
セキュアタグキーを作成したら、関連するセキュアタグの値を追加する必要があります。詳細については、セキュアタグのキーと値を作成するをご覧ください。セキュアタグキーを管理し、タグ値をリソースに付加するための特定のアクセス権をユーザーに付与するには、 Google Cloud コンソールを使用します。詳細については、タグへのアクセスを管理するをご覧ください。
セキュアタグを作成したら、ネットワーク ファイアウォール ポリシーまたは階層型ファイアウォール ポリシーで使用できます。詳細については、階層型ファイアウォール ポリシーを作成するとネットワーク ファイアウォール ポリシーを作成するをご覧ください。
ソースタグキーとターゲットタグキーを使用して VM 間で選択したトラフィックを許可するには、特定のソースタグ値とターゲットタグ値を使用してファイアウォール ポリシー ルール(ネットワークまたは階層型)を作成します。詳細については、セキュアタグを使用してファイアウォール ポリシールールを作成するをご覧ください。
タグキーが作成され、タグキーとリソースの両方に適切なアクセス権が付与されると、タグキーを VM インスタンスにバインドできます。詳細については、セキュアタグをバインドするをご覧ください。
セキュアタグとネットワーク タグの比較
次の表に、セキュアタグとネットワーク タグの違いを示します。チェックマークは属性がサポートされていることを示し、記号は属性がサポートされていないことを示します。
属性 | VPC ネットワークを指定する purpose-data 属性を持つセキュアタグ |
組織を指定する purpose-data 属性でタグを保護する |
ネットワーク タグ |
---|---|---|---|
親リソース | プロジェクトまたは組織 | プロジェクトまたは組織 | プロジェクト |
構造と形式 | 最大 1,000 個の値を持つタグキー | 最大 1,000 個の値を持つタグキー | シンプルな文字列 |
アクセス制御 | IAM の使用 | IAM の使用 | アクセス制御なし |
適用可能なネットワーク インターフェース |
|
|
|
階層型ファイアウォール ポリシーのルールでサポート | |||
グローバル ネットワーク ファイアウォール ポリシーとリージョン ネットワーク ファイアウォール ポリシーのルールでサポート | |||
VPC ファイアウォール ルールでサポート | |||
上り(内向き)ファイアウォール ルールには、VPC ネットワーク ピアリングを使用して接続された VPC ネットワークの送信元を含めることができます | 1 | 1 | |
上り(内向き)ファイアウォール ルールには、Network Connectivity Center ハブの他の VPC スポークの送信元を含めることができます |
- タグキー
purpose-data
属性は、他の VPC ネットワーク(または他の VPC ネットワークを含む親組織)を指定します。 - 他の VPC ネットワークとファイアウォール ポリシーを使用する VPC ネットワークは、VPC ネットワーク ピアリングを使用して接続されている
IAM ロール
セキュアタグの作成と管理に必要な IAM のロールと権限の詳細については、リソースのタグの管理をご覧ください。
次のステップ
- セキュアタグに権限を付与し、セキュアタグの Key-Value ペアを作成する。セキュアタグを作成して管理するをご覧ください。
- ネットワーク ピアリングでセキュアタグを使用するには、ピアリングされるネットワーク間でセキュアタグを使用するをご覧ください。