ここでは、Google Cloud Directory Sync の使用に関するよくある質問を紹介します。
GCDS を設定する
GUI がサポートされていないパソコンで GCDS を承認するには、どうすればよいですか?- GCDS バージョン 4.7.14 以降を実行していることをご確認ください。
詳しくは、GCDS を更新するをご覧ください。
- GUI を備えたコンピュータで GCDS を認可します。
詳しくは、Google アカウントを認可するをご覧ください。
- XML ファイルを作成して保存します。
- 同じパソコンで、コマンドラインを使用して -exportkeys パラメータを指定し、upgrade-config ツールを実行します。
例: upgrade-config -exportkeys encryption key file [password]
この例では、鍵は encryption key file というファイルにエクスポートされます。パスワードの使用は任意です。
- encryption key file と構成ファイルを、GUI のないコンピュータにコピーします。
- GUI のないパソコンで、コマンドラインを使用して、-importkeys パラメータを使用して Upgrade-config ツールを実行します。
例: upgrade-config -importkeys file name
重要: -importkeys パラメータを使用すると、パソコンに記録されている可能性のある承認済みの GCDS 設定をすべて削除できます。
- 必要に応じて、ステップ 4 で設定したパスワードを入力します。
鍵が正常にインポートされたことを示すメッセージが表示されます。
ヒント: その他のオプションを表示するには、コマンドラインで upgrade-config -help コマンドを入力します。
- ユーザーのメールアドレスの変更(ユーザー名の変更)が保留中かどうかわからない場合は、次の操作を行います。
- 古いサーバーで同期を実行します。
- タブ区切り値(TSV)ファイルを新しいサーバーにコピーします。
設定ファイル内の TSV ファイルの名前と場所を確認するには、「.tsv」を検索します。
- 新しいサーバーに GCDS をインストールします。手順については、GCDS をダウンロードしてインストールするをご覧ください。
- 構成ファイルを新しいサーバーにコピーします。
- 新しいサーバーの設定マネージャーで、構成ファイルを開きます。
- ご利用の Google アカウントに対して GCDS を再認可します。手順については、Google アカウントを認可するをご覧ください。
- [LDAP Configuration] ページで、LDAP パスワードを更新します。手順については、LDAP 接続の設定をご覧ください。
- [Notifications] ページで、SMTP パスワードを更新します。手順については、通知属性をご覧ください。
- 同期のシミュレーションを実行します。
- 同期を確認して、想定外の変更がないようにします。
- 完全な同期を実行します。
同期後、古いサーバーの TSV ファイルは更新されます。TSV ファイルを移行しなかった場合は、新しいファイルが作成されます。
GCDS の実行時に証明書に関する問題が発生する場合は、証明書に関する問題のトラブルシューティングをご覧ください。
Google アカウント
GCDS ではどのような API が使用されますか?GCDS は Google Workspace API を使用して、ディレクトリ データを Google アカウントと同期します。API では、管理者のパスワードではなく OAuth を使用して認証を行うことで、GCDS の機能に影響を与えることなく 2 段階認証プロセス(2SV)などの機能を有効に保つことができます。
GCDS で使用される API を次に示します。
Google アカウントに変更が反映されるまでに、最長で 8 日ほどかかることがあります。その理由を理解するには、GCDS でデータがキャッシュされる仕組みを知っておく必要があります。
GCDS では、Google アカウントのデータが最長 8 日間キャッシュに保存されます。キャッシュに保存されたデータのサイズによっては、これより短い期間でキャッシュが削除されることもあります。ただし、キャッシュが削除されない場合、(管理コンソールまたは別の API クライアントを使用して)Google アカウントに直接行われた変更が反映されるまでに、最長で 8 日ほどかかることがあります。
キャッシュが削除されると、GCDS では Google アカウントで行われた変更が特定され、LDAP ディレクトリ内のソースデータと比較されます。データが一致しない場合、Google アカウントで行われた変更は元に戻されます。
キャッシュを手動で削除するには:
- 設定マネージャーから同期を実行し、同期を行うときにキャッシュを削除するよう選択します。
- コマンドライン フラグ -f を使用して、キャッシュを強制的にフラッシュします。
- XML 設定ファイルを変更して maxCacheLifetime の値を 0 に設定します。
重要: キャッシュをフラッシュすると、同期にかかる時間が大幅に長くなる可能性があります。
ユーザー プロフィールは、追加のユーザー属性を含め、Google ユーザー アカウントに書き込まれ、アカウントのディレクトリに表示されます。GCDS は、Google コンタクトでこのディレクトリにアクセスします。詳しくは、概要: ディレクトリの設定と管理をご覧ください。
GCDS で評価される属性は、GCDS 設定を使って指定します。GCDS では、属性に保存されているデータの中で、有効な SMTP アドレスと一致するものだけが評価されます。
Microsoft Active Directory の「proxyAddresses」を使用する場合は、同期中に GCDS によって smtp: プレフィックスが削除されるため、このプレフィックスは Google ドメインには表示されません。
はい。GCDS では、複数の設定ファイルを使用して 1 つの LDAP ディレクトリから複数の Google アカウントに同期できます。複数の同期を同時に実行する場合は、それぞれの設定ファイルが一意の名前で保存されていることを確認してください。
既存の設定ファイルを複製するには、設定マネージャーの [Save As] オプションを使用して別の名前でファイルを保存します。
GCDS は、Google 管理コンソールで設定した競合するアカウントの管理設定に従います。詳しくは、GCDS で競合するアカウントを管理するをご覧ください。
ユーザー、組織部門の同期
一部のユーザーのみをプロビジョニングするように GCDS を設定するには、どうすればよいですか?一部のユーザーを Google アカウントに同期する場合は、1 つの Active Directory グループまたは LDAP ディレクトリ グループをソースとして使用できます。グループを使用すると、Google アカウントでプロビジョニングされるユーザーの数が制限されます。
例:
ユーザーのクエリ
(&(memberof=cn=appsUsers,cn=users,dc=corp,dc=domain,dc=com)(objectCategory=person)(objectClass=user)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
このクエリでは、グループ DN で識別されるグループのメンバーで、メールアドレスを持ち、アカウントが無効になっていないすべてのユーザーが返されます。
[Google Domain Configuration] の [Exclusion Rules] で [Organization Complete Path] を指定してルールを定義すると、Google アカウントで設定済みの組織部門を除外するように GCDS を設定できます。
例:
除外ルール
Type(除外タイプ): Organization Complete Path(組織の完全なパス)
Match Type(一致タイプ): Exact Match(完全一致)
Rule(除外ルール): /OUPath/MyExcludedOU
別の(セカンダリ)ドメインを追加した場合は、GCDS を使用してユーザーをそのドメインに同期できます。ユーザーをセカンダリ ドメインに同期するには、LDAP サーバーのユーザーのメールアドレスがセカンダリ ドメイン名と一致していることを確認します。セカンダリ ドメインをメインのメールアドレスとして使用して、Google アカウントにユーザーが作成されます。
既存の LDAP mail 属性に変更を加えない場合は、別の属性を割り当ててセカンダリ ドメイン ユーザーのメールアドレスを同期します。セカンダリ ドメインについて詳しくは、ユーザー エイリアス ドメインまたはセカンダリ ドメインを追加するをご覧ください。
はい。LDAP サーバーでワイルドカードがサポートされている場合は使用できます。
ユーザー検索クエリを行う場合、LDAP ディレクトリでは DN 属性のワイルドカードはサポートされていません。たとえば、(mail=user*) は使用できますが、(distingutedName=*,DC=domain,DC=com) は使用できません。
はい。LDAP サーバーで memberOf 再帰検索がサポートされている場合は使用できます。memberOf 再帰検索は Active Directory ではサポートされていますが、OpenLDAP ではサポートされていません。
GCDS の実行後に Google Workspace ユーザー アカウントが停止されると、この問題の原因を示すエラーが表示されます。以降の同期で特定のエラーが繰り返し発生するのを防ぐには、問題の原因に応じて以下のいずれかのソリューションを実装してください。
- 問題: ユーザーが LDAP サーバーに存在しない。
解決策: ユーザーが LDAP サーバーに存在しない場合、GCDS によって Google Workspace でこのユーザーが停止されないように Google ユーザーの除外ルールを設定する必要があります。
-
問題: ユーザーに LDAP サーバーで有効なメールアドレスがない。
ソリューション: 管理者がこのユーザーに対してメールアドレスを設定するか、GCDS によって Google Workspace でこのユーザーが停止されないように Google ユーザーの除外ルールを設定する必要があります。
LDAP サーバーに存在するユーザーのメールアドレス属性を使用するよう、GCDS の設定を変更することもできます。たとえば、属性 userPrincipalName の代わりに属性 userPrincipalName(UPN)を使用します。
-
問題: ユーザーが LDAP サーバーの除外ルールによりスキップされる。
解決策: このユーザーを停止しない場合は、除外ルールを修正してください。
-
問題: [Suspend these users in the Google Domain] オプションがオンになっているため、検索ルールでユーザーが検出され、停止される。
解決策: 停止する必要があるユーザーである可能性があります。
-
問題: ユーザーが LDAP サーバーで停止された。
解決策: 停止する必要があるユーザーである可能性があります。
グループの同期
GCDS では、グループの循環型メンバーシップを同期できますか?グループの循環型メンバーシップでは、2 つ以上のグループがお互いにメンバーになります(例: グループ A がグループ B のメンバーになり、グループ B がグループ A のメンバーになる)。
グループの循環型メンバーシップは LDAP と Microsoft Active Directory ではサポートされていますが、Google グループではサポートされていません。循環型メンバーシップを同期しようとすると、[Cyclic memberships not allowed](循環型メンバーシップは同期できません)というエラー メッセージが表示されます。
Google ドメインの設定でグループのメールアドレスの除外ルールを定義すると、GCDS で任意のグループを除外できます。 詳しくは、Google データのルールを使用するをご覧ください。
例:
除外ルール
Type(除外タイプ): Group Email Address(グループのメールアドレス)
Match Type(一致タイプ): Exact Match(完全一致)
Rule(除外ルール): GCP_Project1@example.comGCP_Project1@example.com
注: このグループは、LDAP ディレクトリに作成して管理することをおすすめします。GCDS でデータの同期が行われると、Google アカウントでグループ メンバーが最新の状態になります。
LDAP にない既存のグループを維持するには、[Don’t delete Google Groups not found in LDAP] をオンにします。詳しくは、Google グループの削除ポリシーについてのページをご覧ください。
ユーザーが作成したグループは、ビジネス向け Google グループで作成されています。ユーザーが作成したグループと LDAP グループが一致する場合、ユーザーが作成したグループは、GCDS の除外ルールが適用される場合と同様に無視されます。LDAP データと一致しない場合、グループは削除されません。
LDAP で対応するオブジェクトやエンティティにメンバーを追加していた場合、それらのメンバーはグループに追加されます。LDAP データと一致しない Google グループにユーザーを追加していた場合、それらのメンバーが同期プロセス中に削除されることはありません。
ユーザーが作成したグループについて詳しくは、グループ管理者に関するよくある質問をご覧ください。
はい。GCDS では、ネストされたグループ メンバーが同期されます。ただし、ビジネス向け Google グループを使って、ネストされたグループとの間でメールを送受信する場合、制限がいくつかあります。次の場合、ネストされた一部のグループ メンバーは、グループに送信されたメール コンテンツを受信できないことがあります。
- 管理権限が有効になっている場合。グループの管理者が承認するまで、そのグループ メンバーまたは他のネストされたグループにメールが自動配信されることはありません。
- 親グループに、ネストされたグループにメールを送信するための投稿権限が付与されていない場合。
関連トピック
はい。GCDS では、メンバーがユーザーかグループかに関係なく、グループ メンバーが同期されます。ただし、LDAP サーバーでネストされたグループ メンバーを展開する検索ルールがサポートされていない場合、そのルールは GCDS でもサポートされません。
全般
GCDS 構成ファイルにオプションの機能フラグを追加するにはどうすればよいですか?始める前に: GCDS でその機能がサポートされていることを確認してください。
- 構成ファイルを探します。これは、GCDS 構成の読み込みに使用する XML ファイルと同じです。
- テキスト エディタで構成ファイルを開きます。
- XML ファイルで <features> タグを探し、タグ内に新しい行を挿入します。
- 新しい行に、その中に機能の名前が入った新しい <optional> タグを追加します。
- ファイルを保存して閉じます。
例
次の例は、DONT_RESOLVE_USER_CONFLICT_ACCOUNTS 機能を追加する方法を示しています。
<features>
<optional>DONT_RESOLVE_USER_CONFLICT_ACCOUNTS</optional>
</features>
このエラーの原因は、除外ルールの設定に誤りがあるなど、設定上の問題である可能性があります。設定の誤りは GCDS のキャッシュに隠れている可能性があります。
GCDS では、Google サービス(Google Workspace や Cloud Identity など)のデータが最長 8 日間キャッシュに保存されます。キャッシュに保存されたデータのサイズによっては、これより短い期間でキャッシュが削除されることもあります。ただし、キャッシュが削除されない場合、(管理コンソールまたは別の API クライアントを使用して)Google アカウントに直接行われた変更が反映されるまでに、最長で 8 日ほどかかることがあります。
キャッシュを手動で削除するには:
- 設定マネージャーから同期を実行し、同期を行うときにキャッシュを削除するよう選択します。
- コマンドライン フラグ -f を使用して、キャッシュを強制的にフラッシュします。
- XML 設定ファイルを変更して maxCacheLifetime の値を 0 に設定します。
重要: キャッシュをフラッシュすると、同期にかかる時間が大幅に長くなる可能性があります。
例: LDAP サーバーと Google アカウントの両方に存在するグループがあります。そのようなグループに対しては Google 除外ルールを作成して、同期中に GCDS でグループが変更されないようにします。
ただし、このルールが適用されると、GCDS は Google アカウントにはそうしたグループが存在しないものとして動作します。GCDS はグループの作成を試みますが、グループはすでに存在するため、エラーが表示されてグループがキャッシュに追加されます。以降の同期ではキャッシュが使用され、グループがすでに存在することが認識されています。その後、キャッシュが削除されると、再び GCDS ではグループが存在しないものとして動作します。
GCDS のデフォルトのパスワード同期設定では、GCDS が新しいユーザー アカウントのパスワードをどのように作成するかが定義されます。初期アカウントのパスワードをカスタマイズしない場合、操作は不要です。デフォルトの設定を使用してください。
Active Directory を使用する場合は、Password Sync を使用して、Active Directory のユーザー パスワードを Google ドメインと同期できます。
GCDS では、ルールを降順に処理します。
たとえば、ルート組織部門(「/」)にユーザーが作成されるように、ユーザー アカウントの同期ルールを設定します。その後、/Exceptions 組織部門にユーザーが作成されるように下位ルールを作成します。この状況で同期を実行すると、両方のルールに一致するユーザーは、優先順位の高いルート組織部門に作成されます。
ユーザーが /Exceptions に正しく配置されるようにするには、そのルールを、他の競合ルールよりも上位になるように指定する必要があります。または、順序指定リストで先頭のルールにします。
GCDS では、認証に 3-legged OAuth 2.0 が使用されます。このプロセスでは、GCDS に OAuth 2.0 トークンが付与されます。このトークンにより、GCDS が管理者に代わって認証を実行することができます。
すべての監査イベントが、GCDS を認証した管理者によって表示されます。GCDS による変更と監査を明確に確認できるように、専用の GCDS 管理者アカウントを作成することを検討してください。
関連トピック
同期中は、GCDS が現在の LDAP の設定を考慮して Google アカウントのカスタム スキーマを保持または削除するかどうかを判断します。
また、GCDS 構成ファイルの schemaHistory 設定には、以前に同期されたカスタム スキーマに関する情報が含まれています。GCDS によって同期されたカスタム スキーマは、schemaHistory に自動的に追加されます。構成ファイルで schemaHistory の設定を手動で削除し、LDAP ディレクトリにカスタム スキーマが存在しない場合、GCDS では Google アカウントのカスタム スキーマがスキップされて削除されません。
構成ファイルの schemaHistory を手動で削除するには、以下を探します。
<schemas>
<schemaDefinitions />
<schemaHistory>
<schemaName>GroupMembership</schemaName>
</schemaHistory>
</schemas>
GCDS の更新トークンを暗号化する対称鍵は、デフォルトの Java crypto KeyGenerator によって AES 128 を使用して生成されます。
対称鍵の保存は、Java の Preferences クラスで userNodeForPackage メソッドを使用して処理されます。鍵の保存場所は GCDS によって制御されるものではなく、OS によって決まります。
Windows では、設定データはユーザーのレジストリ ハイブに保存されます。Linux では、ユーザーのホーム ディレクトリに保存されます。
暗号化されたファイル システムの使用と ACL の制限の両方を行って鍵が適切に保護されるように、お客様にはおすすめの方法を実施することをおすすめします。
一意の ID(アドレス以外の主キーとも呼ばれます)は GCDS で内部的に使用され、Google Workspace とは同期されません。GCDS は、GCDS がインストールされているパソコンの TSV ファイルに一意の ID を保存します。TSV ファイル名とその完全なパスは XML 構成ファイルで確認できます。
ユーザー名が LDAP サーバーでは変更され、Google Workspace では変更されていない場合、このユーザーの詳細情報が削除または複製されることを防ぐために、GCDS によって一意の ID が使用されます。
注: LDAP サーバーと Google Workspace の両方でユーザーのメールアドレスを手動で変更すると、同期の問題が発生する可能性があります。このような状況を回避するために、GCDS を実行する前に、TSV ファイルから該当するユーザー レコードを削除してください。
Google Cloud
Active Directory または LDAP ディレクトリのセキュリティ グループを同期して Cloud IAM で使用するには、どうすればよいですか?LDAP 検索ルールを使用して、セキュリティ グループを同期するように GCDS を設定できます。
例 1: すべてのセキュリティ グループを検索する
次の例は、メールアドレスを持つすべてのセキュリティ グループを見つける場合の LDAP 検索です。
(&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=-2147483648)(mail=*))
例 2: 一部のセキュリティ グループを検索する
一部のセキュリティ グループを同期する場合は、extensionAttribute1 属性を使用して GoogleCloud のような特定の値を設定し、GCDS クエリをさらに絞り込むことで、特定のセキュリティ グループのみをプロビジョニングするようにします。
次の例は、メールアドレスと GoogleCloud 属性を持つすべてのセキュリティ グループを見つける場合の LDAP 検索です。
(&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=-2147483648)(mail=*)(extensionAttribute1=GoogleCloud))
重要:
- Google ドメインのすべてのグループが、メールアドレスによって参照されます。同期するすべてのセキュリティ グループで、有効なメール属性が定義されている必要があります。
- Google ドメインに作成されたグループには、明示的な Identity and Access Management(IAM)の役割が自動的に設定されることはありません。グループを作成したら、Cloud IAM を使用して、グループを特定の役割に割り当てる必要があります。
Google Cloud ユーザー用のユーザー同期ルールを追加することで、GCDS を設定します。最も簡単な方法は、次の例のように、グループのメンバーであるユーザーに基づいて新しいクエリを作成することです。
(&(memberof=cn=CloudUsers,cn=users,dc=corp,dc=domain,dc=com)(objectCategory=person)(objectClass=user)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
その後、次の検索フィルタを使用すると、グループのメンバーで、メールアドレスを持ち、アカウントが停止されていないユーザーが返されます。
group cn=CloudUsers,cn=users,dc=corp,dc=domain,dc=com
こうしたユーザーは、1 つの組織部門に配置することを検討します。そのためには、ルールで組織部門名(「Cloud ユーザー」など)を定義します。組織部門がまだ存在しない場合は作成します。
ライセンスについて
サービス ライセンスがユーザー アカウントに適切に割り当てられるように、ドメインの設定を検討してください。自動ライセンス割り当てが有効になっている場合は、Cloud ユーザーの組織部門を、サービス ライセンスの割り当て対象から除外することもできます。詳しくは、組織のライセンスの自動割り当てオプションを設定するをご覧ください。
さらに複雑なライセンス要件に対応する必要がある場合は、すべてのユーザー ライセンス割り当てを同期して管理するように GCDS を設定できます。詳しくは、ライセンスを同期するをご覧ください。
Google、Google Workspace、および関連するマークとロゴは、Google LLC の商標です。その他すべての企業名および商品名は、関連各社の商標または登録商標です。