【Azure】PIM申請時にMFAが強制されていなかった話と解決策
こんにちは
イオンスマートテクノロジー株式会社 SREチームの川田です。
弊社では Azure Privileged Identity Management(以下「PIM」)を用いて特権ロールを一時的に(Just-In-Time)で払い出しています。
今回は、MFAを必須化する過程で得た知見について書いていきたいと思います。
背景
PIM導入時に、設定で「有効化時に多要素認証を要求する」を有効にしており、MFA強制はできていると思っていました。
ところが実際に使っていると、PIMでロールをアクティブ化する時にMFA認証が求められていないことに気づきました。(気付くまでに時間がかかってしまったと反省)
調べたところ、原因は下記の通りでした。
- Azureポータルのサインイン時にMFAを必須にしている
- セッション内のMFAクレームがサインイン時の認証によって「認証済み」と判定され、PIMでロールをアクティブ化する時の再認証がスキップされていた

↑アクティブ化時のログ、認証処理していないがTrueになっている
つまり標準のMFA設定では、同一セッション内に有効なMFAクレームがある場合、PIM有効化時に追加のMFAプロンプトが表示されないことがわかりました。
そのため、「PIM有効化時に毎回ユーザー操作を伴う再認証を求めたい」という要件は、PIM設定で「Azure MFA」を選択するだけでは満たせていませんでした。
PIM利用時の認証を強制する方法
-
認証コンテキストを作成する
-
条件付きアクセスポリシーを作成し、認証コンテキストを対象に以下を設定する
- 「多要素認証を要求する」もしくは「認証強度が必要」
- サインインの頻度「毎回」

-
PIM設定にて「アクティブ化に必要」に「Microsoft Entra 条件付きアクセス認証コンテキスト」を選択し、作成したコンテキストを指定する
※今までは「Azure MFA」を選択して、機能していませんでした。
上記を設定することで、無事PIMでロールをアクティブ化する時に認証画面が表示されました!

補足
認証方式の優先度について
Microsoft の既定の動作として、ユーザーが登録している認証方法の中から最も安全な方法を自動的に選択し、サインイン時に優先的に提示する「システム優先 MFA」という機能を知りました。
条件付きアクセスポリシーで「認証強度が必要」を選択しない場合でも、ユーザー側にパスキーが登録されていると、数字照合ではなく、パスキーによる認証が優先的に表示される挙動を確認しました。
セキュリティ強度の高い認証方式が優先されるのは望ましい挙動ですが、既にユーザーが利用している認証方法の挙動が変わってしまう場合もあるため、利用者の混乱を防ぐためにも事前の周知が大事だと感じました。
認証方法の優先順位(高い順):
- Temporary Access Pass
- パスキー(FIDO2・Authenticator パスキー・Windows Hello)
- 証明書ベース認証
- Microsoft Authenticator 数字照合
- TOTP
- 電話(SMS・音声)
頻度=「毎回」でも再認証されない場合もある
-
5分プロンプト耐性
直近5分以内に認証済みの場合は再認証されない -
10分 PIM ウィンドウ
PIM有効化で認証後、10分以内に別ロールを有効化する場合は再認証されない
まとめ
設定自体は難しくなく、認証を必須にすることができました。
PIMの設定でMFA認証を選択しているし大丈夫だろうと安心していたことを反省しました。
しかし、今回の対応によってPIMの細かい仕様についても知見が増えたため、引き続きセキュリティと使いやすさを両立するためにも改善していければと思います。
イオングループで、一緒に働きませんか?
イオングループでは、エンジニアを積極採用中です。少しでもご興味もった方は、キャリア登録やカジュアル面談登録などもしていただけると嬉しいです。
皆さまとお話できるのを楽しみにしています!

Discussion