Frontend Craft Labフロントエンド開発の実験場
← 記事一覧に戻る
security

reCAPTCHA Enterpriseとは?

reCAPTCHA Enterpriseとは

reCAPTCHA Enterpriseは、従来のreCAPTCHA v2とv3をベースに、企業向けにより高度なセキュリティ機能を提供する再設計されたサービスです。

reCAPTCHA Enterprise

サービスティア

reCAPTCHAには以下の3つのティアがあります:

  • Essentials(基本プラン)
  • Standard(標準プラン)
  • Enterprise(企業向けプラン)

主な機能

Enterpriseプランでは、従来版にない以下の機能が追加されています:

  • 多要素認証(MFA)
  • パスワード漏洩検出
  • より詳細なスコアリング
  • モバイルSDKのサポート
  • リアルタイム分析ダッシュボード
  • 高度なログ監査機能
  • 99.9%のSLA保証

各ティアの機能比較はこちら

料金体系(2024年4月以降)

各ティアの料金体系は以下の通りです:

プラン 料金
Essentials 月間10,000件まで無料
Standard 10,000件まで無料、月間100,000件まで$8
Enterprise 10,000件まで無料、100,000件まで$8、以降1,000件ごとに$1

※ 以前は月間100万件まで無料でしたが、2024年4月以降は10,000件に縮小されています。

Google Cloudプロジェクトへの移行

重要なお知らせ

  • 2025年末までにGoogle CloudプロジェクトへのreCAPTCHAの紐づけが必要です
  • 手動での移行が推奨されますが、自動移行も予定されています

移行時の注意点

実装方法には2つのアプローチがあります:

  1. 従来の実装方法(Classic)

    • 既存のキーを使用
    • キーの確認方法が変更
  2. Google Cloud方式

    • 新しい実装方法
    • より高度な機能を利用可能

移行手順

  1. Google Cloudプロジェクトの作成
  2. reCAPTCHA Enterprise APIの有効化
  3. 新しいサイトキーの発行
  4. 実装コードの更新(必要な場合)

詳細な移行手順はこちら

移行作業のチェックリスト

Enterprise版への移行を計画的に進めるためのチェックリストです。

事前準備

  • 現在のreCAPTCHA実装状況の確認

    • 使用中のバージョン(v2/v3)の特定
    • サイトキーとシークレットキーの確認
    • 実装箇所の洗い出し(フォーム、ログインなど)
  • Google Cloudプロジェクトの準備

    • 新規プロジェクト作成または既存プロジェクト選択
    • reCAPTCHA Enterprise APIの有効化
    • 請求先アカウントの設定

移行作業

  • Enterprise版のキー発行

    • サイトキーの作成
    • 認証方式の選択(レガシーシークレットキーまたはGoogle Cloud認証)
    • キーの設定(ドメイン制限、スコアしきい値など)
  • フロントエンド実装の更新

    • スクリプトタグの更新
    • 実行メソッドの変更(grecaptcha.enterprise.execute
    • エラーハンドリングの追加
  • バックエンド実装の更新

    • 検証エンドポイントの変更
    • 認証方法の更新
    • レスポンス処理の調整

テストと検証

  • 開発環境でのテスト

    • トークン生成の確認
    • バックエンド検証の確認
    • エラーケースのテスト
  • 本番環境への段階的デプロイ

    • トラフィックの一部で試験運用
    • モニタリングと分析
    • 完全移行

運用体制の整備

  • モニタリング設定

    • Google Cloudダッシュボードの設定
    • アラート通知の設定
    • 利用量の監視
  • 予算管理

    • 月間利用量の予測
    • 予算アラートの設定
    • 定期的な利用状況レビュー
  • ドキュメント整備

    • 実装方法の文書化
    • トラブルシューティングガイドの作成
    • 担当者向けマニュアルの整備

まとめ

reCAPTCHA Enterpriseは、従来のバージョンから大幅に機能が強化され、より高度なセキュリティ対策が可能になりました。ただし、無料利用枠の縮小や移行作業の必要性など、注意すべき点もあります。サービスの規模や要件に応じて、適切なプランを選択することが重要です。

キー管理の詳細

クラシック版とエンタープライズ版では、キーの管理方法が大きく異なります。

クラシック版(v2/v3)のキー管理

  • サイトキー (Site key)

    • フロントエンド用の公開キー
    • HTMLやJavaScriptに埋め込んで使用
    • 旧reCAPTCHA管理画面で発行
  • シークレットキー (Secret key)

    • バックエンド用の秘密キー
    • siteverifyエンドポイントでの検証に使用
    • 公開してはいけない情報

エンタープライズ版のキー管理

  • サイトキー

    • Google Cloud Console上で管理
    • フロントエンド実装は従来と同様
  • 認証方式(2つのオプション)

    1. レガシーシークレットキーモード

      • 既存システムとの互換性維持
      • 従来のsiteverifyエンドポイントが使用可能
      • 移行時に自動的に発行
    2. Google Cloud認証

      • APIキーまたはサービスアカウントを使用
      • より高度な機能とセキュリティ
      • 推奨される実装方式

実装上の注意点

  • エンタープライズ版では新APIエンドポイント(recaptchaenterprise.googleapis.com)の使用を推奨
  • 既存システムは「レガシーシークレットキー」で段階的に移行可能
  • 新規実装の場合はGoogle Cloud認証方式を選択すべき
  • キーの管理はすべてGoogle Cloud Console上で一元化

移行の詳細についてはこちら

よくある質問 | reCAPTCHA | Google for Developers

予算計画の立て方

reCAPTCHA Enterpriseは米ドル建ての料金体系ですが、日本企業向けに円建ての予算を立てる方法を解説します。

  • サービス名:reCAPTCHA Enterprise
  • サービス概要:reCAPTCHA Enterpriseは、Google Cloud Platform上で提供される不正アクセス防止サービスです。
  • 導入理由:旧来のreCAPTCHA の サービスが変更になり、新しいサービスに移行するため
  • 費用対効果:
  • 支払い方法:クレジットカード
  • 請求先:Google Cloud請求アカウントに紐づけられたクレジットカード
  • 支払いサイト:Google Cloud Console
  • 金額:

予算計画のイメージ

料金計算の基本(2024年現在)

月間評価件数 プラン 料金(USD) 日本円換算(概算)
~10,000件 Essentials $0 ¥0
10,001~100,000件 Standard $8/月 ¥1,200~1,400
100,001件以降 Enterprise $1/1,000件 ¥150/1,000件

※ 円換算は1ドル=150円で概算。為替レートにより変動します。

利用ケース別の予算設定

1. 月間1万件以内の場合

  • 基本的に無料(Essentialsプラン)
  • 予算計上:月額 ¥0~1,400
  • Google Cloud請求アラートで超過監視推奨

2. 月間1~10万件の場合

  • Standardプラン固定料金
  • 予算計上:月額 ¥1,500 × 12ヶ月 = 年額 ¥18,000
  • 10万件までは定額で利用可能

3. 月間10万件超の場合

例)月間15万件の場合:

  • 基本料金:$8(約¥1,200)
  • 超過分(5万件):$50(約¥7,500)
  • 合計:約¥8,700/月

予算申請時の注意点

  1. 為替変動への対応

    • ドル建て請求のため、為替レートの変動を考慮
    • 余裕を持った予算設定を推奨
  2. 請求方法

    • クレジットカード決済
    • 法人契約の場合は請求書払い可能
    • Google Cloud Billingでまとめて請求
  3. 予算申請用コメント例

    Google reCAPTCHA Enterpriseは、Google Cloud Platform上で提供される
    不正アクセス防止サービスです。当社Webサイトでの問い合わせフォーム保護のため、
    月間評価件数約1万件を想定して、年間最大 ¥18,000 程度の予算を申請します
    (Google公式料金:$8/月 = 約¥1,200、為替リスクを見込み月額¥1,500計上)。
    

予算管理のベストプラクティス

  • Google Cloud予算アラートの設定
  • 月次での利用状況モニタリング
  • 四半期ごとの予算見直し
  • 為替変動の定期チェック

予算管理

料金詳細 | reCAPTCHA Enterprise | Google Cloud

請求先の設定と管理

Google Cloud請求アカウントの設定

reCAPTCHA Enterpriseの利用料金は、Google Cloud請求アカウントを通じて請求されます。

請求設定

請求先の種類

  1. 個人請求(クレジットカード)

    • 即時利用開始可能
    • クレジットカードによる自動決済
    • 毎月の利用料が自動請求
  2. 法人請求

    • 請求書払いが可能
    • 法人向け支払い条件の設定
    • 税務処理に必要な書類の発行

    請求書払いとは

    請求書払いは、Google Cloudの請求書を印刷して手動で支払う方法です。

請求先設定の手順

  1. Google Cloudコンソールでの設定

    • 請求アカウントの作成
    • 支払い方法の登録
    • 予算アラートの設定
  2. 法人請求の場合の追加手順

    • 法人情報の登録
    • 担当者情報の設定
    • 請求書送付先の指定

注意すべきポイント

  • 請求の単位

    • 組織(ドメイン)単位での請求
    • 複数プロジェクトの料金をまとめて請求可能
    • サービス別の利用明細あり
  • 予算管理

    • プロジェクト単位での予算設定
    • 利用量に応じたアラート設定
    • 月次レポートの確認
  • 支払い条件

    • 支払期限:請求書発行から30日以内
    • 最低請求額:なし(利用分のみ)
    • 為替レート:請求時のレートを適用

Google Cloud 請求に関するドキュメント

reCAPTCHAの実装確認方法

サイトにreCAPTCHAが正しく実装されているか、またどのバージョンが使用されているかを確認する最も確実な方法はブラウザのコンソールを使用することです。

コンソールからの確認手順

1. grecaptchaオブジェクトの存在確認

まず、reCAPTCHAが読み込まれているかどうかを確認します:

typeof grecaptcha

結果の解釈:

  • "object" → reCAPTCHAが正常に読み込まれています
  • "undefined" → reCAPTCHAが読み込まれていません(実装に問題がある可能性)

2. Enterpriseバージョンかクラシックバージョンかの判別

次に、どのバージョンが使用されているかを確認します:

grecaptcha.enterprise

結果の解釈:

  • undefined → クラシック版(v2/v3)が使用されています(grecaptcha.execute()で実行)
  • object → Enterprise版が使用されています(grecaptcha.enterprise.execute()で実行)

3. より詳細な構造確認

さらに詳しく調べるには:

console.dir(grecaptcha);

または:

Object.keys(grecaptcha)

Enterprise版が正しく読み込まれている場合、返される配列にenterpriseというキーが含まれているはずです。

実装の違いによる動作確認

クラシック版(v2/v3)の実行例

// v3の場合
grecaptcha.execute('サイトキー', {action: 'submit'})
  .then(function(token) {
    console.log('クラシック版トークン:', token);
  });

Enterprise版の実行例

// Enterprise版
grecaptcha.enterprise.execute('サイトキー', {action: 'submit'})
  .then(function(token) {
    console.log('Enterprise版トークン:', token);
  });

注意点

  • 同じページに両方のバージョンを読み込むことは避けてください(競合の原因になります)
  • Enterprise版に移行する場合は、フロントエンドとバックエンドの両方を更新する必要があります
  • 実装方法が異なるため、APIの呼び出し方法も変更が必要です

reCAPTCHA確認方法

よくある実装トラブルと解決方法

reCAPTCHA Enterpriseへの移行や実装時によく発生する問題とその解決方法をまとめました。

1. スクリプト読み込みの問題

症状: grecaptcha is not definedというエラーが発生する

解決策:

  • スクリプトタグが正しく配置されているか確認
  • 非同期読み込み(async属性)を使用している場合は、実行前に読み込み完了を確認
  • 正しいAPIバージョンのスクリプトを読み込んでいるか確認
<!-- Enterprise版の正しいスクリプト読み込み -->
<script src="https://www.google.com/recaptcha/enterprise.js?render=YOUR_SITE_KEY" async defer></script>

2. Enterprise版とクラシック版の混在

症状: トークン生成はできるが、バックエンドでの検証に失敗する

解決策:

  • フロントエンドとバックエンドで同じバージョンを使用しているか確認
  • Enterprise版を使用している場合は、grecaptcha.enterprise.execute()を使用
  • バックエンドの検証エンドポイントが正しいか確認
// Enterprise版の正しい実行方法
grecaptcha.enterprise.ready(function() {
  grecaptcha.enterprise.execute('YOUR_SITE_KEY', {action: 'login'})
    .then(function(token) {
      // トークンをサーバーに送信
    });
});

3. ドメイン制限の問題

症状: 特定の環境でのみreCAPTCHAが動作しない

解決策:

  • Google Cloud Consoleでサイトキーの設定を確認
  • 許可ドメインリストに開発環境や本番環境のドメインが含まれているか確認
  • サブドメインやローカル環境(localhost)も必要に応じて追加

4. モバイル対応の問題

症状: モバイルデバイスでreCAPTCHAが正しく表示されない、または機能しない

解決策:

  • モバイル向けのSDKを使用しているか確認
  • レスポンシブデザインでreCAPTCHAが適切に表示されるか確認
  • タッチイベントの処理が正しく行われているか確認

5. スコアリングの問題

症状: 正常なユーザーがブロックされる、または不正アクセスが検出されない

解決策:

  • スコアのしきい値を調整(初期設定は0.5)
  • アクション名を適切に設定して文脈を提供
  • 複数の検証要素を組み合わせる(スコア + ユーザー行動分析)
// アクション名を明示的に設定
grecaptcha.enterprise.execute('YOUR_SITE_KEY', {action: 'login_form_submit'})

6. 請求と予算の問題

症状: 予想以上の請求が発生する

解決策:

  • 利用量モニタリングを設定
  • 予算アラートを適切なしきい値で設定
  • 不要なAPI呼び出しを最小限に抑える実装パターンを採用

7. 移行期間中の互換性問題

症状: 移行中に一部機能が動作しなくなる

解決策:

  • 段階的な移行計画を立てる
  • A/Bテストで一部トラフィックのみに新実装を適用
  • フォールバックメカニズムを実装