Rapls Passkey マニュアル(Pro版)
バージョン 0.14.93 | PHP 8.2 以上 | WordPress 6.0 以上 | 要 Rapls Passkey(無料版)0.12.0 以上(有効化されていること)
Pro 版は無料版 Rapls Passkey の全機能に加え、クロスデバイス QR ログイン・ロール別のパスキー強制・リカバリーコード・メールマジックリンク・パスワードレス新規登録・アダプティブなステップアップ認証・信頼済みデバイス管理・認証器ポリシー(FIDO MDS / AAGUID)・セキュリティ Webhook・導入レポート・マルチサイト対応などを追加します。無料版の機能や基本設定についてはFree 版マニュアルをご覧ください。
rapls-passkey、0.12.0 以上)をインストール・有効化してから、Pro 版を追加インストールしてください。ライセンスを入力するまで Pro 版は何も制限を加えないため、無料版のパスキーログインはそのまま動作し、誰もロックアウトされません。設定 > Rapls Passkey Pro > ライセンス でライセンスキーを有効化すると、本マニュアルで解説する Pro 機能が解放されます。 はじめに
ライセンス有効化
Rapls Passkey Pro は WordPress.org 外で配布される、買い切りのライセンス制アドオンです。購入すると、ご登録のメールアドレス宛にライセンスキーが即時発行されます。ライセンスキーは RPPK-XXXX-XXXX-XXXX-XXXX の形式です(4 文字 × 4 グループ)。
導入からライセンス有効化までの手順:
- 無料版 Rapls Passkey(0.12.0 以上)をインストール・有効化します。
- Rapls Passkey Pro の販売ページで購入し、届いたメールから
rapls-passkey-pro.zipをダウンロードします。 - WordPress 管理画面の プラグイン > 新規追加 > プラグインのアップロード から ZIP をアップロードして、Rapls Passkey Pro を有効化します。
- 設定 > Rapls Passkey Pro > ライセンス を開きます。
- ライセンスキー欄に
RPPK-XXXX-XXXX-XXXX-XXXXを貼り付け、購入時のメールアドレスを入力します(キーは購入メールアドレスに紐付いています)。 - 「有効化」をクリックします。ステータスが 有効 に変われば完了です。
| 項目 | 説明 |
|---|---|
| ライセンスキー | 購入確認メールに記載された RPPK-XXXX-XXXX-XXXX-XXXX 形式のキー |
| メールアドレス | 購入時のメールアドレス。キーはこのアドレスに HMAC で紐付けられ、両方が一致して初めて検証が通ります |
| ライセンス種別 | 1 サイトライセンス、または 5 サイトライセンス。ライセンスサーバーがサイト数の上限を判定します |
| ステータス | 有効 / 無効 / 取り消し済みのいずれかを表示します |
| 無効化(サイトの移行) | 別のサイトへ移す場合に、このサイトのライセンスを解放します。解放後、別サイトで有効化できます |
| 自動アップデート | 有効なライセンスがあれば、Pro 版のアップデートを非公開の配信元から受け取れます |
https://raplsworks.com/wp-content/uploads/rapls-passkey/api.php)へ問い合わせます。サーバーが外向き HTTPS 通信を行えることが必要です。有効化に失敗する場合は、allow_url_fopen または cURL が有効かをご確認ください。検証結果は 1 日キャッシュされ、ライセンスサーバーが一時的に停止しても、直前まで有効だったライセンスは 14 日間の猶予期間で動作を継続します。取り消されたライセンスは拒否されます。 動作要件
| 項目 | 要件 |
|---|---|
| 無料版 Rapls Passkey | 0.12.0 以上がインストール・有効化されていること(必須) |
| PHP | 8.2 以上 |
| WordPress | 6.0 以上(最新安定版を推奨) |
| HTTPS | 必須(localhost を除く)。WebAuthn は HTTPS でなければブラウザが拒否します |
| ライセンスキー | Rapls Passkey Pro のライセンスキー(1 サイト版 / 5 サイト版) |
| 外向き HTTPS 通信 | ライセンス検証・FIDO メタデータ取得・Webhook 送信に使用します |
クイックスタート(推奨設定順序)
- ライセンス有効化 — 設定 > Rapls Passkey Pro > ライセンス でキーとメールアドレスを入力します。
- 登録の後押し — 登録プロンプトを有効にし、ユーザーにパスキーの登録を促します。
- 復旧手段の用意 — リカバリーコードとメールログイン(マジックリンク)を有効にし、パスキーが使えないときの導線を先に整えます。
- 段階的な強制 — 対象ロールを選び、猶予期間を設定してパスキーを強制します(まずは一部ロールから)。
- ステップアップ — パスワードログイン後にパスキー確認を求めます(まずはアダプティブから)。
- パスワードレスの徹底 — 定着後、パスワードログインの無効化・アプリケーションパスワードの停止・パスワード再設定の拒否を検討します。
- 運用の整備 — 認証器ポリシー・Webhook・導入レポートを設定します。
RAPLS_PASSKEY_BYPASS・リカバリーコードがロックアウトを防ぎますが、まずはひとつのロールで試し、問題がないことを確認してから対象を広げることを推奨します。 クロスデバイス QR ログイン
パソコンで QR コードを表示し、スマートフォンで読み取ってパスキーで承認する、独自のクロスデバイスログインです。パソコンにパスキーが登録されていなくても、手元のスマートフォンのパスキーでサインインできます。デバイス同士が離れた場所にあっても動作します。
QR ログインの仕組み
- ログイン画面の「別のデバイスで承認」を選ぶと、パソコンに QR コードと 4 桁の確認コードが表示されます。
- スマートフォンのカメラで QR コードを読み取ると、承認画面が開きます。
- パソコンに表示された 4 桁の確認コードをスマートフォンに入力します。
- スマートフォンのパスキー(Touch ID / Face ID / 画面ロックなど)で承認すると、パソコン側のログインが完了します。
4桁の確認コード(リレー・フィッシング対策)
パソコンに表示される 4 桁のコードを、スマートフォンでの承認前に入力する必要があります。これは、攻撃者が用意したログインをリレー(中継)で被害者に承認させる攻撃を防ぐための仕組みです。
- リンクだけを送りつけられたフィッシング被害者は、攻撃者側のパソコン画面を見られないため、コードを入力できません。
- コードを打ち間違えても、パスキーのプロンプトを繰り返すことなく訂正できます。
- 誤入力が続くとそのリクエストは無効化されます。
フィルターと同一ネットワークの縛り
| フィルター | デフォルト | 説明 |
|---|---|---|
rapls_passkey_pro/qr_confirmation_code | 有効 | 4 桁の確認コードを無効化できます。無効にするとリレー防止が弱まるため、通常は有効のままにしてください |
rapls_passkey_pro/qr_require_same_network | 無効 | スマートフォンとパソコンが同一ネットワークにあることを要求します。遠隔リレーを自動的に遮断しますが、モバイル回線などネットワークをまたぐ利用ができなくなります |
パスキーの強制
設定 > Rapls Passkey Pro の「パスキーの強制」で設定します。選んだロールのユーザーにパスキーの登録を必須化し、猶予期間を経て段階的に移行できます。
ロール別の強制
| 設定 | デフォルト | 説明 |
|---|---|---|
| 対象ロール | 未選択 | パスキーの登録を必須にするロールを選びます。何も選ばなければ強制はオフです |
| 猶予期間(日数) | — | 強制を開始してから、ユーザーが登録を求められるまでの猶予日数 |
猶予期間と段階導入(フェーズドロールアウト)
強制を有効にすると、対象ロールのユーザーには猶予期間の間、パスキー登録を促す案内が表示されます。猶予が終わると、ログイン後にパスキーの登録が求められます。既存ユーザーに一斉に負担をかけず、期日を区切って移行できます。
ロックアウト防止
誰も締め出されないよう、次の安全弁が常に働きます。
- 最後の管理者 — サイトに残る最後の管理者は強制の対象外です。
- 緊急バイパス —
wp-config.phpにdefine('RAPLS_PASSKEY_BYPASS', true);を定義すると、強制を一時的に解除できます(ブレークグラス)。 - リカバリーコード — パスキーが使えないときは、リカバリーコードで復旧できます。
- まだパスキー未登録のユーザー — パスキーを持たないユーザーはロックアウトされず、登録へ誘導されます。
復旧と代替ログイン
パスキーが使えないときのための代替ログインと復旧手段です。いずれもパスキーそのものではないため、パスキーサインインと同等の強度ではありません。復旧目的で慎重に有効化してください。
rapls_passkey_pro/login_captcha_classes フィルターで追加できます。 リカバリーコード
使い切り(単回使用)のリカバリーコードを発行します。パスキーが使えないときのブレークグラス手段で、ログイン画面の「パスキーが使えない場合」リンクからも使えます。
| 設定 | デフォルト | 説明 |
|---|---|---|
| リカバリーコード | — | プロフィール画面から使い切りのコードを発行します。各コードは 1 回のみ使用できます |
| 発行数 | — | 一度に発行するコードの枚数 |
| 復旧アラート | 有効 | コードが残り少なくなった / 使い切ったときにユーザーへ通知し、再発行を促します。ログイン画面でコード試行が上限に達したとき(総当たりの可能性)は管理者へ通知します |
メールログイン(マジックリンク)
ワンタイムのログインリンクをメールで送ります(デフォルトは無効)。パスキーが使えないときのフォールバック / 復旧手段です。
| 設定 | デフォルト | 説明 |
|---|---|---|
| メールログイン(マジックリンク) | 無効 | ワンタイムのログインリンクをメールで送信します |
| 管理者にも許可 | 無効 | 既定では管理者にはマジックリンクを送りません(メールボックスの侵害だけで高価値アカウントに到達されないため)。この設定で管理者にも許可できます |
パスワードレス新規登録(パスキーサインアップ)
ログイン画面から、パスキーでアカウントを新規作成できます。アカウントはパスキーの検証が成功した後にのみ作成されます(ボット対策)。
| 設定 | デフォルト | 説明 |
|---|---|---|
| パスキー新規登録 | 無効 | ログイン画面にパスキーでの新規登録リンクを表示します |
パスワードレスの徹底
アダプティブ・ステップアップ認証
パスワードでのログイン後に、あらためてパスキーの確認を求めます。リスクに応じて求める「アダプティブ」と、毎回求める「二要素」の 2 モードがあります。
| モード | 設定値 | 説明 |
|---|---|---|
| リスクが高いときだけ(アダプティブ) | adaptive | 信頼されていないデバイスかつ未知の場所(IP)からのログイン時にのみ、パスキー確認を求めます |
| 毎回のパスワードログイン(二要素) | always | リスク信号を参照せず、常にパスワードの上にパスキー確認を重ねます。従来の「パスワード + セキュリティキー」構成です |
モードはフィルター rapls_passkey_stepup_mode でも指定できます。
admin-ajax.php・admin-post.php・XML-RPC からも保留されます。リスクの高いパスワードセッションは、パスキー確認が済むまでどこからも特権的な操作を実行できません。プラグイン自身の公開ログイン経路は到達可能なままです。弱いフォールバックログイン(マジックリンク / リカバリーコード)は、保留中のステップアップを解除せず、デバイスを信頼済みにもしません。解除するのは本物のパスキーアサーションだけです。 パスワードログインの無効化
すでにパスキーを持つ、強制対象ロールのユーザーについて、対話的なパスワードログインを拒否します(完全パスワードレス)。
RAPLS_PASSKEY_BYPASS・リカバリーコード / メールログインが締め出しを防ぎます。まだパスキーを持たないユーザーは対象外です。XML-RPC のパスワードログインは既存のゲートにより従来どおり拒否されます。 アプリケーションパスワードの停止 / パスワード再設定の拒否
パスワードレスにするユーザーが持つ「抜け道」を塞ぎます。設定 > Rapls Passkey Pro の「パスワードログインの無効化」内で設定します。いずれもデフォルトは無効で、「パスワードログインの無効化」が前提です。
| 設定 | デフォルト | 説明 |
|---|---|---|
| アプリケーションパスワードも停止する | 無効 | アプリケーションパスワードは、対話的なパスワードゲートを通らずに REST API / XML-RPC に到達する長命の共有シークレットです。これを停止し、フィッシング可能な認証情報を残さないようにします。オンにすると API アクセスを取り消すため、既定はオフです |
| 「パスワードをお忘れですか?」も拒否する | 無効 | メールボックスを読める者が、パスワードレスのはずのアカウントに新しいパスワードを発行できてしまう経路(メール経由のパスワード)を塞ぎます。オンにすると、パスキーを失ったユーザーはリカバリーコードかメールログインで復旧します(単回使用で監査可能) |
RAPLS_PASSKEY_BYPASS)が適用されるため、誰もロックアウトされません。 デバイスと登録の管理
信頼済みデバイス管理
ステップアップ認証がパスキー確認を求めなくなったデバイスの一覧を、プロフィール画面で確認・取り消しできます。一度そのデバイスから確認が済むと、ステップアップはそれ以降パスキーを求めません(それが目的です)が、手放したデバイス(売却・貸与・一度だけ使った端末)が黙って免除を持ち続けることも意味します。
| 表示 / 操作 | 説明 |
|---|---|
| 初回の信頼日時 | そのデバイスが最初に信頼された日時 |
| 最終アクセス | そのデバイスが最後に確認された日時 |
| ブラウザ | デバイスのブラウザ。いま閲覧中の端末には印が付きます |
| 信頼の取り消し | 個別に、またはすべてのデバイスの信頼を取り消します(記憶したサインイン場所も同時に忘れます) |
ログインセッション管理
アクティブなログインセッション(日時・IP・ブラウザ)をプロフィール画面で確認し、個別 / 他のすべて / すべてを終了できます。パスキーログイン時に他のセッションを自動的に終了するオプションもあります。
登録プロンプト
パスキーをまだ持たないユーザーに、ログイン後に登録を促すプロンプトを表示します。閉じても、しばらくすると再表示されます。
| 設定 | デフォルト | 説明 |
|---|---|---|
| 登録プロンプト | — | パスキー未登録のユーザーにログイン後の登録案内を表示します。却下しても一定時間後に再表示します |
| 管理者による代理登録 | 無効 | ユーザーのプロフィール画面から、管理者がそのユーザーの代わりにパスキーを登録できます(事前設定済みのセキュリティキーの受け渡しや、対面での初期設定向け)。edit_user 権限が必要で、対象アカウントの所有者へ通知メールが送られ、監査ログにも記録されます |
認証器ポリシー
設定 > Rapls Passkey Pro の「認証器ポリシー」で、登録できる認証器の種類を制限します。
FIDO メタデータサービス(MDS)
FIDO Alliance の認証器メタデータを定期的にダウンロードし、BLOB 署名(GlobalSign ルート証明書までチェーン)を検証してキャッシュします。登録ポリシーとして、次のいずれかを選べます。
- FIDO が問題ありと判定した認証器(取り消し / 侵害)を拒否する。
- FIDO 認証済みの認証器のみを許可する(最小レベル L1 / L2 / L3 を設定可能)。
ポリシーは AAGUID を報告する認証器にのみ適用されます。メタデータに存在しない認証器(同期パスキーなど)を許可するかどうかは設定できます。設定画面には取得ステータスと「今すぐ更新」ボタンが表示されます。
| 設定 | 説明 |
|---|---|
| FIDO 認証済みのみ許可 | FIDO の認証を受けた認証器だけを許可します |
| 認証レベル | 要求する最小の認証レベル(任意のレベル / L1 / L2 / L3) |
| デバイス固定のみ | 同期パスキーを拒否し、デバイスに固定された認証器のみを許可します |
rapls_passkey_pro/mds_root_certificates で、取得エンドポイントは rapls_passkey_pro/mds_endpoint で変更できます。メタデータは WP-CLI(wp rapls-passkey-pro mds-refresh)でも更新できます。 AAGUID 許可 / 拒否リスト
認証器の機種を識別する AAGUID の許可 / 拒否リストで、特定の認証器の登録を制御します。デバイス固定のみ(同期パスキーを拒否)の設定と組み合わせられます。
| 設定 | デフォルト | 説明 |
|---|---|---|
| AAGUID 拒否リスト | 空 | 登録を拒否する認証器の AAGUID(1 行に 1 つ) |
クロスドメイン対応(Related Origin Requests)
/.well-known/webauthn を出力し、同じ RP ID のパスキーを複数のドメイン間で共有できるようにします。設定のエクスポート / インポートでは Related Origins のリストも正しく往復します。
通知とレポート
セキュリティ Webhook
パスキーの登録・削除・サインインなどのセキュリティイベントを、Slack / Microsoft Teams / 汎用 JSON に送信します(SOC / SIEM 連携向け、ノンブロッキング)。
| 設定 | 説明 |
|---|---|
| Webhook URL | 送信先の URL。Slack / Teams の URL は実質的にベアラーシークレットのため、保存時に暗号化されます |
| フォーマット | Slack / Microsoft Teams / 汎用 JSON から選択します |
導入レポート(定期ダイジェスト)
パスキーの導入状況の要約(ロール別の登録率と直近のアクティビティ)を、週次または月次で管理者にメール送信します(デフォルトは無効)。
| 設定 | デフォルト | 説明 |
|---|---|---|
| 定期導入レポート | 無効 | 週次 / 月次でロール別の導入状況を送信します |
| 宛先 | サイト管理者メール | 受信者を指定できます。空欄の場合はサイト管理者メール宛です |
| 今すぐ送信 | — | 設定画面の「導入レポートを今すぐ送信」でプレビューを送れます |
未登録ユーザーへのリマインド
パスキーを登録していないアクティブなユーザーに、登録を促すメールを定期的に送ります(デフォルトは無効)。
| 設定 | デフォルト | 説明 |
|---|---|---|
| 未登録ユーザーへのリマインド | 無効 | パスキー未登録のユーザーに、登録を促すメールを送ります |
| 対象ロール | — | 特定のロールを対象にできます。強制対象のロールは除外されます(そちらは強制の案内が届きます) |
導入分析とダウングレード検知
ロール別の登録率と直近 30 日のアクティビティを分析として表示します。監査ログの保持期間も設定でき、古いレコードは日次で削除されます。
運用と自動化
マルチサイト
ネットワーク全体のポリシー管理と、共有の RP ID に対応します。ネットワーク管理画面から、参加サイトに共通のパスキーポリシーを適用できます。
設定のエクスポート / インポート
無料版と Pro 版の設定を JSON でエクスポート / インポートできます。ステージングから本番への移行や、複数サイトへの一括展開に使えます。
WP-CLI
サーバー側の自動化やブレークグラス復旧に使えるコマンドです。
# FIDO メタデータを取得・検証する wp rapls-passkey-pro mds-refresh # リカバリーコードを発行する(枚数は任意) wp rapls-passkey-pro recovery-generate --user=<user> [--count=<n>] # リカバリーコードを無効化する wp rapls-passkey-pro recovery-clear --user=<user> # ロール別の導入状況と直近 30 日のアクティビティを表示する wp rapls-passkey-pro report
recovery-generate は、管理者がユーザーのパスキー紛失に対応する際のブレークグラス手段としても有用です。無料版にも wp rapls-passkey list/remove/stats のコマンドがあります(Free 版マニュアルを参照)。 よくある質問
FAQ
Q: Pro 版は無料版なしでインストールできますか?
A: いいえ。Rapls Passkey Pro は無料版のアドオンです。まず無料版 Rapls Passkey(0.12.0 以上)をインストール・有効化してから、Pro 版をインストールしてください。無料版が 0.12.0 より古い、または無効な状態では、Pro 版は起動を拒否し、管理画面に通知を表示します。
Q: ライセンスは複数のサイトで使えますか?
A: 1 サイトライセンスは 1 サイト、5 サイトライセンスは 5 サイトで有効化できます。上限を超えるサイトや本番サイトの移行では、旧サイトで「無効化」してから新サイトで「有効化」してください。ライセンスは買い切りで有効期限はなく、更新しなくても使い続けられます。
Q: ライセンスが切れる(更新しない)と、Pro 機能は止まりますか?
A: いいえ。買い切りのため、更新しなくても Pro 機能は使い続けられます。1 年間のアップデートが付き、2 年目以降の更新は任意です。ライセンスサーバーが一時的に停止しても、直前まで有効だったライセンスは 14 日間の猶予期間で動作を継続します。取り消されたライセンスのみ拒否されます。
Q: QR ログインの 4 桁コードは何のためにありますか?
A: リレー・フィッシング対策です。攻撃者が用意したログインをリンクだけ送りつけて被害者に承認させる攻撃を防ぎます。被害者は攻撃者のパソコン画面を見られないため、そこに表示された 4 桁コードを入力できず、承認が成立しません。フィルター rapls_passkey_pro/qr_confirmation_code で無効化できますが、通常は有効のままにしてください。
Q: パスキーを強制すると、ユーザーが締め出されませんか?
A: 締め出されないよう複数の安全弁があります。最後の管理者は対象外、define('RAPLS_PASSKEY_BYPASS', true); で緊急解除、リカバリーコードやメールログインで復旧、まだパスキー未登録のユーザーは登録へ誘導されます。強制の前に復旧手段を有効にし、まずは一部ロールで試すことを推奨します。
Q: 「パスワードログインの無効化」と「アプリケーションパスワードの停止」の違いは?
A: 「パスワードログインの無効化」は対話的なパスワードログイン(ログイン画面)を拒否します。一方、アプリケーションパスワードは REST API / XML-RPC に対話的ゲートを通さず到達する長命の共有シークレットで、無効化しただけでは残る「抜け道」です。完全にパスワードレスにするには、両方を停止してください。どちらも同じ安全弁で誰もロックアウトしません。
Q: マジックリンクやリカバリーコードは、二要素認証(2FA)を回避しませんか?
A: 回避しません。サイトが 2FA プラグイン(Wordfence Login Security / Two-Factor など)を使い、ユーザーが二要素を設定している場合、マジックリンクとリカバリーコードのログインは認証 Cookie を発行する前に二要素チャレンジ画面で止まります(無料版 0.10.0 以上が必要)。パスキーサインイン(QR フローを含む)はそれ自体が二要素目のため、チャレンジされません。
Q: 信頼済みデバイスを取り消すべきなのはどんなときですか?
A: 端末を売却・貸与した、あるいは一度だけ使った端末があるときです。ステップアップは一度確認したデバイスにパスキーを求めなくなるため、手放した端末が免除を持ち続けます。プロフィール画面の信頼済みデバイス一覧から、個別またはすべての信頼を取り消してください(記憶したサインイン場所も同時に忘れます)。
Q: 認証器ポリシー(MDS / AAGUID)は同期パスキーに影響しますか?
A: MDS ポリシーは AAGUID を報告する認証器にのみ適用されます。同期パスキーのようにメタデータに存在しない認証器を許可するかどうかは設定できます。「デバイス固定のみ」を選ぶと同期パスキーを拒否できます。厳しくしすぎるとユーザーが登録できなくなる場合があるため、対象ユーザーの認証器を踏まえて設定してください。
Q: Webhook の URL は安全に保管されますか?
A: はい。Slack / Teams の URL は実質的にベアラーシークレットのため、保存時に暗号化されます。送信は内部 / ループバックアドレスへ行かず、リダイレクトも追わない安全な HTTP クライアントで行われ、SSRF を防ぎます。設定のエクスポート / インポートでは平文で往復し、サイト間で持ち運べます。
Q: 導入レポートやリマインドに個人情報は含まれますか?
A: 導入レポートの内容は集計値のみで、個人を特定する情報は含みません。未登録ユーザーへのリマインドは各ユーザー宛に送られ、ワンクリックの配信停止リンクが付きます。強制対象のロールはリマインドから除外され、代わりに強制の案内が届きます。