このページでは、さまざまなタイプのロードバランサ用のセキュリティ ポリシーの構成例について説明します。
外部アプリケーション ロードバランサ用のセキュリティ ポリシーを構成する
以下では、グローバル外部アプリケーション ロードバランサまたは従来のアプリケーション ロードバランサへのトラフィックを許可または拒否するルールを有効にするように Google Cloud Armor セキュリティ ポリシーを構成する手順について概要を説明します。
- Cloud Armor セキュリティ ポリシーを作成します。
- IP アドレスのリスト、カスタムの式、または事前に構成された式のセットに基づいて、セキュリティ ポリシーにルールを追加します。
- アクセスを制御する対象の、グローバル外部アプリケーション ロードバランサまたは従来のアプリケーション ロードバランサのバックエンド サービスに、セキュリティ ポリシーを関連付けます。
- 必要に応じて、セキュリティ ポリシーを更新します。
次の例では、2 つの Cloud Armor セキュリティ ポリシーを作成し、それらのポリシーを異なるバックエンド サービスに適用しています。
この例における Cloud Armor セキュリティ ポリシーは、次のとおりです。
mobile-clients-policyは、gamesサービスの外部ユーザーに適用されます。internal-users-policyは、組織のtest-networkチームに適用されます。
mobile-clients-policy を games サービス(対応するバックエンド サービスの名前は games)に適用し、internal-users-policy をテストチーム向けの内部 test サービス(対応するバックエンド サービスの名前は test-network)に適用します。
あるバックエンド サービスのバックエンド インスタンスが複数のリージョンに存在する場合、そのサービスに関連付けられた Cloud Armor セキュリティ ポリシーは、すべてのリージョンのインスタンスに適用されます。上記の例では、セキュリティ ポリシー mobile-clients-policy は us-central のインスタンス 1、2、3、4 と us-east のインスタンス 5、6 に適用されます。
サンプルを作成する
前のセクションで説明したサンプルの構成を作成するには、以下の手順を行います。
コンソール
外部ユーザー用のセキュリティ ポリシーを構成します。
Google Cloud コンソールで、Google Cloud Armor ポリシーのページに移動します。
[ポリシーを作成] をクリックします。
[名前] フィールドに「
mobile-clients-policy」と入力します。[説明] フィールドに「
Policy for external users」と入力します。[デフォルトのルール アクション] で [拒否] を選択します。
[拒否ステータス] で [404(未検出)] を選択します。
[次のステップ] をクリックします。
ルールを追加します。
- [ルールを追加] をクリックします。
- [説明] フィールドに「
allow traffic from 192.0.2.0/24」と入力します。 - [モード] で [基本モード(IP アドレスまたは IP 範囲のみ)] を選択します。
- [一致] フィールドに「
192.0.2.0/24」と入力します。 - [アクション] で [許可] を選択します。
- [優先度] に「
1000」と入力します。 - [完了] をクリックします。
- [次のステップ] をクリックします。
ターゲットにポリシーを適用します。
- [ターゲットを追加] をクリックします。
- [ターゲット] リストで、ターゲットを選択します。
- [完了] をクリックします。
- [ポリシーを作成] をクリックします。
必要に応じて、Google Cloud Armor の適応型保護を有効にします。
- 適応型保護を有効にするには、[有効] チェックボックスをオンにします。
以下の手順で内部ユーザー用のポリシーを構成します。
- [ポリシーを作成] をクリックします。
- [名前] フィールドに「
internal-users-policy」と入力します。 - [説明] フィールドに「
Policy for internal test users」と入力します。 - [デフォルトのルール アクション] で [拒否] を選択します。
- [拒否ステータス] で [502(不正なゲートウェイ)] を選択します。
- [次のステップ] をクリックします。
ルールを追加します。
- [ルールを追加] をクリックします。
- [説明] フィールドに「
allow traffic from 198.51.100.0/24」と入力します。 - [モード] で [基本モード(IP アドレスまたは IP 範囲のみ)] を選択します。
- [一致] フィールドに「
198.51.100.0/24」と入力します。 - [アクション] で [許可] を選択します。
- [プレビューのみ] で [有効にする] チェックボックスをオンにします。
- [優先度] に「
1000」と入力します。 - [完了] をクリックします。
- [次のステップ] をクリックします。
ターゲットにポリシーを適用します。
- [ターゲットを追加] をクリックします。
- [ターゲット] リストで、ターゲットを選択します。
- [完了] をクリックします。
- [ポリシーを作成] をクリックします。
gcloud
Cloud Armor セキュリティ ポリシーを作成します。
gcloud compute security-policies create mobile-clients-policy \ --description "policy for external users"gcloud compute security-policies create internal-users-policy \ --description "policy for internal test users"セキュリティ ポリシーに対するデフォルトのルールを更新し、トラフィックを拒否します。
gcloud compute security-policies rules update 2147483647 \ --security-policy mobile-clients-policy \ --action "deny-404"gcloud compute security-policies rules update 2147483647 \ --security-policy internal-users-policy \ --action "deny-502"セキュリティ ポリシーにルールを追加します。
gcloud compute security-policies rules create 1000 \ --security-policy mobile-clients-policy \ --description "allow traffic from 192.0.2.0/24" \ --src-ip-ranges "192.0.2.0/24" \ --action "allow"gcloud compute security-policies rules create 1000 \ --security-policy internal-users-policy \ --description "allow traffic from 198.51.100.0/24" \ --src-ip-ranges "198.51.100.0/24" \ --action "allow"セキュリティ ポリシーをバックエンド サービスに関連付けます。
gcloud compute backend-services update games \ --security-policy mobile-clients-policygcloud compute backend-services update test-network \ --security-policy internal-users-policy必要に応じて、適応型保護を有効にします。
gcloud compute security-policies update mobile-clients-policy \ --enable-layer7-ddos-defensegcloud compute security-policies update internal-users-policy \ --enable-layer7-ddos-defense
セキュリティ ポリシーを作成する
セキュリティ ポリシーは、 Google Cloud コンソールまたは gcloud CLI を使用して作成できます。このセクションの手順では、既存のグローバル外部アプリケーション ロードバランサ、または従来のアプリケーション ロードバランサと、それらのバックエンド サービスに適用するセキュリティ ポリシーを構成することを想定しています。フィールドの入力方法の例については、サンプルを作成するをご覧ください。
コンソール
Cloud Armor のセキュリティ ポリシーとルールを作成し、セキュリティ ポリシーをバックエンド サービスに関連付けます。
Google Cloud コンソールで、Google Cloud Armor ポリシーのページに移動します。
[ポリシーを作成] をクリックします。
[名前] フィールドに、ポリシーの名前を入力します。
(省略可)ポリシーの [説明] を入力します。
[ポリシータイプ] で、[バックエンド セキュリティ ポリシー] または [Edge のセキュリティ ポリシー] を選択します。
デフォルト ルールのアクションで、アクセスを許可するデフォルト ルールの場合は [許可] を選択します。IP アドレスまたは IP アドレス範囲へのアクセスを禁止するデフォルト ルールの場合は [拒否] を選択します。
デフォルトのルールは、他に適用するルールがない場合にのみ適用される、最も優先度の低いルールです。
拒否ルールを作成している場合は、[拒否ステータス] メッセージを選択します。これは、アクセス権のないユーザーがアクセスしようとした場合に表示されるエラー メッセージです。
作成するルールのタイプに関係なく、[次のステップ] をクリックします。
ルールを追加します。
- [ルールを追加] をクリックします。
- 省略可: ルールの説明を入力します。
モードを選択します。
- 基本モード: IP アドレスまたは範囲に基づいてトラフィックを許可または拒否します。
- 詳細モード: ルール式に基づいてトラフィックを許可または拒否します。
[一致] フィールドで、ルールが適用される条件を指定します。
- 基本モード: ルールで一致対象とする IP アドレスまたは IP 範囲を入力します。
- 詳細モード: 受信リクエストと照らして評価する式またはサブ式を入力します。式の作成方法については、カスタムルール言語属性の構成をご覧ください。
ルールが一致する場合にトラフィックを許可または拒否するため、[アクション] で [許可] または [拒否] を選択します。
プレビュー モードを有効にするには、[有効にする] チェックボックスをオンにします。プレビュー モードでは、ルールの動作を確認できますが、ルールは有効になっていません。
ルールの優先度を入力します。0~2,147,483,646 の正の整数を指定できます。評価順序の詳細については、ルール評価の順序をご覧ください。
[完了] をクリックします。
さらにルールを追加するには、[ルールを追加] をクリックして前の手順を繰り返します。追加しない場合は、[次のステップ] をクリックします。
ターゲットにポリシーを適用します。
- [ターゲットを追加] をクリックします。
- [ターゲット] リストで、ターゲットを選択します。
- さらにターゲットを追加するには、[ターゲットを追加] をクリックします。
- [完了] をクリックします。
- [ポリシーを作成] をクリックします。
gcloud
新しい Cloud Armor セキュリティ ポリシーを作成するには、
gcloud compute security-policies createコマンドを使用します。typeフィールドでは、CLOUD_ARMOR(バックエンド セキュリティ ポリシーを作成する場合)またはCLOUD_ARMOR_EDGE(エッジ セキュリティ ポリシーを作成する場合)を使用します。typeフラグは省略可能です。タイプが指定されていない場合は、バックエンド セキュリティ ポリシーがデフォルトで作成されます。