Office365 AADConnectのパススルー認証によるSSO構築①

どうも、Miyaです。

前回の記事では、Office365で構成できるID管理の種類についてご説明しました。
その中でも、オンプレADで認証を行うフェデレーションIDを実装したいと思います。

実装するにあたって、AADConnectというMIMの簡易アプリケーションソフトを使用して、Office365へのディレクトリ同期&シングルサインオン構成を実現したいと思います。
それでは、レッツゴー(´_ゝ`)

スポンサーリンク:

AADConnectによる認証フロー

AADConnectでシングルサインオンを構成するには、AADConnectのパススルー認証という機能を使用します。
Title:Azure AD Connect のシングル サインオン & パススルー認証 (プレビュー) によるクラウド完結のユーザー認証インフラの実現
https://blogs.technet.microsoft.com/office365-tech-japan/2017/03/08/aadconnect-sso-and-pass-through-authentication/

フェデレーションIDとは
フェデレーションIDとは
この機能を利用することで、社内、社外問わず、オンプレActiveDirectoryでユーザーの認証が行えます。
また、社外アクセスフローの②の通信では、AzureAD⇒社内NWにIn-bound通信が発生しているように見えますが、実際にはOut-boundの通信のみになります。

AD FSで取り入れたフェデレーションサービスでは、インバウンド通信が発生するため、社外接続用にWAP(Web Application Proxy)サーバーを設置するなどの手間が必要ですが、AADConnectの認証フローではそれを必要としません。
つまり、今までオンプレで構築していたサーバーが不要になるという画期的な機能なんです。

それでは、AADConnectのインストール~シングルサインオン構成をやってみましょう。

AADConnectのインストール

まず、AADConnectを適当なサーバーにインストールしましょう。
ディレクトリ同期するオブジェクト数にもよるのですが、あまりリソースを消費するようなサーバーではありませんので、筆者の検証環境ではメモリ2GBで1コアの仮想マシン上で構成しております。

もちろんオブジェクト数が多いのであれば、それに見合ったリソースを割り当てましょう。要件として、情報をまとめておいたので、ご参考下さい。

AADConnectの要件

ハードウェア要件

AADConnect

コンピューター要件

①Office365へ同期対象のフォレスト内のADドメインに参加していること
②ドメインコントローラーでないこと
③フォレスト内の全ドメインコントローラーと通信できること

OS/ソフトウェア要件

①Windows Server 2008 R2 SP1以上
②.NET Framework4.5.1以降
③SQL Server Express Edition

AADConnectのデータベースとしてSQLServerを使用しますが、事前にインストールする必要はなく、AADConnectのインストール時点で、ExpressEditionが同時にインストールされます。
逆に、SQL Server 2008以降であれば、既存SQLサーバーも利用できます。また、データベースのサイズが10GB以上またはオブジェクト数が100,000を超えた場合、ExpressEditionでは対応できないとのこと。

ネットワーク要件

社内ネットワークにおいては、AD関連のポート要件が開いていれば問題ありません。
AADConnect

権限

①ローカルマシンの管理者権限
②フォレスト内のEnterprise Admins権限
③Office365テナントの全体管理者

AADConnectの構成

それでは、Windows ServerにAADConnectのインストールをしていきますが…その前にADで下準備しなければなりません。
現在、Office365には***.onmicrosoft.comと、以前の記事で追加した独自ドメインが存在します。

一方、オンプレADにはローカルドメインであるcontoso.comのみで運用している状況ですね。
この状態でディレクトリ同期した場合、Office365は「contoso.comなんて知らない」となりますので、ログイン名、メールアドレスが規定のドメインに設定されます。
私のOffice365テナントの場合、規定のドメインをonmicrosoft.comにしているため、UserPrincipalNameがcontoso.comのユーザーをディレクトリ同期すると、onmicrosoft.comが付与されます。
AADConnect

さらに、今回はフェデレーションIDとなるため、オンプレADの[testuser01@contoso.com]対して、[testuser01@itbeginner.onmicrosoft.com]で認証しに行っても、ログインエラーになりますよね。
AADConnect

ですので、オンプレADのUserPrincipalNameとOffice365のログイン名を揃えてあげしょう。

[ドメインと信頼関係]からルートノードを右クリック⇒[プロパティ]をクリックします。
Office365と共有の独自ドメインを追加してあげましょう。
AADConnect

設定が完了すると、UserPrincipalNameに独自ドメインが選択できるので、変更しておきましょう。
AADConnect

前準備も終わったところで、早速AADConnectのインストール作業に入りたいと思います。
下記サイトからAADConnectのダウンロードページからダウンロードしましょう。
Title:Microsoft Azure Active Directory Connect
https://www.microsoft.com/en-us/download/details.aspx?id=47594

msi形式のインストーラーがダウンロードされるので、ダブルクリックしてインストールまで済ましてください。

インストールが完了すると、自動的にウィザードが起動するので、同意のチェックボックスにチェックをしたら[続行]をクリックします。
AADConnect

[カスタマイズ]をクリックします。
AADConnect

必要に応じて、コンポーネントのカスタマイズをします。
AADConnect

[ユーザーサインイン]で、[パススルー認証]と[シングルサインオンを有効にする]にチェックします。
AADConnect

Azure ADに接続するために、Office365の全体管理者の資格情報を入力します。
AADConnect

[ディレクトリの追加]から、AADConnectのサービスアカウントを指定します。
新しく作成するか、既存のアカウントを使うかを指定します。

AADConnect

AADConnect

次にAzure ADサインインの構成ページで、独自ドメインが[Verified]となっているのを確認します。
Office365のuserPrincipalNameとしてマッピングする属性ですが、規定の[userPrincipalName]としておきましょう。
AADConnect

ディレクトリ同期するドメインとOUのフィルタリングが行えます。
Office365を利用する最低限のユーザーオブジェクトを同期するようにしましょう。
AADConnect

一意のユーザー識別では、現状のトポロジから適切な値を設定する必要があります。
Title:Azure AD Connect のトポロジ
https://docs.microsoft.com/ja-jp/azure/active-directory/connect/active-directory-aadconnect-topologies#multiple-forests-single-azure-ad-tenant
私の場合、特に考慮する点がありませんので、規定のまま[次へ]
AADConnect

テスト的に同期するのであれば、グループ単位でのディレクトリ同期が可能です。
AADConnect

必要に応じて、オプション機能を選択します。
Title:Azure AD Connect のカスタム インストール
https://docs.microsoft.com/ja-jp/azure/active-directory/connect/active-directory-aadconnect-get-started-custom
AADConnect

シングルサインオンを有効するにあたり、AzureADのコンピューターオブジェクトを作成する必要があるので、ドメインの管理者アカウントの資格情報を入力しましょう。
AADConnect

これで、構成は完了です。お疲れさまでした。
設定に問題が無ければ、[…同期プロセスを開始してください。]にチェックを入れて、[インストール]をクリックします。
AADConnect

インストールが完了したら、[終了]をクリックします。
終了すれば、オンプレAD⇒AzureADへフル同期が開始されます。
AADConnect

今後は、30分に1回のペースで、差分同期が走ります。
手動で行うのであれば、Powershellから、以下コマンドを実行しましょう。

Office365の管理者ページを覗いてみると、ユーザーオブジェクトが同期されているのが確認できます。
尚、ディレクトリ同期して作成されたユーザーオブジェクトは、マスターがオンプレADとなるため、Office365上からユーザーの編集は行えませんので、ご注意ください。

ここから、実際に認証の動きや、サービスチケットの配布についても解説したいところですが、記事が長くなってしまうので、またの機会とさせていただきますm(__)m

Title:office365 aadconnectのパススルー認証によるsso構築②
https://miya1beginner.com/office365-aadconnectのパススルー認証によるsso構築②

おわりに

AADConnectはけっこう頻繁にアップデートされていて、久しぶりにインストーラー立ち上げると、「あれ、こんな機能あったっけ?」がよくあります。
海外展開をするにあたって、MIMサーバーを取り入れたIDの統合管理やGALSyncがありますが、今後はAADConnectに統合していくのでしょうか?

AADConnectひとつでシングルサインオンも構成できるようになってしまったので、今後はAD FS+AADConnectのアクセス制限ではなくて、Intune+AADConnectによるアクセス制限の未来も近い気がします。今後の動向が楽しみですね。

それでは、よいWindows Serverライフをっ♪

スポンサーリンク