このページでは、Google Cloud Armor セキュリティ ポリシー内のルールを管理する方法について説明します。これには、個々のルールの更新、複数のルールのアトミックな更新、ルールの削除が含まれます。
セキュリティ ポリシーで新しいルールを作成する、または既存のルールを表示するには、Cloud Armor セキュリティ ポリシー ルールを作成して表示するをご覧ください。セキュリティ ポリシー コンテナ自体を管理するには、Cloud Armor セキュリティ ポリシーを管理するをご覧ください。
セキュリティ ポリシーのルールを管理する
以降のセクションでは、セキュリティ ポリシー ルールを更新または削除する方法について説明します。
セキュリティ ポリシー内の単一のルールを更新する
このセクションでは、Cloud Armor セキュリティ ポリシーの単一のルールを更新する方法について説明します。複数のルールをアトミックに更新するには、セキュリティ ポリシーで複数のルールをアトミックに更新するをご覧ください。
コンソール
Google Cloud コンソールで、[Cloud Armor ポリシー] ページに移動します。
セキュリティ ポリシーの名前をクリックして、[ポリシーの詳細] ページを開きます。
[ルール] タブをクリックします。
更新するルールの横にある [編集] をクリックします。[ルールの編集] ページが表示されます。
変更を加え、[更新] をクリックします。
gcloud
ルールを更新するには、次のコマンドを使用します。一度に更新できるセキュリティ ポリシーは 1 つだけです。
gcloud compute security-policies rules update PRIORITY [ \
--security-policy POLICY_NAME \
--description DESCRIPTION \
--src-ip-ranges IP_RANGES | --expression EXPRESSION \
--action=[ allow | deny-403 | deny-404 | deny-502 ] \
--preview
]
たとえば、次のコマンドは、IP アドレス範囲 192.0.2.0/24 からのトラフィックを許可する優先度 1111 のルールを更新します。
gcloud compute security-policies rules update 1111 \
--security-policy my-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
update をご覧ください。
ルールの優先度を更新するには、REST API を使用します。securityPolicies.patchRule をご覧ください。
セキュリティ ポリシーの複数のルールをアトミックに更新する
アトミック更新機能を使用すると、1 回の更新で複数のルールに変更を適用できます。単一ルールの更新では、古いルールと新しいルールが短期間重複する可能性があるため、エラーなどの意図しない動作が発生する可能性があります。
複数のルールをアトミックに更新するには、現在のセキュリティ ポリシーを JSON ファイルまたは YAML ファイルにエクスポートして、ファイルを変更します。変更したファイルを使用してセキュリティ ポリシーを作成し、バックエンド サービスのセキュリティ ポリシーを切り替えます。
gcloud
次の例に示すように、更新するポリシーをエクスポートします。
gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yamlエクスポートされたポリシーは、次の例のようになります。
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredWaf('xss-v422-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 2 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policyテキスト エディタを使用してポリシーを変更します。たとえば、既存のルールの優先度を変更したり、ルールを追加したりできます。
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredWaf('xss-v422-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-new-rule match: config: srcIpRanges: - '1.2.3.1' versionedExpr: SRC_IPS_V1 preview: false priority: 10 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 11 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy次の例に示すように、新しい Cloud Armor セキュリティ ポリシーを作成し、変更したファイルの名前と形式を指定します。
gcloud compute security-policies create new-policy \ --file-name modified-policy \ --file-format yaml次の例に示すように、関連するバックエンド サービスから古いセキュリティ ポリシーを削除します。
gcloud compute backend-services update my-backend \ --security-policy ""次の例に示すように、新しいセキュリティ ポリシーをバックエンド サービスに追加します。
gcloud compute backend-services update my-backend \ --security-policy new-policy古いポリシーが使用されていない場合は、ポリシーを削除します。
gcloud compute security-policies delete my-policy
セキュリティ ポリシーからルールを削除する
このセクションの手順に沿って、Cloud Armor セキュリティ ポリシーからルールを削除します。
コンソール
Google Cloud コンソールで、[Cloud Armor ポリシー] ページに移動します。
セキュリティ ポリシーの名前をクリックして、[ポリシーの詳細] ページを開きます。
[ルール] タブで、削除するルールの横にあるチェックボックスをオンにします。
[削除] をクリックします。
gcloud
ルールを削除するには、次のコマンドを使用します。一度に変更できるセキュリティ ポリシーは 1 つだけですが、複数のルールを一度に削除できます。
gcloud compute security-policies rules delete PRIORITY [...] [
--security-policy POLICY_NAME \
]
次に例を示します。
gcloud compute security-policies rules delete 1000 \
--security-policy my-policy
次のステップ
- セキュリティ ポリシーを作成して表示する
- セキュリティ ポリシー ルールを作成して表示する
- セキュリティ ポリシーを管理する
- ウェブ アプリケーション ファイアウォール(WAF)ルールを調整する
- 問題のトラブルシューティングを行う