Microsoft Authenticator がパスキーをサポート！

# はじめに
先日ひっそりと Microsoft Authenticator がパスキーをサポートしたようなので、早速試してみました。

https://learn.microsoft.com/en-us/entra/identity/authentication/how-to-enable-authenticator-passkey

パスキーは Entra ID の認証強度では「フィッシング耐性がある MFA」という最も強い認証強度として分類されています。
これまで Microsoft Authenticator では Phone Signin というパスワードレスのサインイン利用出来ていましたが、それよりも一段強い認証強度でパスワードレスを利用できるようになりました。

# 前提条件
機能を試す前に下記が必要です。
* iOS または Android の Microsoft Authenticator を最新に更新
* Microsoft Entra の MFA 登録を行っておく
* Android は 14 以上、iOS は 17 以上が必要

# 管理センターでの設定
Authenticator のパスキーをテストするために、管理者が事前に行っておく作業がいくつかあります。
細かい手順は前述のブログに書いているので割愛しますが、構成は少なくとも「セルフサービス設定を許可」は「はい」に設定し、「構成証明の適用」は「いいえ」に設定しておく必要があるので、その点だけ注意してください。
最初、「構成証明の適用」を「はい」にしたままテストしていて、セットアップが終わった後正常に認証が出来ない問題が発生しました。Learn によると将来的に対応する予定はあるようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/6b1f232a-80d9-37a2-596b-348d6a8e56c9.png)

Learn のページでは「キーの制限の適用」も「はい」に設定していたりしますが、ここは必須ではないので、必要に応じて設定を変更してください。パスキーのデバイスの種類 (AAGUID) を Microsoft Authenticator のみに制限したい場合は、現時点では直接 Microsoft Authenticator アプリの GUID を指定する必要があるようです。(今後 Learn の画像のようにチェックボックス一つで許可できるようになるとのこと)

# ユーザーによるパスキー登録
管理者がパスキーの利用を許可した後、ユーザーは下記の手順でセットアップを行います。

1. https://aka.ms/mysecurityinfo にアクセス (MFA が求められます)
　
2. 「サインイン方法の追加」をクリックし、「Microsoft Authenticator のパスキー (プレビュー)」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/017c703b-51ef-1f6c-a602-b0c1504840c8.png)
　　
3. 自分が使用している OS を選択 (私は iPhone or iPad を選択します)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/91283dd6-4b14-e0a9-5846-fe46a06dea36.png)
　
4. 下記のページで「続行」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/2949190b-15f8-5ed7-6d49-2fcf8e1f61de.png)
上記手順に記載がある「パスキーが有効になっていることを確認します」という表現はちょっと分かりにくいと感じました。
おそらく下記のように設定してほしいのだと思いますが、上記の表現では迷ってしまいますね。
　<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/747a6b53-ea45-05f6-eb60-e80540a029c0.png" width="400px">
 　
5. 下記のページで「次へ」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/860b063a-f15b-991c-17ab-86f0365ee08f.png)
これもちょっと分かりにくので補足すると、上記で言う「QR コード スキャナー」とはデバイスのカメラ アプリなどを指しています。Microsoft Authenticator アプリの中で「QR コード スキャナー」を探さないようにご注意を・・。
　
6. 下記ページで「理解しました」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/a3d54a7a-51a6-938c-461c-69bc57d0ef34.png)
　
7. 「iPhone、iPad、または Android デバイス」を選択して「次へ」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/efc30031-0ea6-13ee-0b1f-848e91c85566.png)
　
8. iPhone でカメラ アプリを起動して QR コードを読み込む
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/2a0e86f6-3652-7bd5-2a15-0c1651436dab.png)
　　
9. iPhone でこんな画面になるので Authenticator が選択された状態で「続ける」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/5a92ae32-4c0b-f7bf-dedc-c131845016d9.png)
　　
10. 「OK」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/98c159c7-8f1b-f378-de96-be4321e19009.png)
　
11. 登録に適当な名前をつける
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/5ec5dbfd-f155-782c-7d7c-1d66c1285247.png)
　
12. そうするとこんな感じで登録されたパスキーが表示されるようになります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/32229cb7-a21e-add2-ae52-30eb33108305.png)

# ユーザーによるパスキー利用
上記の登録が終わったら、下記のような手順で認証を行います。
ユーザー名やパスワードを指定していないので、パスワードレス サインインであることが確認できます。

1. この認証画面が出てきたら、ユーザー名を入力したくなるのを我慢して「サインイン オプション」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/70e87db7-06ab-b445-0b79-aa735aa48854.png)
 　
2. 「顔、指紋、PIN、またはセキュリティ キー」を選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/a1e46fb9-f870-b768-eb58-bc38df86ba2c.png)
　
3. 「別のデバイスを使用する」を選択し「次へ」をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/988aec80-e73a-042e-c29f-2f9508853402.png)
　
4. 「iPhone、iPad、または Android デバイス」を選択して「次へ」をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563573/22d53b4d-2603-2ebd-63c6-a0528ca3842b.png)

その後は、前述の「ユーザーによるパスキー登録」の手順 8. 9. のような QR コード読み取りと iPhone 上での許可を実施することでサインインが完了します。
サインインする度に iPhone でカメラを起動して QR コードを読み取る必要があるので、ユーザビリティは Phone Signin と比べるとかなり落ちる印象です。

# 終わりに
上記のような手順で Microsoft Authenticator のパスキーの動作をテストすることが出来ました。
パスキーの設定手順や、設定後の利用手順が結構分かりにくいなと感じましたが、使っているうちに慣れてくるのでしょうか・・。
現行 Entra ID で使用できる認証強度の中でも最も強い部類になるので、ユーザービリティとの兼ね合いを考えながら今後お客様に提案していきたいと思います。