reCAPTCHA 指標をモニタリングする

このドキュメントでは、Identity Platform と reCAPTCHA Enterprise API の統合の結果として Identity Platform が出力する reCAPTCHA 指標と、Cloud Monitoring でそれらを表示する方法について説明します。

reCAPTCHA 指標

Identity Platform と reCAPTCHA Enterprise API の統合を設定し、必要に応じて reCAPTCHA SMS 通信不正利用保護を有効にすると、プロジェクトで出力される reCAPTCHA 指標をモニタリングして、認証フローが保護されていることを確認できます。reCAPTCHA キーのプロビジョニングが失敗するか、必要なサービス アカウントが作成されなかった場合、reCAPTCHA 認証は失敗します。

監査モードで reCAPTCHA ボット保護または SMS 通信不正利用保護を有効にしている場合は、reCAPTCHA 指標をモニタリングすると、適用を有効にできるかどうかを判断できます。適用を有効にする前に、次の点を考慮する必要があります。

  • 最近のリクエストの大部分に有効なトークンがあり、PASSEDFAILED_AUDIT または FAILED_ENFORCE 判定の比率がビジネスケースで許容できる場合、適用の有効化を検討します。
  • 最近のリクエストの大部分が古いクライアントからのリクエストである可能性が高い場合、適用を有効にする前に、より多くのユーザーがアプリを更新するまで待つことを検討します。Identity Platform と reCAPTCHA Enterprise API のインテグレーションを適用すると、reCAPTCHA とのインテグレーションが未実行である旧アプリ バージョンが機能しなくなります。

統合機能が意図したとおりに動作していることを確認するには、プロジェクトが Cloud Monitoring に出力する次の指標を調べます。

identitytoolkit.googleapis.com/recaptcha/verdict_count

この指標は、reCAPTCHA から返されるさまざまな判定をトラッキングします。判定は、トークンが存在する場合に生成されます。以下の判定でフィルタリングできます。

  • PASSED: 適用が有効な場合に、特定のリクエストが許可されることを示します。
  • FAILED_AUDIT: reCAPTCHA 監査モードが有効な場合に、特定のリクエストが拒否されることを示します。
  • FAILED_ENFORCE: reCAPTCHA 適用モードが有効な場合に、特定のリクエストが拒否されることを示します。
  • CLIENT_TYPE_MISSING: reCAPTCHA 適用が有効な場合に、特定のリクエストに不足しているクライアントの種類があることを示します。通常、このエラーは、reCAPTCHA をサポートしていない古いクライアント SDK バージョンを使用してリクエストが送信された場合に発生します。
  • KEYS_MISSING: reCAPTCHA 適用が有効な場合に、Identity Platform が有効な reCAPTCHA キーを取得できないため、特定のリクエストを検証できないことを示します。

スコア範囲を変更して、判定結果の「合格」と「不合格」の比率を変更するには、reCAPTCHA ボット対策を有効にするをご覧ください。

identitytoolkit.googleapis.com/recaptcha/token_count

この指標は、Identity Platform バックエンドで受信された reCAPTCHA トークンの数とステータスをトラッキングします。以下のステータスでフィルタできます。

  • VALID: 渡された reCAPTCHA トークンが有効であることを示します。
  • EXPIRED: 渡された reCAPTCHA トークンが期限切れであることを示します。期限切れのトークンは、クライアント ネットワークの問題や不正使用を示している可能性があります。
  • DUPLICATE: 渡された reCAPTCHA トークンが重複していることを示します。重複トークンは、クライアント ネットワークの問題や不正使用を示している可能性があります。
  • INVALID: 渡された reCAPTCHA トークンが無効であることを示します。無効なトークンは、不正使用を示している可能性があります。
  • MISSING: 渡された reCAPTCHA トークンが特定のリクエストに存在しないことを示します。トークンの欠落は、古いクライアント アプリを示している可能性があります。
  • UNCHECKED: CLIENT_TYPE_MISSING または KEYS_MISSING の判定結果が原因で reCAPTCHA トークンがチェックされなかったことを示します。

アプリがユーザーに対して正常にロールアウトされた場合、有効なトークンを含むトラフィックが表示されます。有効なトークンの数は、更新されたアプリを使用しているユーザーの数に比例する可能性がります。

identitytoolkit.googleapis.com/recaptcha/risk_scores

この指標は、reCAPTCHA のスコア分布をトラッキングします。これは、ボット対策の構成に最適なスコア範囲を定義するのに役立ちます。

identitytoolkit.googleapis.com/recaptcha/sms_tf_risk_scores

この指標は、特定の Identity Platform プロジェクトの SMS 通信不正利用防止リスクスコアの分布を追跡します。これは、SMS 通信不正利用防止の構成に最適なスコア範囲を定義する際に役立ちます。

reCAPTCHA 指標を表示する

Cloud Monitoring で reCAPTCHA の指標を表示する手順は次のとおりです。

  1. Google Cloud コンソールで、[Metrics Explorer] ページに移動します。

    Metrics Explorer に移動

  2. [指標を選択] から、[Identity Toolkit テナント] を入力します。マルチテナンシーを使用している場合、各テナントだけでなく、tenant_name を空白にすることで親プロジェクトの指標も表示できます。

次のステップ