1.はじめに
本記事は、Entra IDにおける段階的ロールアウト(Staged Rollout)に関する内容です。
よくある利用シーンは、ADFSによるフェデレーションを止める場合に、一部ユーザだけ先行して、Entra IDによるマネージド認証に変えたいという場合です。
ただ、今回はOktaによるフェデレーション環境で、一部ユーザだけ、Entra IDによる認証に変えてみました。
2.段階的ロールアウト
2-1.段階的ロールアウトとは
段階的ロールアウトとは、フェデレーション ドメインに属しているユーザーの一部のみをマネージド 認証に変更できる機能です。
フェデレーション環境を止める場合は、そのドメイン中の全ユーザの認証先が切り替わることから、非常にリスクのある作業となります。そのリスクを減らすために、事前に一部ユーザだけ、先行して認証を切り替えることができます。
2-2.設定方法
設定自体は非常に簡単で、「ハイブリッド管理 > Microsoft Entra Connect」で、「Connect 同期 > マネージドユーザーサインインの段階的ロールアウトを有効にする」を選択します。
次に、段階的ロールアウトの対象となるグループを設定するだけとなります。
※動的グループはサポート外となるため、静的なユーザグループにしておく必要があります。
2-3.前提条件
「2-2.設定方法」からわかるように、設定だけであれば、対象となるグループを割り当てることくらいです。
ただ、前提条件が多々あり、特に大切な点が、Microsoft Entra Connectを利用していることであり、Entra Connectを利用して、ADからEntra IDに同期されたユーザのみを対象にしています。
逆に、Entra IDやIDaaSにしか存在しないユーザの場合は、段階的ロールアウトを適用することはできません。
・サポートされるシナリオ
Microsoft Entra Connect を使用して Microsoft Entra ID にプロビジョニングされたユーザー。 「クラウドのみ」のユーザーには適用されません。
他にもサポートされないシナリオがありますので、注意をする必要があります。
特に、初回登録のユーザ数は、200名以下にしておき、静的グループを利用するという点も忘れずに考慮しておく必要があります。
・サポートされないシナリオ
入れ子になったグループはサポートされていません。
段階的なロールアウトでは、動的グループはサポートされていません。
段階的なロールアウトでセキュリティ グループを初めて追加するときは、UX タイムアウトを回避するために 200 ユーザーに制限されます。グループを追加した後は、必要に応じて、さらに多くのユーザーをそこに直接追加できます。
3.テスト
Microsoft Entra Connectが必須ということから、メインの利用シーンは、ADFSによるフェデレーションからEntra IDによるマネージド認証に切り替える場面が多いかもしれません。
ただ、今回はその他IDaaSでフェデレーションをしている場合や、Entra Connect クラウド同期でも適用できるか確認してみます。
3-1.Entra Connect クラウド同期で利用できるか
結論は、Entra Connect クラウド同期でも、段階的ロールアウト可能でした。
なお、フェデレーションには、Oktaを利用しています。
段階的ロールアウトの設定画面が、Entra Connect Connect同期のところにありますが、問題ないようです。
以下に確認した手順を記載します。
3-2.動作確認手順
Entra Connect クラウド同期の作成方法とOktaによるフェデレーションに関しては、以下記事をもとに実施しています。
今回、段階的ロールアウトを利用するためには、フェデレーションで利用している環境にあるユーザが、AD側にも必要となります。
そのため、IDの同期をさせていく必要があり、以下図のように、
- AD ⇒ Entra Connect クラウド同期 ⇒ Entra ID ⇒ API統合 ⇒ Okta
ID同期をさせました
02のユーザのみ、段階的ロールアウト用のグループにアサインしておきます。
3-3.通常のフェデレーションドメインのユーザの場合
01のユーザで、M365にアクセスしてみますと、Oktaにリダイレクトされ、Oktaによる認証後にアクセス完了しました。
3-4.段階的ロールアウトを適用したユーザの場合
次は、02のユーザで、M365にアクセスしてみます。
今度はOktaにリダイレクトされることなく、Entra IDによるマネージド認証のみでアクセス完了することができました。
そのため、Entra Connect クラウド同期を利用しても、Oktaのフェデレーションを段階的ロールアウトできるようです。ただ、IDの同期パターンは他にもいろいろ考えられるため、注意が必要ですね。
3-5.NGパターン:クラウドにしかないユーザの場合
Microsoft Learnに書いてあるNGパターンも確認してみます。
Okta上で、ユーザを作成し、Entra IDにそのユーザをプロビジョニングします。このユーザは、AD上には存在していないユーザとなります。
まず最初に、フェデレーションによる動作確認を実施し、Oktaにリダイレクトされ、認証後、M365にアクセスできることを確認しました。
画面遷移は、「3-3.通常のフェデレーションドメインのユーザの場合」と同じです。
次に、段階的ロールアウト用のグループに、そのユーザを追加します。
そして、M365にアクセスしてみます。
するとユーザ情報を入力した後は、Entra IDのマネージド認証のように、パスワード入力画面に遷移しました。パスワードを入力します。
間違えて同じ画像を貼ったわけではありませんが、再び、Microsoftの認証画面が表示されました。
再び、ユーザをパスワードを入力しても、またMicrosoftの認証画面が表示されます。
このように、Entra Connectによる同期をしていないと、段階的ロールアウトは利用できないようです。仕様通りの動作ですね。
4.終わりに
Goodbye ADFSの定番機能の段階的ロールアウトに関して、実施してみました。
条件さえ満たすことができれば、簡単に利用でき、リスクも低減できる機能です。
ただ、ADFSではなく、IDaaSのフェデレーションをEntra IDによるマネージド認証にするため、段階的ロールアウトを適用する場合は、Entra Connectを考慮しておく必要があります。