メイン コンテンツにスキップ
S3NS
ドキュメント テクノロジー分野
  • アプリケーション開発
  • アプリケーションのホスティング
  • コンピューティング
  • データ分析とパイプライン
  • データベース
  • ネットワーキング
  • オブザーバビリティとモニタリング
  • セキュリティ
  • Storage
プロダクト横断型のツール
  • アクセスとリソースの管理
  • Google Cloud SDK、言語、フレームワーク、ツール
  • Infrastructure as code
/
  • English
  • Deutsch
  • Español
  • Español – América Latina
  • Français
  • Indonesia
  • Italiano
  • Português
  • Português – Brasil
  • 中文 – 简体
  • 中文 – 繁體
  • 日本語
  • 한국어
  • Google Cloud Armor
  • Documentation
概要 ガイド リファレンス サポート リソース
S3NS
  • ドキュメント
    • 概要
    • ガイド
    • リファレンス
    • サポート
    • リソース
  • テクノロジー分野
    • その他
  • プロダクト横断型のツール
    • その他
  • Discover
  • サービスの概要
  • 他の Google サービスと統合する
  • おすすめの方法
  • Trusted Cloud の違い
  • 使ってみる
  • セキュリティ ポリシーの概要
  • セキュリティ ポリシーのユースケース
  • セキュリティ ポリシーを構成する
  • セキュリティ ポリシーの例
  • ケーパビリティを追加する
  • カスタムルール言語属性の構成
  • 事前構成された WAF ルールの使用
    • 概要
    • WAF ルールを設定する
    • WAF ルールを調整する
  • レート制限の適用
    • 概要
    • レート制限を構成する
  • POST 本文のコンテンツ解析
  • 詳細ログ
  • タグを管理
  • タグの作成と管理
  • モニタリングとトラブルシューティング
  • セキュリティ ポリシーのモニタリング
  • リクエスト ロギングの使用
  • トラブルシューティング
  • アプリケーション開発
  • アプリケーションのホスティング
  • コンピューティング
  • データ分析とパイプライン
  • データベース
  • ネットワーキング
  • オブザーバビリティとモニタリング
  • セキュリティ
  • Storage
  • アクセスとリソースの管理
  • Google Cloud SDK、言語、フレームワーク、ツール
  • Infrastructure as code
このページの一部またはすべての情報は、S3NS の Trusted Cloud に適用されない場合があります。詳細については、Google Cloud との違いをご確認ください。
  • Home
  • ドキュメント
  • Google Cloud Armor
  • Documentation
  • ガイド

セキュリティ ポリシーの例

このページでは、さまざまなタイプのロードバランサ用のセキュリティ ポリシーの構成例について説明します。

セキュリティ ポリシーを作成する

セキュリティ ポリシーは、 Trusted Cloud コンソールまたは gcloud CLI を使用して作成できます。このセクションの手順では、既存のグローバル外部アプリケーション ロードバランサ、または従来のアプリケーション ロードバランサと、それらのバックエンド サービスに適用するセキュリティ ポリシーを構成することを想定しています。フィールドの入力方法の例については、サンプルを作成するをご覧ください。

コンソール

Cloud Armor のセキュリティ ポリシーとルールを作成し、セキュリティ ポリシーをバックエンド サービスに関連付けます。

  1. Trusted Cloud コンソールで、Google Cloud Armor ポリシーのページに移動します。

    Google Cloud Armor ポリシーに移動

  2. [ポリシーの作成] をクリックします。

  3. [名前] フィールドに、ポリシーの名前を入力します。

  4. (省略可)ポリシーの [説明] を入力します。

  5. [ポリシータイプ] で、[バックエンド セキュリティ ポリシー] または [Edge のセキュリティ ポリシー] を選択します。

  6. デフォルト ルールのアクションで、アクセスを許可するデフォルト ルールの場合は [許可] を選択します。IP アドレスまたは IP アドレス範囲へのアクセスを禁止するデフォルト ルールの場合は [拒否] を選択します。

    デフォルトのルールは、他に適用するルールがない場合にのみ適用される、最も優先度の低いルールです。

  7. 拒否ルールを作成している場合は、[拒否ステータス] メッセージを選択します。これは、アクセス権のないユーザーがアクセスしようとした場合に表示されるエラー メッセージです。

  8. 作成するルールのタイプに関係なく、[次のステップ] をクリックします。

ルールを追加します。

  1. [ルールを追加] をクリックします。
  2. 省略可: ルールの説明を入力します。
  3. モードを選択します。

    • 基本モード: IP アドレスまたは範囲に基づいてトラフィックを許可または拒否します。
    • 詳細モード: ルール式に基づいてトラフィックを許可または拒否します。
  4. [一致] フィールドで、ルールが適用される条件を指定します。

    • 基本モード: ルールで一致対象とする IP アドレスまたは IP 範囲を入力します。
    • 詳細モード: 受信リクエストと照らして評価する式またはサブ式を入力します。式の作成方法については、カスタムルール言語属性の構成をご覧ください。
  5. ルールが一致する場合にトラフィックを許可または拒否するため、[アクション] で [許可] または [拒否] を選択します。

  6. プレビュー モードを有効にするには、[有効にする] チェックボックスをオンにします。プレビュー モードでは、ルールの動作を確認できますが、ルールは有効になっていません。

  7. ルールの優先度を入力します。0~2,147,483,646 の正の整数を指定できます。評価順序の詳細については、ルール評価の順序をご覧ください。

  8. [完了] をクリックします。

  9. さらにルールを追加するには、[ルールを追加] をクリックして前の手順を繰り返します。追加しない場合は、[次のステップ] をクリックします。

ターゲットにポリシーを適用します。

  1. [ターゲットを追加] をクリックします。
  2. [ターゲット] リストで、ターゲットを選択します。
  3. さらにターゲットを追加するには、[ターゲットを追加] をクリックします。
  4. [完了] をクリックします。
  5. [ポリシーを作成] をクリックします。

gcloud

  1. 新しい Cloud Armor セキュリティ ポリシーを作成するには、gcloud compute security-policies create コマンドを使用します。

    type フィールドでは、CLOUD_ARMOR(バックエンド セキュリティ ポリシーを作成する場合)または CLOUD_ARMOR_EDGE(エッジ セキュリティ ポリシーを作成する場合)を使用します。type フラグは省略可能です。タイプが指定されていない場合は、バックエンド セキュリティ ポリシーがデフォルトで作成されます。

    gcloud compute security-policies create NAME \
       [--type=CLOUD_ARMOR|CLOUD_ARMOR_EDGE] \
       [--file-format=FILE_FORMAT | --description=DESCRIPTION] \
       [--file-name=FILE_NAME]
    
    

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

    • NAME: セキュリティ ポリシーの名前
    • DESCRIPTION: セキュリティ ポリシーの説明

    次のコマンドは、以前に作成したポリシーを更新し、JSON の解析を有効にして、ログレベルを VERBOSE に変更します。

    gcloud compute security-policies update my-policy \
        --json-parsing=STANDARD \
        --log-level=VERBOSE
    
  2. セキュリティ ポリシーにルールを追加するには、gcloud compute security-policies rules create PRIORITY コマンドを使用します。

    gcloud compute security-policies rules create PRIORITY  \
        [--security-policy POLICY_NAME] \
        [--description DESCRIPTION] \
        --src-ip-ranges IP_RANGE,... | --expression EXPRESSION \
        --action=[ allow | deny-403 | deny-404 | deny-502 ] \
        [--preview]
    

    PRIORITY は、ポリシー内でこのルールに割り当てる優先度に置き換えます。ルールの優先度の仕組みについては、ルール評価の順序をご覧ください。

    たとえば、次のコマンドは、IP アドレス範囲 192.0.2.0/24 と 198.51.100.0/24 からのトラフィックをブロックするルールを追加します。このルールの優先度は 1000 で、my-policy という名前のポリシーに追加されます。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \
        --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \
        --action "deny-403"
    

    --preview フラグを追加すると、ルールはポリシーに追加されますが適用されず、ルールをトリガーしたトラフィックのみがログに記録されます。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \
        --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \
        --action "deny-403" \
        --preview
    

    カスタム条件を指定するには、--expression フラグを使用します。詳細については、カスタムルール言語属性の構成をご覧ください。次のコマンドは、IP アドレス 1.2.3.4 からのトラフィックを許可するルールを追加し、user-agent ヘッダーに文字列 example を含めます。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')" \
        --action allow \
        --description "Block User-Agent 'example'"
    

    次のコマンドは、リクエストの Cookie に特定の値が含まれている場合に、リクエストをブロックするルールを追加します。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')" \
        --action "deny-403" \
        --description "Cookie Block"
    

    次のコマンドは、リージョン AU からのリクエストをブロックするルールを追加します。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "origin.region_code == 'AU'" \
        --action "deny-403" \
        --description "AU block"
    

    次のコマンドは、指定した IP 範囲にないリージョン AU からのリクエストをブロックするルールを追加します。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "origin.region_code == 'AU' && !inIpRange(origin.ip, '1.2.3.0/24')" \
        --action "deny-403" \
        --description "country and IP block"
    

    次のコマンドは、正規表現に一致する URI を含むリクエストをブロックするルールを追加します。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "request.path.matches('/example_path/')" \
        --action "deny-403" \
        --description "regex block"
    

    次のコマンドは、Base64 デコードされた user-id ヘッダーの値に特定の値が含まれている場合に、リクエストをブロックするルールを追加します。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')" \
        --action "deny-403" \
        --description "country and IP block"
    

    次のコマンドは、事前構成された式セットを使用して SQLi 攻撃を軽減するルールを追加します。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "evaluatePreconfiguredWaf('sqli-stable')" \
        --action "deny-403"
    

    次のコマンドは、事前構成された式を使用して、名前付き IP アドレスリストのすべての IP アドレスからのアクセスを許可するルールを追加します。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "evaluatePreconfiguredWaf('sourceiplist-fastly')" \
        --action "allow"
    

リージョン外部アプリケーション ロードバランサ用のセキュリティ ポリシーを構成する

このセクションでは、リージョン スコープの Cloud Armor セキュリティ ポリシーを、リージョン外部アプリケーション ロードバランサ用に構成する方法について説明します。

リージョンでロード バランシングされたワークロードを保護する

リージョン スコープのバックエンド サービスを保護するセキュリティ ポリシーを構成するには、次の操作を行います。

  1. リージョン スコープのセキュリティ ポリシーを作成します。

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR \
       --region=REGION
    
  2. リージョン スコープのセキュリティ ポリシーをリージョン スコープのバックエンド サービスに関連付けます。BACKEND_NAME は、既存のリージョン スコープのバックエンド サービスの名前に置き換えます。

    gcloud compute backend-services update BACKEND_NAME \
       --security-policy=POLICY_NAME \
       --region=REGION
    

リージョン スコープの Cloud Armor セキュリティ ポリシーを適用する

例として、セキュリティ管理者が、「すべてのバックエンド ワークロードと WAF ルールが特定のリージョンにデプロイされていなければならない」という所在地の要件を満たそうとしている場合について考えてみましょう。事前に次の作業を済ませているものとします。

  1. リージョン スコープのロード バランシング バックエンド サービスを目的のリージョンで作成する。
  2. そのデプロイメントで既存のグローバル スコープのセキュリティ ポリシーを無効にする。
  3. 前のセクションと同様に、同じリージョンでリージョン スコープのセキュリティ ポリシーを作成して関連付ける。

以下のサンプル コマンドを使用することで、要件を満たしながら WAF ルールやその他の高度なルールをポリシーに追加できます。

  • ポリシーに WAF ルールを追加します。

    gcloud compute security-policies rules create 1000 --action=deny-404 \
      --expression="evaluatePreconfiguredWaf('xss-v33-stable', ['owasp-crs-v030301-id941100-xss', 'owasp-crs-v030301-id941160-xss'])" \
      --security-policy=POLICY_NAME \
      --region=REGION
    
  • ポリシーに高度なルールを追加します。

    gcloud compute security-policies rules create 1000 --action=allow \
      --expression="has(request.headers['cookie']) && request.headers['cookie'].contains('80=EXAMPLE')" \
      --security-policy=POLICY_NAME \
      --region=REGION
    
  • ポリシーにレート制限ルールを追加します。

    gcloud compute security-policies rules create 1000 --action=throttle \
      --src-ip-ranges="1.1.1.1/32" \
      --rate-limit-threshold-count=1000 \
      --rate-limit-threshold-interval-sec=120 \
      --conform-action="allow" \
      --exceed-action="deny-429" \
      --enforce-on-key=IP \
      --ban-duration-sec=999 \
      --ban-threshold-count=5000 \
      --ban-threshold-interval-sec=60 \
      --security-policy=POLICY_NAME \
      --region=REGION
    

次のステップ

  • Cloud Armor セキュリティ ポリシーを構成する
  • レート制限について学習する

特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。

最終更新日 2025-09-23 UTC。

  • 利用規約
  • プライバシー
  • Manage cookies
  • English
  • Deutsch
  • Español
  • Español – América Latina
  • Français
  • Indonesia
  • Italiano
  • Português
  • Português – Brasil
  • 中文 – 简体
  • 中文 – 繁體
  • 日本語
  • 한국어