Hybrid Azure AD Join の構成メモ

#この記事について
Hybrid AD Join の検証でわかったこととトラシューポイントを記載します。

#Hybrid Azure AD までの処理の流れ
AADC を構成して、Windows 10 クライアントが Hybrid Azure AD Join 状態となるまでの処理過程は以下。

###1. Azure AD Connect が SCP を書き込む
オンプレミス AD のフォレストにある構成パーティションに SCP が書き込まれる。
>
CN=62a0ff2e-97b9-4513-943f-0d221bd30080,CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=xxxxxxx,DC=xxxxxx"
＊ DC=xxxxxxx,DC=xxxxxx はドメイン名

書き込まれた SCP の情報は、PowerShell から以下コマンドで確認できる。

```
$scp = New-Object System.DirectoryServices.DirectoryEntry
$scp.Path = "LDAP://CN=62a0ff2e-97b9-4513-943f-0d221bd30080,CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=xxxxxxx,DC=xxxxxx"
$scp.Keywords
```

出力結果例は以下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/63da2175-6eb8-b478-8529-b5bef68c6073.png)

SCP は、サービス接続ポイントの略。
オンプレミス AD に参加しているコンピューター デバイスが、 同期先テナントの Azure AD がどこか？を示す情報。
これが正しく登録されていないと、Hybrid Azure AD Join 状態とはならない。

###2. Windows 10 のタスクで UserCertificate 属性を書き込む
以下のタスクがログイン時と定期的 (1時間間隔ぐらい) に実行され、SCP に登録されているテナント情報を取得し、クライアント端末の userCertificates 属性に事故署名証明書を格納する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/b7720a94-4011-41c9-56ca-cb05ace24db4.png)

###3. Azure AD Connect の同期でコンピューター オブジェクトが同期される
自己署名証明書が格納されたコンピューター オブジェクトが、Azure AD Connect の同期で Azure AD に同期される。
(証明書が格納されていないコンピューター オブジェクトは同期されない)

ただし、この状態では Azure AD 上ではまだ保留中となる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/29b72a03-6282-7ef5-5404-2710575bf5d3.png)


###4. Hybrid Azure AD Join の完成
Azure AD に同期された後に、再度以下タスクが実行されることで、Azure AD Join が完了し、Hybrid Azure AD Join 状態となる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/b7720a94-4011-41c9-56ca-cb05ace24db4.png)

これにより、保留状態から日付が入るのでそれで判断できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/a6774832-6fb7-dbd9-23c3-f73ecc2efb1f.png)

なお、Azure AD Register もしている場合、Azure AD Register のデバイスは削除したほうが望ましい。
Azure AD Join と Azure AD Register の違いについては、以下 Blog が参考になる。
https://jpazureid.github.io/blog/azure-active-directory/azure-ad-join-vs-azure-ad-device-registration/


もし、保留中から変化しない場合は、以下公開資料を基にトラシューするとよさそう。
https://docs.microsoft.com/ja-jp/azure/active-directory/devices/hybrid-azuread-join-managed-domains
https://jpazureid.github.io/blog/azure-active-directory/troubleshoot-hybrid-azure-ad-join-managed/


###5. Azure AD PRT (Primary Refresh Token) の取得
Hybrid Azure AD Join となった端末に、ユーザーがサインインして認証されたタイミングで Azure AD PRT が取得される。
コマンド プロンプトから dsregcmd /status とすることで確認できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/562eb7f0-37fd-90b3-34e4-2d3b713084bb.png)




#Azure AD Connect の構成
オンプレミスAD と Office 365 (Azure AD) 環境は用意済みとする。
Azure AD Connect のインストーラーは以下から。
https://www.microsoft.com/en-us/download/details.aspx?id=47594

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/10205857-a132-af0d-ddb6-6dcb692480ab.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/6993d7d5-f6e2-2972-000a-912400a8997f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/811fa9f8-6f2d-5fbe-8a3c-401a01e50a7a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/0ca0bb82-9292-15ff-677b-3f4c85ad4113.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/d85328b2-91f8-62b4-e62e-d6383851b997.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/49e58c30-61cb-1a46-c0b3-ccc30d66c000.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/94e76308-1e52-90f5-86c8-00cd07c5be3e.png)


#クライアント側の状態
オンプレAD に参加していない端末では、以下のような画面になるが、
>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/ddd2c5bc-4fb0-9621-13b3-1ce844178834.png)

ドメイン参加済みの場合は、オンプレAD や Azure AD の参加項目 (赤枠) がなくなっている。
>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/e8521ae2-a14b-f7d9-cca8-b177fea728d6.png)

つまり、すでにオンプレ AD に参加済み端末の場合は、クライアント側での作業は不要ということ。
(明示的に Azure AD に参加ということをしなくて良い)