はじめに
こんにちは、Identityチームのすかんくです。
今回はMicrosoftが新たにEntra ID向け認証方式のプレビューを開始したので、試していこうと思います。
TL;DR
- Entra IDのQRコード認証は、共有モバイル端末向けの新しい認証方式で、QRコードスキャンとPINコード入力による簡単な操作性を実現します
- 従来のセキュリティキーと比べてコストメリットがある一方、単要素認証となるため利用シーンを適切に見極める必要があります
- 運用面では、有効期限の管理やセッション残留への対策など、いくつかの考慮事項があり、導入時には適切な設計が求められます
Entra IDのQRコード認証とは?
概要
Entra IDのQRコード認証は、スマートフォンやタブレットなどの共有モバイル端末における認証の課題を解決するために設計された新しい認証方式です。
従来のユーザー名・パスワード入力に代わり、ユーザーは個人のスマートフォンで認証用QRコードをスキャンし、自身が設定したPINコードを入力するだけで、共有デバイスへのサインインが可能となります。
前提条件
- Android/iOS/iPadOS であること
- フロントラインライセンス(F1またはF3)、もしくは P1 ライセンスが割り当てられていること
手順
テナント有効化
QRコード認証はデフォルトでは無効化されているため、まずは設定をテナントレベルで有効化する必要があります。
- Entra ID 管理センター(https://entra.microsoft.com/)にて、[保護]- [認証方法] – [ポリシー] – [QRコード(プレビュー)] をクリック
- [有効およびターゲット] タブにて、[有効にする] トグルを “オン” にして [保存] をクリック
- 対象ユーザーを “すべてのユーザー” or “特定グループ内のユーザー” に限定可能
- 必要に応じて [構成] タブから [QR PINの長さ] や [標準 QR コードの有効期間 (日数)] をカスタム可能
ユーザー割り当て
ユーザー単位でQRコードと初期PINコードを発行する必要があります。 手段としては [Entra ID管理センター/Graph API/My Staffアプリ] の3種類が提供されていますが、ここでは [Entra ID管理センター] の手順を記載します。
- Entra ID 管理センター(https://entra.microsoft.com/)にて、[ユーザー] – [すべてのユーザー] – [設定を有効化するユーザー] を検索し、[認証方法] タブから [認証方法の追加] をクリック
- [方法の選択] から “QRコード(プレビュー)” を選択し、以下項目を設定して [追加] をクリック
- 有効期限:デフォルトだと設定可能な最長期間
- アクティブ化の時間:QRコード認証の利用開始タイミング
- PIN:初期PINコード、ユーザーの初回利用時に変更
- 払い出されたQRコードを、初期PINコードと共にエンドユーザーへ共有
エンドユーザーの利用手順
初回ログイン時の手順を記載します。
- ログイン時、[サインイン オプション] をクリック
- [組織へのサインイン] をクリック
- [QRコードでサインイン] をクリック
- カメラへのアクセス許可が求められた場合は [許可] をクリック
- QRコードをカメラ内に収める
- 共有された初期PINコードを入力し、[サインイン] をクリック
- 初回利用時はPINコードの更新を求められるため、任意のPINコードを設定して [サインイン] をクリック
- ログインの完了を確認する
感想
良かった点
ユーザー体験とパスワードレス
QRコードのスキャンとPINコードの入力だけで認証が完了するため、現場のスタッフでも迷うことなく利用できそうだなと感じました。
また、エンドユーザーへパスワードを共有せずに認証要素をオンボーディングできるため、パスワードレス化の一助になることも期待できます。
コスト
次にコスト面ですが、一般的な共有端末シナリオで検討されるセキュリティキーと比較してコストを抑えられる点も魅力的だと感じています。
セキュリティキーの場合、1個あたり数千円のコストが発生しますが、QRコード認証では追加のデバイス購入が不要なのでコスト面でのメリットは非常に大きいです。
(注:後述しますが認証強度では劣るため、一方的なメリットではなくトレードオフの関係です)
有効期限の最大値
地味に嬉しいと感じた点は有効期限の最大値が369日まで設定できることです。365日が上限の設定は多くありますが、これだとQRコードの再発行を業務の年間計画に落とし込んだ際、その年のカレンダー次第では有効期限切れになってしまうケースがあったので、ある程度のバッファを以って有効期限を設定出来るのはユーザー企業のことを考えている良い点だと感じました。
改善を期待したい点
有効期限のオプション
有効期限のオプションに無期限が無いのは気になりました。QRコードの再発行を年次で求められると、組織規模によっては大変な運用負荷になることが懸念されます。
無期限のオプションを提供してくれる方が、組織の要件に応じてコントロールしやすくて嬉しいなと感じました。
(QRコード自体が複製しやすいものであり信頼性に劣ることは承知の上で、組織側にコントロール権を持たせて欲しい意図)
一括設定が出来ない
現状はユーザーごとに設定を有効化していく必要があります。幸いGraph APIに対応しているため自動化は容易ですが、各社で作り込むのではなく標準機能として提供して欲しいなと感じます。
ロックアウト設定とPINのリセット
PINの入力間違いに基づいたロックアウトに関する設定が存在しておらず、ドキュメントベースでも上限に関する記載は見当たりませんでした。(手元で試した限り、10回失敗した程度ではロックアウトされなかった)
もちろんロックアウトに関する設定が可能だと嬉しいですが、現状だとロックアウトした際にユーザーセルフでリセットを行うことも出来ないため、運用上管理者の介在が必要になる点には注意が必要そうです。
運用時に考慮すべき点
QRコードと初期PINの配布方法
初期PWをどのように共有するかという課題に近しいですが、QRコードの場合は印刷が必須で求められる点に注意が必要そうです。
例えば従業員ストラップやバッヂに組み込むなど、より業務プロセスに組み込まれた配布方法を検討する必要がありそうだと感じます。
条件付きアクセスと認証強度ポリシー
QRコード認証はQRコード自体の信頼性が低さ(複製や生成のしやすさ)から所持情報としてはみなされず、PINの知識情報による単要素認証と考えられます。
そのため、共有端末といった特定シナリオ以外では積極的に採用するべき認証方式ではありません。
つまり、特定シナリオ以外での利用を禁止するよう管理者側でガードレールを引いてあげることが必要となります。
具体的には条件付きアクセスポリシーで対象端末/ユーザーを限定し、認証強度ポリシーと組み合わせてQRコード認証が利用できるシーンを限定することが望ましいです。
有効期限の棚卸と延長
現状QRコードは有効期限の設定が必要かつ、ユーザーセルフでの延長操作に対応していないため、管理者による定期的な有効期限の棚卸と延長操作が必須となります。
そのため、この機能を利用する際は、運用計画や設計をしっかりと行うことを推奨します。
セッション残による事故防止
端末の利用ユーザーが入れ替わり立ち替わりといったシナリオで留意すべき点として、セッションが残った状態で別ユーザーが利用を開始してしまうケースです。
次のユーザーが前のユーザーのアカウントでアプリケーションにアクセスできてしまい、情報漏洩や権限の不正利用などのセキュリティインシデントにつながる可能性があります。
そのため、QRコード認証を利用する際は各OSが提供している共有デバイスモードを共有端末に展開することが推奨されています。これは端末を利用するタイミングで認証を行うことで、ユーザー個別のパーティションを作成され、ユーザーがサインアウトまたは一定時間経過後に自動的にセッションがクリアされる仕組みが組み込まれています。このような機能を活用することで、セッション残留による事故のリスクを大幅に軽減することができます。
利用シーン
まとめると、QRコード認証は以下のようなシナリオで特に有効だと考えられます。
- 共有モバイル端末で複数のユーザーが個別IDでサービスにサインインする必要がある場合
- セキュリティキーの導入がコスト面で現実的でない場合
- 単要素認証で十分な環境(外部サービスの利用制限や、ブラウジング制限が可能であるなど)
おわりに
いかがだったでしょうか?今回はEntra IDが新たに提供を開始したQRコード認証について考えてみました。
個人的には共有モバイル端末の運用課題に対する有効な解決策なり得ると感じる一方、セキュリティ面での制約や運用上の考慮事項が存在するため、導入時には適切なシナリオの見極めと運用設計が重要な機能でもあると考えます。
利用の際は自社の環境にマッチするか、地に足を付けた検討をオススメいたします。ではまた!