問題タブ [google-cloud-armor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
92 参照

google-cloud-armor - Google Cloud Armor に recaptcha スコアを解釈させる方法

次の設定で GKE アプリケーションを使用しています。

  • フロントアプリの動作example.com
  • バックエンドアプリが動作api.example.com

Ingress を介してこれらの負荷を公開すると、すべてがクールに見えます。Cloud Armor でアプリケーションを保護したい。サービスにアノテーションを追加しapiました。ポリシーに「すべての IP を拒否する」ルールが 1 つしかない場合、バックエンド エンドポイントに到達できず、ルールを「すべての IP を許可する」に変更すると到達できることを確認できます。したがって、GCA 自体は問題なく動作します。

reCaptcha Enterprise を接続して、そのスコアを Google Cloud Armor で解釈しようとしましたが、うまくいきません。次のルールを作成しましたが、追加した値token.recaptcha.scoreがまったく解釈されないようです。

ルール

したがって、提示された例では、ルールを "> 0.1" のように途方もなく小さくしても、常にブロックされます。フロントX-Recaptcha-Tokenはバックエンドに送信するので、すべてを正しく行ったように見えます。

私が確信していないのは、この許可ルールが正しく定義されているかどうかだけです。GCP Logging はポリシーが適用されたことを示していますが、正確にはどのルールかわかりません:

jsonPayload.enforcedSecurityPolicy.priorityフィールドがデフォルトのルールを指していると仮定します。これは、Allowルールが機能しないことを意味します。

また、reCaptcha キーは、ドキュメントに従ってGoogle に電子メールで送信することで有効になっています。