どうもミツシマです。
今回はAzure AD Coneectについて検証したいと思います!!
そもそもAzure AD Connectとは??
オンプレにあるActiveDirectoryとクラウドのAzure ActiveDirectoryのユーザーIDを同期する為のツールというのが僕の簡単な見解です。
なぜそんなことをする必要があるかというと、法人向けのMicrosoft 365(旧 Office365)を使用する際に裏でAzure ActiveDirectoryが構成されています。
既にオンプレにActiveDirectoryを構成している環境であれば、オンプレADとクラウドのAzureADを同期させることでユーザーIDとパスワードの管理を一元化することが出来て便利だからです!!
詳細はこの辺りを参照ください。
Azure AD Connect とは
Azure AD Connect の前提条件
ということで今回はAzure AD Connectのインストールと構成(パスワードハッシュ同期)をやってみたいと思います。
検証環境は以下のとおりです。
クラウドAzureAD 無償版
オンプレAD:Windows Server 2016
Azure AD Connect:Windows Server 2016
また、事前にオンプレADに連携用のユーザーを作成しておきます!

グループは「Domain Users」だけで問題ないです!
むしろ「Domain Admins」等は使用出来ないようなので、これのみで!!!
パスワードは無期限で変更しない方が良いです!!
そのため、乱数表を用いて複雑なパスワードを生成・設定するのがいいかもです。
(注)途中で解説しているPowershellコマンドによる権限付与が必要となります(←こっちの方が重要)
ここからAzure AD Connectをインストール・設定していこうと思います。
まずはダウンロードから。
以下のサイトからモジュールのダウンロードが可能です。
https://www.microsoft.com/en-us/download/details.aspx?id=47594
Azure ADのポータル画面から辿る場合でも結局は上記URLに行きます。

モジュールをダウンロードしたら次はインストールです。


※今回は「簡単設定」ではなく、「カスタマイズ」を選択します!!

とりあえず、上記はチェックを入れずにそのまま「インストール」を実行!!
インストール完了後は構成画面へ遷移します。

Azure ADの管理者情報を入力します!

ここで「ディレクトリの追加」をクリックします。

事前に作成したユーザー情報を入力します、、、、、
の前にこの画面はそのままでPowershellを管理者として実行して以下のコマンドを入力します!
当たり前ですが、「aadconnectuser」や「test.local」は環境によって変更ください。
※それぞれ「AD接続用のユーザー名」と「ドメイン名」となります。
必要なアクセス権限やPowershellコマンドについては以下のサイトを参考にしてください。
Azure AD Connect:アカウントとアクセス許可
Azure AD Connect: AD DS コネクタ アカウントのアクセス許可の構成
コマンド実行後はインストール設定画面に戻ります。

接続用ユーザー名とパスワードを入力して「OK」をクリックします。

構成済みディレクトリにオンプレADのドメイン名があることを確認して「次へ」


ここで使用するオンプレミスの属性として初期値の「userPrincipalName」から「mail」に変更します。
理由としては、「mail」属性の方が後々連携する際に楽だからです。
※ちなみに「mail」属性というのは「電子メール」のところです。

基本的にAzureADを利用する際には「〜@xxx.co.jp」のように企業が持つ独自ドメイン(メールアドレス形式)になると思います。
さすがに「〜@xxx.onmicrosoft.com」は使用しないですよね。。。(^_^;)
「〜@xxx.co.jp」をAzure ADで使用する場合にオンプレADにすでに「〜@xxx.co.jp」というUPNサフィックスを使用していればいいのですが、通常はUPNサフィックスを追加して、各ユーザーのUPNサフィックスを変更する必要があります。
※普通はオンプレADのUPNサフィックスは「〜@test.local」みたいな形式ですよね。。。

UPNサフィックスを追加する場合には「ActiveDirectoryドメインと信頼関係」から追加可能です。

UPNサフィックスを追加して全ユーザーに変更かけるよりも、「mail」にそれぞれメールアドレス情報を追加して、それをキーに連携させたほうが楽です。
※名字が変更になり、メールアドレスが変更になった際等も楽だと個人的に考えます。
UPNサフィックス変更に失敗して、既存ログオンに影響あるのも怖いので。。
以上の理由から初期値の「userPrincipalName」ではなく「mail」に変更しています。
ということで、インストール画面に戻ります。

チェックボックスを入れて「次へ」!

連携するドメインのOUを選択します。
すべてのOUを同期するとコントロールが面倒だと思うので。。。

ユーザー識別に関してはそのままで行きます。
2020年11月時点のバージョンでは「Azureでソースアンカーを管理します」を選択すると「ms-Ds-Consistency-Guid 属性」で識別されるはずです。


オプション機能は特に追加せず「次へ」

そのまま「インストール」を実行します。
※ステージングモードというのは、Azure AD Connectのバックアップ用サーバーの構成をするような形です(正確にはちょっと違いますが。)
Azure AD Connectサーバー自体、アクティブ-アクティブ構成の冗長化が出来ないので、アクティブ-パッシブ構成を取る必要があります。パッシブ(待機用)のサーバーのモードが「ステージングモード」となります。

完了しました!
Azure portalを確認すると同期されていることがわかります。

※Sync〜のユーザーはクラウドのAzure ADの連携用ユーザーとなります。
当たり前ですが、オンプレADの連携用ユーザーとは別です。
これでオンプレADのログインパスワードでMicrosoft 365へのログインが可能になります。
ライセンス等はMicrosoft 365管理センターで付与する必要がありますが、、、(^_^;)
※ライセンス含めた一元管理は難しそうですね。。。
こんな感じですべての設定が完了です!!
特に悩んだのが、Powershellコマンドの「Set-ADSyncBasicReadPermissions」についてです。
実際、このコマンドを使用しなくともユーザー同期やパスワードハッシュ同期は動作しました。
また、このコマンドに関してMicrosoftのドキュメントを確認すると
今回はAzure AD Coneectについて検証したいと思います!!
そもそもAzure AD Connectとは??
オンプレにあるActiveDirectoryとクラウドのAzure ActiveDirectoryのユーザーIDを同期する為のツールというのが僕の簡単な見解です。
なぜそんなことをする必要があるかというと、法人向けのMicrosoft 365(旧 Office365)を使用する際に裏でAzure ActiveDirectoryが構成されています。
既にオンプレにActiveDirectoryを構成している環境であれば、オンプレADとクラウドのAzureADを同期させることでユーザーIDとパスワードの管理を一元化することが出来て便利だからです!!
詳細はこの辺りを参照ください。
Azure AD Connect とは
Azure AD Connect の前提条件
ということで今回はAzure AD Connectのインストールと構成(パスワードハッシュ同期)をやってみたいと思います。
検証環境は以下のとおりです。
クラウドAzureAD 無償版
オンプレAD:Windows Server 2016
Azure AD Connect:Windows Server 2016
〜検証〜
事前準備として、「Microsoft 365のテナントに独自ドメインを追加」と「オンプレADの構築」を済ませた状態にしています。また、事前にオンプレADに連携用のユーザーを作成しておきます!

グループは「Domain Users」だけで問題ないです!
むしろ「Domain Admins」等は使用出来ないようなので、これのみで!!!
パスワードは無期限で変更しない方が良いです!!
そのため、乱数表を用いて複雑なパスワードを生成・設定するのがいいかもです。
(注)途中で解説しているPowershellコマンドによる権限付与が必要となります(←こっちの方が重要)
ここからAzure AD Connectをインストール・設定していこうと思います。
まずはダウンロードから。
以下のサイトからモジュールのダウンロードが可能です。
https://www.microsoft.com/en-us/download/details.aspx?id=47594
Azure ADのポータル画面から辿る場合でも結局は上記URLに行きます。

モジュールをダウンロードしたら次はインストールです。


※今回は「簡単設定」ではなく、「カスタマイズ」を選択します!!

とりあえず、上記はチェックを入れずにそのまま「インストール」を実行!!
インストール完了後は構成画面へ遷移します。

Azure ADの管理者情報を入力します!

ここで「ディレクトリの追加」をクリックします。

事前に作成したユーザー情報を入力します、、、、、
の前にこの画面はそのままでPowershellを管理者として実行して以下のコマンドを入力します!
#コマンド実行のための事前モジュールのインストールとインポート
Install-WindowsFeature RSAT-AD-Tools
Import-Module "C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\AdSyncConfig.psm1"
#ADの対象オブジェクト(プロパティ)の基本的な読み取り権限付与(必須)
Set-ADSyncBasicReadPermissions -ADConnectorAccountName "aadconnectuser" -ADConnectorAccountDomain "test.local"
#MS-DS-Consistency-Guid のアクセス許可の構成(必須)
Set-ADSyncMsDsConsistencyGuidPermissions -ADConnectorAccountName "aadconnectuser" -ADConnectorAccountDomain "test.local"
#パスワード同期のアクセス許可(パスワードハッシュ同期の際に必要. パススルー同期の際には不要)
Set-ADSyncPasswordHashSyncPermissions -ADConnectorAccountName "aadconnectuser" -ADConnectorAccountDomain "test.local"
#設定したアクセス許可が反映されているかを確認
Show-ADSyncADObjectPermissions -ADobjectDN "DC=test,DC=local"
当たり前ですが、「aadconnectuser」や「test.local」は環境によって変更ください。
※それぞれ「AD接続用のユーザー名」と「ドメイン名」となります。
必要なアクセス権限やPowershellコマンドについては以下のサイトを参考にしてください。
Azure AD Connect:アカウントとアクセス許可
Azure AD Connect: AD DS コネクタ アカウントのアクセス許可の構成
コマンド実行後はインストール設定画面に戻ります。

接続用ユーザー名とパスワードを入力して「OK」をクリックします。

構成済みディレクトリにオンプレADのドメイン名があることを確認して「次へ」


ここで使用するオンプレミスの属性として初期値の「userPrincipalName」から「mail」に変更します。
理由としては、「mail」属性の方が後々連携する際に楽だからです。
※ちなみに「mail」属性というのは「電子メール」のところです。

基本的にAzureADを利用する際には「〜@xxx.co.jp」のように企業が持つ独自ドメイン(メールアドレス形式)になると思います。
さすがに「〜@xxx.onmicrosoft.com」は使用しないですよね。。。(^_^;)
「〜@xxx.co.jp」をAzure ADで使用する場合にオンプレADにすでに「〜@xxx.co.jp」というUPNサフィックスを使用していればいいのですが、通常はUPNサフィックスを追加して、各ユーザーのUPNサフィックスを変更する必要があります。
※普通はオンプレADのUPNサフィックスは「〜@test.local」みたいな形式ですよね。。。

UPNサフィックスを追加する場合には「ActiveDirectoryドメインと信頼関係」から追加可能です。

UPNサフィックスを追加して全ユーザーに変更かけるよりも、「mail」にそれぞれメールアドレス情報を追加して、それをキーに連携させたほうが楽です。
※名字が変更になり、メールアドレスが変更になった際等も楽だと個人的に考えます。
UPNサフィックス変更に失敗して、既存ログオンに影響あるのも怖いので。。
以上の理由から初期値の「userPrincipalName」ではなく「mail」に変更しています。
ということで、インストール画面に戻ります。

チェックボックスを入れて「次へ」!

連携するドメインのOUを選択します。
すべてのOUを同期するとコントロールが面倒だと思うので。。。

ユーザー識別に関してはそのままで行きます。
2020年11月時点のバージョンでは「Azureでソースアンカーを管理します」を選択すると「ms-Ds-Consistency-Guid 属性」で識別されるはずです。


オプション機能は特に追加せず「次へ」

そのまま「インストール」を実行します。
※ステージングモードというのは、Azure AD Connectのバックアップ用サーバーの構成をするような形です(正確にはちょっと違いますが。)
Azure AD Connectサーバー自体、アクティブ-アクティブ構成の冗長化が出来ないので、アクティブ-パッシブ構成を取る必要があります。パッシブ(待機用)のサーバーのモードが「ステージングモード」となります。

完了しました!
Azure portalを確認すると同期されていることがわかります。

※Sync〜のユーザーはクラウドのAzure ADの連携用ユーザーとなります。
当たり前ですが、オンプレADの連携用ユーザーとは別です。
これでオンプレADのログインパスワードでMicrosoft 365へのログインが可能になります。
ライセンス等はMicrosoft 365管理センターで付与する必要がありますが、、、(^_^;)
※ライセンス含めた一元管理は難しそうですね。。。
こんな感じですべての設定が完了です!!
〜検証時のあれこれ〜
実際これを検証する際に色々なMicrosoftのドキュメントを読みましたが、難解な部分がチラホラで苦労しました。特に悩んだのが、Powershellコマンドの「Set-ADSyncBasicReadPermissions」についてです。
実際、このコマンドを使用しなくともユーザー同期やパスワードハッシュ同期は動作しました。
また、このコマンドに関してMicrosoftのドキュメントを確認すると
Azure AD Connect 機能を使用しない場合に、AD DS コネクタ アカウントに対して
基本的な読み取り専用のアクセス許可を設定するには、次のコマンドを実行します。
とあるからです。
「使用しない場合」って何ですか(^_^;)このコマンドいらないのかな〜〜。
僕の結論としては、必要!!
理由はプロパティの読み取り権限なので、これがないと必要なプロパティ(属性等)が読み取れなくて困ることがあるんじゃないかな〜〜と考えたからです。
※簡単設定でやった場合に自動で作成されるAD連携用ユーザーには、この読み取り権限が付与されていますしね。
合わせて、権限確認でいうと「Show-ADSyncADObjectPermissions」コマンドになりますがGUIでも確認可能です。
「表示」-「拡張機能」をONにした上で、ドメインのプロパティを確認します。

ちなみに画面で表示されている「MSOL~」というのは、Azure AD Connect設定時にAD連携用ユーザーを作成する場合に出来るユーザーです。
自動作成時とアクセス権限を比較するために色々やったのでこの検証環境ではユーザーがいます。
パスワードハッシュ同期だとパスワード自体(正確にはハッシュで色々した不可逆のものらしいです)をクラウドに持つのでAzure AD Connectサーバーがダウンしていても、Microsoft 365にログインすることが可能です。
その代わりサーバーがダウンしていると新規ユーザーの同期等は当然行われないです。
※ユーザー同期は30分間隔、パスワードハッシュ同期は2分??間隔のようです。
即時で同期させたい場合には「Start-ADSyncSyncCycle -PolicyType Delta」で反映が可能です。
こんな感じで今回の検証は終了です。
基本的にはGUIでポチポチやっていけば設定自体は簡単です。
注意することとしては、連携属性を「mail」に変更すること、連携用ADユーザーに権限付与(Powershellコマンド)することぐらいだと思います!!
「使用しない場合」って何ですか(^_^;)このコマンドいらないのかな〜〜。
僕の結論としては、必要!!
理由はプロパティの読み取り権限なので、これがないと必要なプロパティ(属性等)が読み取れなくて困ることがあるんじゃないかな〜〜と考えたからです。
※簡単設定でやった場合に自動で作成されるAD連携用ユーザーには、この読み取り権限が付与されていますしね。
合わせて、権限確認でいうと「Show-ADSyncADObjectPermissions」コマンドになりますがGUIでも確認可能です。
「表示」-「拡張機能」をONにした上で、ドメインのプロパティを確認します。

ちなみに画面で表示されている「MSOL~」というのは、Azure AD Connect設定時にAD連携用ユーザーを作成する場合に出来るユーザーです。
自動作成時とアクセス権限を比較するために色々やったのでこの検証環境ではユーザーがいます。
パスワードハッシュ同期だとパスワード自体(正確にはハッシュで色々した不可逆のものらしいです)をクラウドに持つのでAzure AD Connectサーバーがダウンしていても、Microsoft 365にログインすることが可能です。
その代わりサーバーがダウンしていると新規ユーザーの同期等は当然行われないです。
※ユーザー同期は30分間隔、パスワードハッシュ同期は2分??間隔のようです。
即時で同期させたい場合には「Start-ADSyncSyncCycle -PolicyType Delta」で反映が可能です。
こんな感じで今回の検証は終了です。
基本的にはGUIでポチポチやっていけば設定自体は簡単です。
注意することとしては、連携属性を「mail」に変更すること、連携用ADユーザーに権限付与(Powershellコマンド)することぐらいだと思います!!
スポンサードリンク
コメント