2024年3月17日日曜日

Auth0の管理画面へのログインにパスキーを使うと少しハマる件

こんにちは、富士榮です。

そういえばAuth0(Okta CIC)の管理画面へのログインにパスキーなどが使えるので使ってみたいと思います。

ちなみにちょっとだけ癖があります。簡単に書くと、

  • パスキー追加をメニューから実施する場合はplatform認証器は選べない
  • USBキーやOTPなど多要素認証を追加し利用すると「このデバイスでのログインの高速化」を目的としてplatform認証器の登録を促される
  • リカバリはリカバリーコードを利用する
  • どうやらパスキーとしてはUSBなど外部キーを前提に設計されている
  • デバイス登録を目的にplatform認証器登録も使えるが同期される前提はなさそう

という感じです。最初からplatform認証器が登録できればいいのに。ちょっと実装が古いのかな。


さて、始める前に基本的な話を。IDaaSを使ってID基盤を構築するときに忘れてはいけないのはIDaaS自体の認証強化とアクセス制限です。

最低限やっておくべきことは、
  • 管理者アカウントの分離(共有ユーザの排除)
  • 管理権限の適正化
  • 認証強化(多要素認証)
  • ※API実行ユーザも忘れずに!
くらいでしょうか。
特にヘルプデスクやオペレータのアカウントも作る必要もあると思うので適切に権限分離は重要だと思います。
また、日本企業に多いと思いますが、上記に加えてアクセス元の環境の制限(IP制限など)も行いたい、という話も出てくることもあります。(これは働き方改革なのか、ネットワークペリメーター神話がまだまだ生きているだけなのかはケースバイケースです)

ということでAuth0でも管理画面へのログイン時の認証を強化できますのでやっておきましょう。
ちなみに、ご存知の通りAuth0の管理画面へログインするためにはローカルログインに加えてLinkedInやMicrosoft Account、Githubアカウント、Googleアカウントが使えます。
当然、それらのIDシステムもパスキーに対応していたりと認証強化を行うことは可能ですが、今回のテーマはAuth0側でさらに認証強化をする、という話です。

IdP側の認証強化の結果をこのケースおけるRPとなるAuth0の管理画面はどこまで信じることができるのか?と言う話とUI/UXの関係については別途書こうと思いますが、ざっくり言うと外部IdP(ここで言うとGoogleなど)は認証結果に対する責任は取ってくれない、かつどのような認証手段で認証したのかは教えてくれないので、重要な顧客IDを預かるIDaaSは自前でも多要素認証を実装しておくことが重要です。

ログインしてプロファイルページを開くと認証手段の追加ができます。
ちなみに設定が行われいていないテナントでは順次ログイン時に強制的に多要素認証設定を行うように促されるため最近のテナントを持っている方は設定済みかもしれません。

ということで追加してみます。WebAuthn with FIDO Security Keysをクリックしてみましょう。(なお、ポップアップがブロックされているとエラーになりますので、許可してください)

登録画面が出てきますね。初めに書いた通りplatform認証器ではなくUSBセキュリティキーが前提となっています。
登録が終わるとリカバリーコードが発行されるのでコピーしておきます。ちなみにダッシュボードからリカバリーコードは再生成できますので、こちらのスクリーンショットのコードはすでに無効です。

これで登録が完了しました。

一旦ログアウトしてログインし直してみます。USBキーが求められます。

すると、「このデバイスでのログインを高速化」と言われます。

そしてTouch IDが求められます。

USBキーとデバイスの両方が登録された状態になります。

USBキーを使う場面は少なくともSyncされたデバイスでは出番はなさそうです。
どうもplatform認証器はあくまでデバイス登録を目的としたものとして整理されているようですね。

しかし、iCloudで同期されているのかと思いつつiPhoneでダッシュボードにログインしてみるとplatform認証器は使えません。
USBキーが求められるので、仕方なく先ほど登録したUSBキーを使ってログインします。(先ほどYubikey NFCを使ったのでNFCで読み込ませました)

するときました。先ほどMacで登録したのと同じようにログインの高速化。
FaceIDを使ってデバイス登録を求められます。

しかし、すでにデバイス登録をMacでしているのでエラーが出ます。。。


iCloudで同期されているので登録済みって言われてます。

やはりパスキーが同期されている想定はなく、あくまでplatform認証器はデバイス登録に特化して利用、あくまで認証は外部キーを使うという整理になっていそうですね。






0 件のコメント: