はじめに
2022年1月27日にGoogle Workspaceアップデートブログで公開された機能でLDAPディレクトリとの同期サービス「Directory Sync」が発表されました。Directory SyncではActive Directory上のオブジェクトをGoogle Workspaceと同期することが可能です。
この記事では、Directory Syncの機能についてご紹介と検証を行います。
前提条件
Directory Syncの利用にあたり、以下のの環境を準備する必要があります。
- Active Directoryサーバー(LDAPv3対応)
- Active Directoryの読み取りアクセスを持つユーザー
- LDAP通信環境
- Google CloudとActive Directoryサーバー間のネットワーク
Active Directoryとの接続は以下の3パターンからの選択になる。
- Google Cloud Platform上にActive Directoryを準備
- Google Cloud VPNでオンプレミスまたはその他IaaSサービスとの接続
- Cloud InterConnectでオンプレミスまたはその他のIaaSサービスとの接続
この記事では、Google Cloud Platform上にActive Directoryが構築されていることを前提に記載していきます。どの構成でもGoogle Cloud Platformの契約が必要になります。
Google Cloud Directory SyncとDirectory Syncの違い
Googleのアカウント同期サービスにはGoogle Cloud Directory Syncというサービスが提供されています。ここではDirectory Syncとの違いを確認します。
機能 | Google Cloud Directory Sync | Directory Sync |
---|---|---|
ハードウェアの必要性 | 必要 | 不要 |
ソフトウェアのインストール | 必要 | 不要 |
LDAPのサポート | Active DirectoryやOpen LDAPなどのLDAP準拠のすべてのディレクトリ | Active Directoryのみサポート |
接続方法 | 自社ネットワーク内に配置 | Compute Engineを使った接続、Cloud VPN、またはCloud Interconnectのいずれかを使った接続 |
同期されるデータ | ユーザー、グループ、外部連絡先、パスワードなど 詳細はこちら | ユーザーとグループのみ |
マルチフォレスト対応 | 未対応 | 対応 |
同期間隔 | 手動同期が基本、タスクスケジューラーなどで自動化は可能 | 1時間 ※変更不可 |
ログ | 導入したサーバー上で管理 | Google管理コンソール上で管理 |
属性マッピング | 最大35個のシステム属性とカスタム属性 | 姓、名、メールアドレス、再設定用の電話番号と再設定用のメールアドレス |
組織部門のマッピング | 指定した組織部門にユーザーを自動配置 | 最上位の組織部門にユーザを配置 |
Directory Syncの一番の売りはサーバーレスで動作するところですね。同期できる属性が少なかったりデメリットもありそうです。
設定例
Google Cloud Platform上のActive DirectoryサーバーとGoogle Workspaceは構築済みの前提でスタートします。作業の流れは以下の通りです。
- VPCアクセスコネクタの作成
- Data Connection APIの有効化
- Google Workspaceの管理画面でLDAPディレクトリを追加
- ユーザー・グループの同期設定
- 同期の実行
- ログの確認
VPCアクセスコネクタの作成
Google Cloud Platformにアクセスして、[VPCネットワーク]-[サーバーレスVPCアクセス]を開きます。初回アクセス時にはAPIを有効にする必要があります。
[コネクタの作成]を押下して、[名前]、[リージョン]、[ネットワーク]、[サブネット]を入力します。
ここでリージョンがus-central、europe-west1、asia-southeast1しか対応してませんのでasia-southeast1で設定します。
サブネットは[カスタムIP範囲]を選択して[10.8.0.0/28]に設定します。
※ほかのネットワークと当たらないサブネットで指定してください。
VPCネットワークが作成出来たら[名前]部分-[編集]をクリックして動的ルーティングモードを[グローバル]に変更します。
DataConnectors APIの有効化
Data Connectors APIを有効にするために、[APIとサービス]-[有効なAPIとサービス]をクリックして、[Data Connectors API]を検索し[有効にする]をクリックします。
LDAPディレクトリの追加
Google Workspaceの管理画面にログインして、[ディレクトリの同期]メニューを開きます。
LDAPディレクトリ追加メニューから[ディレクトリ名]を入力して[続行]をクリックします。
[プロジェクトID]にVPCアクセスコネクタを作成したGoogle Cloud PlatformのプロジェクトIDを入力して、[VPCアクセスコネクタ名]にVPCアクセスコネクタ名を入力して、[続行]をクリックします。
※VPCアクセスコネクタ名は「projects/{[プロジェクト ID]}/locations/{[VPC location名]}/connectors/{[VPC コネクタ名]}」で入力します。
以下の内容を入力して、[保存してテスト]をクリックします。
- ホスト:GCPで準備したADサーバのローカルIPアドレス
- ポート:636
- 接続の種類:LDAPS
- ベース:同期起点のOUをDNパスで指定(OU=xxxxx,DC=xxxxx,DC=xxxxxxの形)
- 承認済みアカウント:アカウント情報が読み取り可能なADアカウント名
- パスワード:パスワード
- 証明書:ADサーバの[個人]-[証明書]にあるサーバ証明書をエクスポートしてインポート
接続しましたと表示されていればActive Directoryとの接続は完了です。[続行]をクリックします。
ユーザー同期設定
Active Directoryとの接続が完了したら、ユーザの同期設定を行います。Directory syncでは特定のセキュリティグループに所属するユーザを同期対象として扱いますので、事前に同期対象としたいユーザを対象のグループのメンバーとして含めておいてください。今回の例では「情報システム部」という名前のグループを利用しています。
[ユーザスコープ]に対象とするグループ名を入力、[ベースDN]にユーザスコープで入力したグループが所属するDNパスを入力して[続行]をクリックします。
ADユーザの属性とGoogleディレクトリの属性の紐づけを指定して[続行]をクリックします。
ユーザの退職処理(AD上でユーザを削除または無効にした場合の処理)を決めます。Google上のユーザがいきなり削除されるとドライブのデータが所有者移す前に消えてしまうとまずいので停止にとどめます。
ヒューマンエラーでユーザが停止されないように一定の数以上を停止しようとした場合に処理を止めるための値を指定して、[同期をシュミレート]をクリックします。
シュミレーションが完了したら[監査ログ]-[Directory Sync]でエラーが出ていないことを確認します。
グループの同期設定
[グループ同期の設定]を開いて[ベースDN]にグループ同期の起点となるDNパスを入力して、[続行]をクリックします。
ユーザと同様にADの属性とGoogleディレクトリの属性紐づけ設定を行います。
ユーザと違い、グループはいきなり消えてしまっても影響がないと思いますので、AD上のグループが削除または同期対象外となった場合は、Googleグループを削除する設定にして[続行]をクリックします。
ヒューマンエラーでグループが停止されないように一定の数以上を停止しようとした場合に処理を止めるための値を指定して、[同期をシュミレート]をクリックします。
シュミレーションが完了したら[監査ログ]-[Directory Sync]でエラーが出ていないことを確認します。
同期を有効化
最後に同期を有効化して作業完了です。実際に対象としたユーザやグループが同期されていることを確認してみましょう。
まとめ
今回の記事では、Googleが標準機能で提供するDirectory Syncの機能と設定方法についてご案内しました。今回はGCP上にActive Directoryとの接続で実装しましたが、オンプレミスのActive Directoryとの接続もサポートされるようですので一度お試しいただけると良いかと思います。
接続方法3パータン有りますが、いずれの方法でもGCPの契約が必要になります。通信に対しての従量課金がってところも少しひっかる部分ではありますが、物理的なデバイスがなくてもアカウント同期が実装可能になった点では評価できる部分です。
同期属性が少ないところやActive Directoryとしか連携できない部分は今後に期待といったところでしょう。