📍

OktaとAzure ADをフェデレーションした後にPINやWindows Helloの認証でループした話

2022/10/06に公開

はじめに

2022年10月1日からAzure ADのユーザーがMFAを求められるようになったので、OktaをIdPとしてAzure ADとのフェデレーションを設定しました。
(それまではSWAのままにしていました)

https://learn.microsoft.com/ja-jp/azure/active-directory/authentication/howto-registration-mfa-sspr-combined

参考にした記事は↓となります。
thdyさんこの場を借りてお礼申し上げます…🙇‍♂️
https://zenn.dev/thdy/articles/okta_azuread_integrations

この記事ではその後にハマったことを記載しています。

ハマったこと

thdyさんのこの記事を参考にAzure ADとのフェデレーションを設定し意気揚々とWindowsの検証機を初期化→再セットアップしていました。

PINの設定でOktaの認証がループする

Windows11 Proの設定を初期セットアップを進めていくと、道中PINの設定を求められます。
設定しようとするとOktaの認証を求められるのでいつも通り認証すると…

↑の画面でループし、最終的にエラーが吐き出されました。
Okta MFA from Azure ADEnableにしてるのになんで…?という感じです。

Okta MFA from Azure ADの設定

推測

Webで色々と調べているとこのドキュメントがHitしました
https://help.okta.com/oie/en-us/Content/Topics/Apps/Office365/Use_Okta_MFA_Azure_AD_MFA.htm

結局何を言っているかというと、Azure AD側でMFAを有効にしているのに、Oktaのアプリ側のSign in PolicyでMFAが有効になっていないと無限ループに陥るよ。ってことです(多分)

ここで1つ設定を思い出します。
今回のフェデレーションの設定でWindowsのログインにOktaのパスワードを使えるようにSign in Policyを変更しました。

元々、Client isにはWeb browserModern Authenticationだけが入っていましたが、WindowsへのログインのためにExchange Active Syng/Legacy Authを追加しました。

それでその下にご丁寧に書いていました。

The Exchange ActiveSync/Legacy Auth limits the rule to password-based authentication only. See

Exchange Active Syng/Legacy Authがあるとルールをパスワードのみに制限するよ!!」

これは良いんですが、同じルールに入っているWeb browserModern AuthenticationもMFAがDisableと同義になっちゃったんですね(推測)

赤枠の部分がPasswordから変更出来なくなってしまっていました

解決方法

Ruleを分けます。
OktaのAdmin画面からSecurity > Authentication policies > Microsoft Office 365(環境によって名前違うかも)に入ります

まずは新しいRuleを作ります。
Ruleに注釈が入れられないので、Rule nameを分かりやすくした方が良いです。
今回はNot Legacy Authとしました。

Client isの項目でOne of the following clients:を選択し、Web browserModern Authentication追加します。
そしてUser must authenticate withAny 2 factor typesを選択します。

次に既存のRuleを修正します。
こちらのRule nameLegacy Authとしました。
Client isの内容をExchange Active Syng/Legacy Authだけにします。

その後、Ruleの順番を整理します。

  1. Legacy Auth
  2. Not Legacy Auth
    ↑のようにし、Legacy Authならパスワード認証だけ、そうじゃないならMFAを必要とする。という導線にしています。

これで設定は完了です。
あとはPINの設定でOktaの認証が通ればOKです。

最後に

OktaとAzure ADとのフェデレーションはハマりどころがそこそこありますが、構成するとWindowsのセットアップにOktaのアカウントを使えたりとセキュリティの向上が望まれます。
ぜひ皆さんも設定されてみてはいかがでしょうか?

Discussion