5.11. reCAPTCHA の有効化
ボットにより勝手に登録されないように、Red Hat build of Keycloak は Google reCAPTCHA (「Google reCAPTCHA のセットアップ」 を参照) および reCAPTCHA Enterprise (「Google reCAPTCHA Enterprise のセットアップ」 を参照) と統合されています。デフォルトのテーマ (register.ftl) は、v2 (表示、チェックボックスベース) と v3 (スコアベース、非表示) の両方の reCAPTCHA をサポートしています (Choose the appropriate reCAPTCHA key type を参照)。
5.11.1. Google reCAPTCHA のセットアップ リンクのコピーリンクがクリップボードにコピーされました!
以下の URL をブラウザーに入力します。
https://www.google.com/recaptcha/admin/create
https://www.google.com/recaptcha/admin/createCopy to Clipboard Copied! Toggle word wrap Toggle overflow reCAPTCHA を作成し、Challenge v2 (チェックボックスが表示される) または Score-based v3 (表示されない) を選択して、reCAPTCHA Site Key とシークレットを取得します。この手順で今後、このキーとシークレットを使用できるように書き留めます。
注記デフォルトでは、localhost ドメインはサポートされていません。開発で localhost ドメインのサポートが継続して必要な場合は、サイトキーのサポート対象ドメインリストに追加できます。
- Red Hat build of Keycloak 管理コンソールに移動します。
- メニューで Authentication をクリックします。
- Flows タブをクリックします。
- リストから Registration を選択します。
- reCAPTCHA の要件を Required に設定します。これにより、reCAPTCHA が有効になります。
reCAPTCHA 行の 歯車アイコン ⚙️ をクリックします。
reCAPTCHA 設定
- Google reCAPTCHA の Web サイトから生成された reCAPTCHA Site Key を入力します。
- Google reCAPTCHA の Web サイトから生成された reCAPTCHA Secret を入力します。
- Site Key タイプに応じて reCAPTCHA v3 を切り替えます。Score-based reCAPTCHA (v3) の場合はオン、Challenge reCAPTCHA (v2) の場合はオフにします。
-
(オプション) Cookie に
www.google.comドメインではなくwww.recaptcha.netを使用するには、Use recaptcha.net を切り替えます。詳細は、reCAPTCHA の FAQ を参照してください。
登録ページを iframe として使用するよう Google を認可します。
注記Red Hat build of Keycloak では、Web サイトの iframe にログインページのダイアログを含めることはできません。この制限は、クリック攻撃を防ぐことです。Red Hat build of Keycloak で設定されるデフォルトの HTTP 応答ヘッダーを変更する必要があります。
- メニューで Realm Settings をクリックします。
- Security Defenses タブをクリックします。
-
X-Frame-Options ヘッダーのフィールドに
https://www.google.comと入力します (または、Use recaptcha.net を有効にした場合はhttps//www.recaptcha.netと入力)。 -
Content-Security-Policy ヘッダーのフィールドに
https://www.google.comと入力します (または、Use recaptcha.net を有効にした場合はhttps//www.recaptcha.netと入力)。
5.11.2. Google reCAPTCHA Enterprise のセットアップ リンクのコピーリンクがクリップボードにコピーされました!
以下の URL をブラウザーに入力します。
https://developers.google.com/recaptcha/
https://developers.google.com/recaptcha/Copy to Clipboard Copied! Toggle word wrap Toggle overflow "Website" プラットフォームのキーを作成し、必要なキータイプを選択します。v3 reCAPTCHA (非表示) の場合はデフォルトのままにするか、v2 reCAPTCHA (表示) の場合は Use checkbox challenge を切り替えます。将来的にこの手順で使用するために、Site Key を書き留めておきます。
注記localhost はデフォルトで動作します。ドメインを指定する必要はありません。
Google Cloud プロジェクトで、Credentials に移動して API キーを作成します。
注記セキュリティーを強化するには、edit api key をクリックし、API 制限を追加して、キーを reCAPTCHA Enterprise API のみに制限します。
- Red Hat build of Keycloak 管理コンソールに移動します。
- メニューで Authentication をクリックします。
- Flows タブをクリックします。
- 「登録」フローを複製します。
- 新しいフローを Registration flow にバインドします。
新しいフローを編集します。
- reCAPTCHA ステップを削除します。
- "登録フォーム" (フローの最初のステップ) のサブステップとして、reCAPTCHA Enterprise ステップを追加します。
- reCAPTCHA Enterprise の要件を Required に設定します。
reCAPTCHA Enterprise 行の 歯車アイコン ⚙️ をクリックします。
reCAPTCHA エンタープライズ設定
- Google Cloud コンソールプロジェクトの Recaptcha プロジェクト ID を入力します。
- 手順の始めに生成された Recaptcha Site Key を入力します。
- 手順の始めに生成された Recaptcha API Key を入力します。
- Site Key タイプに応じて reCAPTCHA v3 を切り替えます。Score-based reCAPTCHA (v3) の場合はオン、Challenge reCAPTCHA (v2) の場合はオフにします。
- (オプション) Min. Score Threshold を適切な値にカスタマイズします。ユーザーが登録を許可されるために reCAPTCHA で達成する必要がある最小スコア (0.0 - 1.0) に設定します。interpret scores を参照してください。
-
(オプション) Cookie に
www.google.comドメインではなくwww.recaptcha.netを使用するには、Use recaptcha.net を切り替えます。詳細は、reCAPTCHA の FAQ を参照してください。
- 登録ページを iframe として使用するよう Google を認可します。詳細な手順は、「Google reCAPTCHA のセットアップ」 の最後の手順を参照してください。