テック技報最新号へ →
インフラ

Cloudflare Access のログイン方法にパスキーを追加する

Access の保護アプリと App Launcher に、ワンタイム PIN や外部 IdP の代わりに「Passkeys」をログイン方法として足せるようになった。IdP を用意していない個人・小規模構成でも、メール PIN を毎回打たずに済む。

@CFchangelog · 投稿 2026-11-06

いつ使うか

  • 社内ツールや管理画面を Access で守っていて、ログインがワンタイム PIN(メールで届くコード)だけになっている。
  • Google / GitHub などの IdP 連携を設定するほどではないが、PIN 入力が面倒。

パスキーは WebAuthn(ブラウザ標準の公開鍵認証)を使う。端末の生体認証・セキュリティキー・パスワードマネージャーに保存したものが使える。認証器は「discoverable credential」と「ユーザー検証(指紋・顔・PIN)」に対応している必要がある。

設定手順

  1. ダッシュボードの Zero Trust > Integrations > Identity providers で Add an identity provider から Passkeys を追加する。必要なら Automatically prompt on the login page をオンにすると、2 回目以降はログイン画面を開いた時点でブラウザのパスキー選択が出る。
  2. Access controls > Applications で対象アプリを編集し、Login methods で Passkeys を許可する(「すべての IdP を受け入れる」がオフの場合)。App Launcher は Authentication タブで許可する。

API なら Identity Providers に type: "passkeys" で POST する(トークンには Access: Organizations, Identity Providers, and Groups Write が必要)。

bash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/identity_providers" \
  --request POST \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --json '{"name":"Passkeys","type":"passkeys","config":{"login_page_auto_prompt":true}}'

利用者側の登録

ログイン画面で Sign in with a passkey → Don't have a passkey? Set one up を選び、既存のログイン方法で一度本人確認してから登録する。パスキーしか許可していないアプリでは、登録時にメールで確認コードが届く。以後はメールアドレスの入力もなくサインインできる。ログイン画面の Manage passkeys から追加・名前変更・削除ができる。

注意点

  • パスキーで入れても、アクセスの可否は Access ポリシー次第。 登録しただけでは通らない。
  • IdP のグループや属性は取れない。 グループ所属などで判定しているポリシーは、パスキーを代替手段として足す前に見直す。
  • 端末紛失時は管理者が削除できる(Team & Resources > Users の User identity、または API)。ただし削除しても進行中のセッションは切れないので、別途セッションを失効させる。
  • Terraform などで IdP を管理している場合は、type が passkeys の IdP を追加する形になる(プロバイダー側の対応状況は要確認)。

関連

出典

X の元の投稿を開く