Azure Active DirectoryでMFAにハマった話
軽く運用状況を説明
弊社では、Azure Active Directoryを使用し 社外からクラウドサービスへアクセスする場合
においては
MFAを必須とした運用をしています。
ある日、CISOがやってきて
「AWSコンソールへのアクセスは、社内からのアクセスであってもMFAを要求したい」
と言いました。
.oO(そういえば条件付きアクセスポリシーで定義したらそれっぽいことはできるなぁ)
と思ったので、実際にやってみることにしましたが・・・
クラシックポータルから新ポータルへの移行でとてもハマったので色々まとめてみます。
前提条件
必要なライセンス
Azure Active Directory Premiumライセンスが必要です。
Office365にバンドルされているライセンスでは、多要素認証として利用できる機能が制限されるらしいです。
多要素認証を定義している
ここでの多要素認証とは、 クラシックポータル内の多要素認証
のことを指します。
アクセス方法は、 https://portal.azure.com/
から
Azure Active Directory
/ 条件付きアクセス
/ 名前付きの場所
/ MFAの信頼できるIPの構成
で確認できます👀
ユーザーへのライセンス付与
Azure Active Directory Premiumライセンスを保有していても、アカウントに対して割当をしないと意味がありません。
Azure Active Directory の 管理 / ユーザーとグループ でライセンスを割り当てておきましょう。
本題
さて、Azure Active Directory(以下AADと省略)の条件付きアクセスポリシーを使用して
特定のアプリだけ社内でもMFAを要求する
ポリシーを作成しました。
条件付きアクセスポリシーを有効化し、思った挙動になるかテストしてみました。
が、
MFAのセットアップダイアログが出てきません💦
壊れているのかな・・・
多要素認証だけが機能していない
テストポリシーを作成し、どこが機能していないのかを検証しました。
結果、 多要素認証を要求する
という項目が機能していない事が判明。
解決方法
概要
AADの条件付きアクセスポリシーにおいて、多要素認証を求めるポリシーが機能しない という現象は
クラシックポータル内の 多要素認証
が 有効
または 強制
となっている場合に発生します。
なんと
クラシックポータルでの多要素認証
と
新ポータルの条件付きアクセスポリシーで定義されている多要素認証
は
別物❗
というわけなんです。
干渉してクラシックポータルのMFAが優先されていたんですね・・・💦
クラシックポータルの多要素認証を無効化
https://portal.azure.com/
から
Azure Active Directory
/ 条件付きアクセス
/ 名前付きの場所
/ MFAの信頼できるIPの構成
上記へアクセスし、ユーザータブから すべてのユーザーのMFAステータス
を 無効
にします。
❗無効にすると、条件付きアクセスポリシーで定義していない限りMFAが解けてしまいます ❗
結果
クラシックポータルの多要素認証を無効化することで、新ポータルの条件付きアクセスポリシーが優先されるようになります。
つまりは、MFAを求めたくない挙動を再現するには 条件付きアクセスポリシー
を使用するしか無い ということですね👀
クラシックポータルの多要素認証を無効化
することで、理想の挙動をするようになりました。