ADFSから段階的にAzure ADへ移行

皆さんこんにちは。国井です。
オンプレミスActive Directoryの認証結果に基づいてAzure ADへのサインインを省略するシングルサインオン(SSO)機能を実装する場合、これまではADFSサーバーを使っていました。
ですが、最近ではAzure AD Connectで提供されるシームレスシングルサインオン機能によって代替できるようになったため、ADFSサーバーからシームレスシングルサインオン機能に切り替えたいという声も聞くようになってきました。

そこで今回は直近で登場したばかりのADFSサーバーからのステージドマイグレーション機能を利用して、段階的にADFSを利用するユーザーをシームレスシングルサインオンに切り替える方法を紹介します。

おさらい:SSOの条件

Azure ADに作られたユーザーアカウントを利用してサインインする場合、これまで3つの方法がありました。

1つめはAzure ADに直接作成したユーザーでサインインする方法、
2つめはAzure AD Connectを利用してActive Directoryから同期したユーザーでサインインする方法、
そして、3つめはAzure AD Connectを利用してActive Directoryから同期したユーザーを利用してADFSサーバーでSSOアクセスする方法です。

image

3つめの方法は2つめの方法が前提となって利用可能なサインイン方法です。

3つめの方法でAzure ADに対するSSOアクセスを行う場合、Azure ADに登録されたドメイン名の単位で判定をしていました。
Azure ADにカスタムドメイン名として会社のドメイン名を登録したら、そのドメイン名をSSOで利用するドメインとして設定すると、カスタムドメイン名画面ではフェデレーションの欄にチェックが付きます。

image

その結果、xxxx@adfs.jp のようなユーザー名でサインインしたときに、adfs.jp ドメインがフェデレーションドメインだとわかると、ADFSサーバーへリダイレクトしてSSOアクセスの処理を開始していたのです。

おさらい:ADFSサーバーの廃止設定

特定のドメインに対するADFSサーバーの利用を止める場合、Convert-MSOLDomainToStandardコマンドレットを実行します。
すると、SSOアクセスは廃止され、Azure ADに同期されたユーザーのユーザー名とパスワードを入力してサインインする方式に切り替わります。

image

このとき、事前にシームレスシングルサインオンの設定をしておけば、Convert-MSOLDomainToStandardコマンドレットを実行することで、自動的にADFSサーバーからシームレスシングルサインオンにSSO方式が切り替わります。

image

段階的な切り替え

Convert-MSOLDomainToStandardコマンドレットを実行すればシームレスシングルサインオンに切り替えることができます。しかし設定はドメイン単位なので、基本的にすべてのユーザーの移行をいっぺんに行わなければなりません。それはIT管理者の立場からしてみれば、とてもリスクの大きい作業だと感じることでしょう。
そこで、Azure ADでは新しく一部のユーザーだけをADFSサーバーからシームレスシングルサインオンに切り替える段階的な移行方法をサポートするようになったのです。

image

では設定を見てみましょう。
Azure AD管理センター画面(https://aad.portal.azure.com)から[Azure AD Connect]をクリックし、[マネージドユーザーサインインの段階的なロールアウトを有効にする]をクリックします。

image

[段階的なロールアウト機能を有効にする] 画面で、パスワードハッシュ同期またはパススルー認証を選択し、移行対象となるユーザーをグループの単位で指定します。
2019年11月19日追記
シームレスシングルサインオンを使わないという選択肢はないそうです。

image

ご覧のような感じでグループの選択を行ったら終わり。

image

これだけです。次回からサインインするときはADFS経由ではなく、シームレスシングルサインオンによるサインインになります。
ちなみに、この方法による移行方法は完全にADFSをやめてしまうわけではないので、
PowerShellコマンドレットで、Get-MsolDomainFederationSettingsコマンドレットを叩くと、今までのADFSサーバー設定が引き続き残っていることがわかります。
2019年11月19日追記
つまり、そのことは最終的にすべてのユーザーの移行が完了したときにはConvert-MSOLDomainToStandardコマンドレットを実行して完全にADFSサーバーを使わない宣言をしなければならないということです。

image

image

ADFSサーバーからシームレスシングルサインオンへの段階的な移行には、現状のADFSサーバーの状態に問題がないか確認したり、
クレームルールをAzure ADへどのように移行するか? Office 365以外で証明書利用者信頼に登録されているクラウドアプリがある場合にどうやってAzure ADへ移行するか?
など検討しなければならない課題は色々あります。2020年にはこれらをまとめて学べるトレーニングコースを提供予定ですので、出来上がりましたら、改めてご案内させていただきます。

・参考URL
AAD Connect Healthを利用したADFSサーバーの監視
http://azuread.net/2015/08/21/aad-connect-health%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%9Fadfs%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E7%9B%A3%E8%A6%96/