DEV Community

ryanc
ryanc

Posted on

AWS Managed ADのユーザーをGoogleに同期する

AWS Managed AD x AWS SSOでGoogle Workspaceにログインするの記事で、AWS Managed Microsoft ADとAWS SSOを利用し、Google Workspaceにシングルサインオンする方法を紹介した。

シングルサインオンをセットアップしただけなので、この時点ではユーザーの同期(プロビジョニング)は行われていない。つまり、AD側でユーザーを作成したり削除したりしたら、Google側でも同じ操作をしてあげなければならない。

認証はシングルサインオンで行うのでパスワード管理を別々にする必要はないとしても、これじゃ大規模組織のユーザー管理は非現実的だ。なので、ユーザー同期もセットアップしてみる。



GoogleはGoogle Cloud Directory Sync(GCDS)というツールを提供しているため、これを利用する。

設定手順はこちらのGoogleのドキュメントの通りでOK。
https://cloud.google.com/architecture/identity/federating-gcp-with-active-directory-synchronizing-user-accounts

なお、単純に同期を設定する前に、当然ADとGoogleでは設計思想が異なるしユーザー同期においても色々と検討すべきことがある。かなり長いが、こちらの概要のドキュメントをしっかり読んでおくことをおすすめする。
https://cloud.google.com/architecture/identity/federating-gcp-with-active-directory-introduction



今回は、GCDS専用のEC2インスタンスをt2.mediumでたててそこにC\GCDSインストールした。ユーザー同期用に利用するAD側ユーザー(手順内では「gcds」)は特に管理者権限を与えなくても大丈夫だったので、AWS Managed ADでも特に問題なく利用できる。

唯一Googleのドキュメントの手順に加えて要検討だったのは「ユーザーのプロビジョニング」→「ユーザー マッピングの構成」の中のユーザーの「Search Rule」だ。

ここではBase DNを空にしているが、AWS Managed ADはゼロから構築したADとは少しOU構造が異なるので、内部システム用アカウント等を誤って拾わないように、Base DNはAWS Managed ADのユーザーに割り当てられたOUのDNを設定した。

image

※今回は、NETBIOS名「CREATIVE」を指定しているので、DNは「OU=CREATIVE,DC=your-domain,DC=com」という感じになっている



DNの書き方が分からない人は、こういうやりかたで確認できる。

Active Directory Users and Computersの管理画面から、Advanced Features(詳細設定)を表示させるよう設定する。

image

AWS Managed ADで管理されるOUがNETBIOS名で表示されているはずなので(この例では「CREATIVE」)、これを右クリックしてプロパティを表示。

image

Attribute Editorタブで、distinguishedNameを探して、その値を控えればそれがDNだ。

image



そんなこんなで、GCDSの設定も終わり、AD側で新たに作成したユーザーが問題なくGoogleにも作成されたことを確認できた。

image

あとはこれをまたドキュメントの手順通りに定期実行されるように設定すれば、自動化完了。

Discussion (0)