ハイブリッドAzure AD参加のトラブルシューティング

皆さんこんにちは。国井です。

Azure ADに関連付けられたアプリにアクセスするときに、特定の条件を満たすユーザー/デバイスからのみアクセスを許可するようなアクセス制御機能に「条件付きアクセス」という機能があります。
条件付きアクセスでは、色々なアクセス制御のための条件を設定できますが、その中のひとつに「Active Directoryドメインに参加しているPCだけがアクセスを許可する」設定(項目名では[ハイブリッド Azure AD 参加済みのデバイスが必要])があります。
この設定を利用する場合、単純にActive Directoryドメインに参加していればよいわけではなく、Azure ADにActive Directoryドメインに参加しているPCの情報を登録しておく必要があります。これをハイブリッド Azure AD 参加と呼びます。

ハイブリッドAzure AD参加の設定方法についてはQiitaで紹介されているので、それを見ていただくとよいでしょう。

https://qiita.com/Shinya-Yamaguchi/items/73016fcdb5beeaefa5ba

ただ、ハイブリッドAzure AD参加って、いつ登録が始まっているのか、よくわからないし、登録が完了したのかもよくわかりません。そこで、登録が完了したのか?また、登録に失敗しているのであれば何が原因なのかを探る方法についてまとめておきたいと思います。

登録状況の確認

ハイブリッドAzure AD参加の登録状況はクラウド側とクライアント側で確認する方法があります。
まずクラウド側はAzure AD管理ポータル(https://aad.portal.azure.com)の[Azure Active Directory]-[デバイス]-[すべてのデバイス]から確認できます。

image

一方、クライアント側はコマンドプロンプトから「dsregcmd /status」コマンドを実行すると確認できます。

image

トラブルシューティング(クライアント側)

ハイブリッドAzure AD参加を行うためのデバイスの登録はグループポリシーが適用されたタイミングで行う(よう)ですが、それがうまくいかないとこんな感じになります。

image

さらに実行結果をスクロールすると、こんな情報が..

image

[Diagnostic Data]欄では0x801c03f2というエラーコードが生成されているので、これを手掛かりに調査を進めていくのもよいでしょう。
さらに別の視点から見てみよう!ということで、イベントビューアを使います。
イベントビューアでは、[アプリケーションとサービスログ]-[Microsoft]-[Windows]-[User Device Registration]項目からデバイス登録に関する情報を参照できます。

image

イベントID204, 304, 360 というあたりのログが生成されているのがわかります。詳細を見てみると

image

image

204と304のエラーログを見ると、device object by given id is not foundというdirectory errorなので、ディレクトリ(Azure AD)側にデバイスオブジェクトがないということを言っているのがわかります。

image

さらに360のログを見ると、WHfBのためのハードウェア要件やプロビジョニング処理のための要件に問題はないことがわかるので、類推するにクライアント側の問題ではなく、サーバー側の問題ではないだろうか?ということがわかります。

トラブルシューティング(サーバー側)

サーバー側で見るべきポイントは、グループポリシーの設定が正しいものであるか?
それからDNSレコードの設定が正しいものであるか?
という設定ミス系をまずは確認しておきましょう。
その他のポイントとしては、Azure AD Connectの同期。
Azure AD Connectの同期ではActive Directoryドメインに登録されたデバイス情報がAzure ADに同期されることによって、デバイス情報が事前登録され、そしてクライアントからのデバイス登録要求があると、事前登録されたデバイス情報と突き合わせをし、正しければ登録完了となります。

しかし、Azure AD管理ポータルでは事前登録されたデバイスの情報は見えないので、Azure AD Connectのツールを使って同期が行われたかを確認します。
Azure AD Connectをインストールすると一緒にインストールされるツールである[Synchronization Service]ツールを起動し、[Metaverse Search]タブを開いて、[device]オブジェクトを検索します。

image

すると、検索結果はゼロ!
なるほど、さっきエラーログでdevice object by given id is not foundと出てきたのはAzure AD Connectでデバイス情報が同期されていなかったからなのか!ということがわかります。
デバイス情報が同期されていない場合は、OU単位で同期対象をフィルタする設定で除外されていることが考えられます。
Azure AD Connect ツールを起動し、[同期オプションのカスタマイズ]を選択して、

image

デバイスオブジェクトが含まれるComputers OUが同期対象になるようにカスタマイズしておきましょう。

image

設定できたら、同期を実行します。同期は差分同期ではなく、フル同期する必要があるので、

Start-ADSyncSyncCycle –Policytype Initial

を実行してください。

フィナーレ

同期が完了したら、もう一度クライアントコンピューターでグループポリシーを適用し、デバイス登録を再実行します。
すると、今度はデバイス登録できたことがわかります。

image

image

その他、デバイス登録時にどのような通信を行うのか?やプロキシを利用しているケースは?などのトラブルシューティング上の切り分けもあるかと思いますが、MSさんでとても良い資料を出してくださっているので、これはお勧めです!

https://github.com/yusukekodama/PMActivities/blob/master/Webinar/Schedule.md