G SuiteアカウントとActiveDirectoryのアカウントを同期する

エンタメ系企業の社内社内のもろもろを担当しているakibinです。

米津玄師もあいみょんもピンと来なかったですが、髭男dismは見事ハマったという事実は否めなーい。

#今回やってみたこと

G SuiteとActiveDirectoryのアカウントを同期して、アカウント管理を軽減したいんじゃ！
ということで、仮想構成は以下です。

| 情報種類 | ドメインやアカウント | メモ |
|:-----------------|:------------------|:------------------|
| G Suiteドメイン | gsuitest.co.jp |  |
| G Suite認証用アカウント | gsadmin@gsuitest.co.jp | G Suiteへアクセスを許可するアカウント |
| ADサーバ | Windows2019 |  |
| ADサーバのホスト名 | ad-host |  |
| ADドメイン | adtest.co.jp |  |
| AD認証用アカウント | adadmin | ADにアクセスする際のアカウント |
| 同期したいou | employer |  |
このou=employer配下のアカウントをG Suiteに同期したい！

同期には**[Google Cloud Directory Sync](https://support.google.com/a/answer/106368?hl=ja)（GCDS）**を使用します。

#事前準備
以下を用意しておく。
- Windows2019にADを立てておく
- ADがG Suiteドメインにアクセス出来るようにしておく
- AD認証用アカウント（adadmin）を作成しておく
- 同期したいou(employer)配下に同期したいユーザを作成しておく
- G Suite認証用アカウント（gsadmin@gsuitest.co.jp）を作成しておく

#作業スタート
###【G Suiteに認証用アカウントにカスタムロールをつける】
同期にはAPIとユーザ・グループを編集可能な権限を付ける必要があり、一般管理者では弱く、特権管理者では強すぎるため、以下手順でカスタムロールを作成して、認証用アカウントに付ける。
>管理コンソール＞管理者ロール＞新しいロールを作成＞名前を入力＞続行＞管理 API の権限＞「ユーザー」と「グループ」にチェックを入れる＞続行＞ロールを作成

[ユーザーに管理者ロールを割り当てる](https://support.google.com/a/answer/172176?hl=ja)方法は←参照。

###【GCDSをサーバにインストールして設定】
※GCDSの[システム要件](https://support.google.com/a/answer/6123896?hl=ja&ref_topic=4497998)にWindows2019入ってなかったですが、Googleさんに確認したところまだ書いてないだけでサポートしてくれるとのこと。優しい。

同期対象は色々調整可能なようですが、今回はアカウントとパスワードのみ同期します。

1. Windows2019に[GCDSをダウンロードしてインストールする](https://support.google.com/a/answer/6120989)
2. GCDSを起動する

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504009/f7ca57e0-09b3-9aa5-b3e6-8b2806a2f097.png" width=100%>
3. ［Google Domain Configuration］にG Suiteドメインの設定情報を入れる
    - Primary Domain Name：**G Suiteドメインを入力**
    - Replace domain...：**チェックを入れる**
    - Authorize Now：**クリックしてブラウザからG Suite認証用アカウント（gsadmin@gsuitest.co.jp）でログインする(ステータスがAuthorize（緑）に変わる)**
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504009/4d79a59d-ae4b-012b-cce4-6d7ad41320c5.png" width=1000%>
4. ［LDAP Configuration］にADの設定情報を入れる
- SErver Type ： **MS Active Directory**
- Connection Type ： **Standard LDAP**
- Host Name ： **127.0.0.1（自身を指定）**
- Authorized User ： **adadmin**
- Password ： **adadminのパスワード**
- Base DN ： **ou=employee,dc=ad-host,dc=adtest,dc=co,dc=jp**
![スクリーンショット 2020-04-20 17.59.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504009/d2ca92ba-a0d3-1a4f-b930-a5cbf8a0c07e.png)
5. ［General Setting］でUser Accountのみにチェクを入れる
![スクリーンショット 2020-04-20 18.01.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504009/001a4a1c-785f-6829-de6e-15e86257899c.png)
６． ［User Accounts］のUser Attributesタブに以下を入れる
 - Email Address Atribute : **mail**
 - Unique indentifier Attribute : **objectGUID**
 - Alias Address Atributes : **proxyAddresses**
 - Google Domain Users Deletion/Suspension Policeyは以下にチェック
![スクリーンショット 2020-04-20 18.07.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504009/c7685711-3ac1-a490-02cc-71c1543ee7a5.png)
７． ［User Accounts］のAdditional User Attributesタブに以下を入れる
 - Given Name Attributes : **givenName**
 - Family Name Attributes : **sn**
 - Synchronize Passwords : **Only for new usersにチェック**
 - Force new users to change password ： **ユーザ初回ログイン時にパスワード変更する場合はチェック**
 - Default password for new users : **初期パスワードを入力**
![スクリーンショット 2020-04-20 18.13.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504009/f2ed26dc-cf2b-1249-ea92-3c4522b26a78.png)
8. ［User Accounts］のSearch Rulesタブで**Use Defaults**を押す
デフォルト設定が入ります。
![スクリーンショット 2020-04-20 18.17.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504009/ea07dc77-aa0c-65b0-bd7f-e227ced6eae4.png)


これで設定は完了。［Sync］に移動してClear casheにチェックを入れてから［Simulate sync］でシュミレーションを実施。
問題なければ［Sync & apply changes］で同期を実行。
![スクリーンショット 2020-04-20 18.26.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504009/1fc4418f-a183-3688-5cab-ae272c2d53da.png)
これでADのユーザでG Suiteにまだ無いアカウントが同期によって追加されます！

めでたしめでたし…とここまでくれば、パスワードも同期したくなるのが人情ですね。
[G SuiteアカウントとActiveDirectoryアカウントのパスワードを同期する](https://qiita.com/akibin/items/7219aa947f01ee592664)もやってみましたのでご覧あれ！

そして以下もチェックしてもらえれば！
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
◆ Twitterアカウント
@AkibinMusic
◆ Youtubeチャンネル
https://www.youtube.com/channel/UC-JOpwEnJn3gCrUA4NdCYgg