AD 同期ツールの管理
AD 同期ツールは Windows、Linux、または macOS システムでお使いの Active Directory(AD)または LDAP Server と Zoom アカウントとの間でユーザーを同期するコマンドライン ツールです。 このツールを使用すると LDAP または AD システムを変更したとき、Zoom アカウント内の対応するユーザーを自動的に管理できます。
ツールはコンソールで実行され、GUI やウェブ インターフェースはありません。 設定にはプロパティ ファイルを使用します。変更の詳細情報を確認する場合、エラーのトラブルシューティングを行う場合には、ログファイルを確認します。
AD 同期ツールを使用すると、LDAP または AD サーバーでの変更に基づき、ユーザーの作成、更新、無効化または削除、Zoom ユーザーのメール(新しいメールドメインはアカウントと関連付けられたドメインにする必要がある)の更新、パスワードの変更時、削除時、非アクティブ化時のユーザーのサインアウトを実行できます。
AD 同期ツールは次の属性をサポートします。
- 名
- 姓
- メール
- 部署
- 役職
- 電話番号
- 会社
- コストセンター
- 従業員固有のID
この記事では、次の項目について説明します。
AD 同期ツールの前提条件
AD 同期ツールに対応した Server-to-Server OAuth アプリを作成する方法
権限を確認してユーザーを編集する
このアプリを作成するには、ユーザーにユーザー編集権限が必要です。
- Zoom ウェブポータルに、管理者 / ロール管理の編集権限を持つユーザーとしてサインインします。
- ナビゲーション メニューで、[ユーザー管理] をクリックしてから、[ロール] をクリックします。
- [すべて] タブで、確認するロールタイプの名前をクリックします(例: 管理者)。
- [ユーザーと権限の管理] で、このロールが [ユーザー] に対する [編集] 権限を持っていることを確認します。
詳細については、ロール管理をご覧ください。
アプリを作成する
Zoom アプリ マーケットプレイスでこのツールに対応した Server-to-Server OAuth アプリを作成する必要があります。 ユーザー編集権限を持つユーザーのみがこのタスクを完了できます。
- Zoom アプリ マーケットプレイスで Zoom デベロッパー向けプラットフォームを開きます。
- 右上にある [Create App(アプリを作成)] をクリックします。
-
Server-to-Server OAuth アプリのタイプを選択し、必要な詳細情報を入力します。
- [Scopes(対象範囲)] の下で [Add Scopes(対象範囲を追加)] をクリックし、[User(ユーザー)] をクリックします。
- [View users information and manage users(ユーザー情報を確認してユーザーを管理)] という範囲をクリックします。
- [SCIM2] をクリックしてから [Call Zoom SCIM2 API(Zoom SCIM2 API の呼び出し)] という範囲をクリックします。
- [完了] をクリックします。
AD 同期ツールのクイック スタート
- JDK バージョン 8 をインストールしてから次のコマンドを実行して、java が正しくインストールされていることを確認します。
java -version
-
http://cdn.zoom.us/prod/tools/zoomadsynctool.zipからzoomadsynctool.zip ファイルを取得します。
-
ad-tool-${version}.zip ファイルを解凍します。
-
config.properties ファイルを [Configuration(設定)] セクションの説明どおりに更新します。 次に config.properties ファイルを adtool-${version}.jar が配置されているものと同じフォルダにコピーします。
- ツール設定ファイルの機密情報を保護する秘密コードを用意します。 この秘密コードはツール実行で毎回、必要になります。
- 以下のコマンドを実行して、ツールを起動します。
bin/adtool.cmd start
注: この起動コマンドを実行すると、Active Directory に存在しないユーザーは、Zoom アカウントから削除または非アクティブ化される可能性があります。 次のコマンドで Zoom アカウント設定を参照します。zoom.allow.delete.missing.user
注:- AD 同期ツールをデーモン サービスとして起動します。 このコマンドは初回には完全同期を実行し、以後は 40 分ごとに増分同期の実行を繰り返します。 このコマンドはパスワード変更イベントもモニタリングします。
- 同期結果をプレビューしてから Zoom アカウントに変更を適用するには、次のコマンドを実行します。
プレビュー
- コマンド実行が失敗した場合は、ログファイルを調べます。
AD 同期ツールを設定する方法
config.properties ファイルには、ツールが同期を実行する方法を規定するパラメータ一式が含まれています。 お客様が実行できる同期は、2 種類あります。
-
完全同期: Zoom ユーザーと AD ユーザーをすべて比較し、Zoom に関する属性がそれぞれに異なる AD ユーザーをすべて同期します。
-
増分同期: 前回の同期から Zoom で変更のあった AD ユーザーのみ同期します。
ファイルの以下のセクションの値を更新する必要があります。
注: このファイルには資格情報を書き込まないでください。
Zoom アカウント設定(値の更新は必須)
- zoom.vanity.url: お使いの Zoom バニティ URL です。
同期オプション(値の更新は必須)
- zoom.default.user.type: 新しい Zoom ユーザーのプロビジョニングにデフォルトで使用するユーザータイプです。 ユーザータイプは 1 がベーシック ユーザー、2 がライセンス ユーザー、3 がオンプレミス ユーザーです。 デフォルト値は 2 です。
- zoom.allow.create.user: 新しい Zoom ユーザーとして作成するとき、そのユーザーが AD 内の既存ユーザーかどうかを指定します。 値が true(真)の場合は新規ユーザーが作成され、false(偽)の場合は作成されません。
- zoom.allow.update.user: Zoom ユーザーと AD ユーザーに違いがあるとき、該当するユーザーを更新するかどうかを指定します。 値が true(真)の場合は更新され、false(偽)の場合は更新されません。
- zoom.allow.delete.user: AD から Zoom ユーザーが削除された場合、該当する Zoom ユーザーを削除するかどうかを指定します。 値が true(真)の場合は削除され、false(偽)の場合は削除されません。
- zoom.default.user.delete.behavior: 「delete(削除)」アクションを実行するとき、該当するユーザーを削除するか非アクティブ化するかを指定します。 値が 1 の場合は非アクティブ化され、2 の場合は削除されます。 デフォルト値は 1 です。 動作は zoom.allow.delete.user または zoom.allow.delete.missing.user で決まります。
- zoom.allow.delete.missing.user: 完全同期コマンドで(このツールの初回実行時)、AD には存在しないユーザーを Zoom からも削除するかどうかを指定します。 値が true(真)の場合は AD に存在しないユーザーが Zoom からも削除され、false(偽)の場合は Zoom からは削除されません。 デフォルト値は false(偽)です。 既存の Zoom ユーザーを変更したくない場合は、false(偽)を選択してください。
- zoom.monitor.job.interval.minutes: モニタリング ジョブの実行間隔です。 デフォルト値は 15 分です。
- zoom.incremental.sync.job.interval.minutes: 増分同期ジョブの実行間隔です。 デフォルト値は 40 分です。
LDAP / AD 設定(値の更新は必須)
このツールは複数の LDAP / AD サーバーの接続をサポートします。 値「n」で LDAP サーバーのインデックスを特定します。 n の値は 0 から始まります。
- ldap.servers[n].url: LDAP サーバーまたは Active Directory サーバーの LDAP サーバー URL です。
- ldap.servers[n].base: ユーザーを検索するベースのフォルダの場所を指します。
- (オプション)ldap.servers[n].groups[m]: ユーザー グループの完全な DN です。 この値が空欄の場合、すべてのグループのユーザーが Zoom に同期されます。 ユーザグループの DN を指定すると、指定したグループのメンバーのみが Zoom に同期されます。 グループでユーザーを指定しない場合は、空欄に設定します。 1 台のサーバーに複数のグループを設定でき、値「m」でグループのインデックスを特定します。 この項目はデフォルトでは空です。
- (オプション)ldap.servers[n].deletedBase: 削除済み項目を検索するベースのフォルダの場所を指します。 デフォルトは CN=Deleted Objects,{Your LDAP Base Name} です。 実際の環境に合わせて値を更新できます。
- ldap.default.query.pageSize: LDAP サーバーが 1 ページまたは 1 回のクエリの最大ユーザー数を返します。
属性マッピング(値の更新は任意)
- ldap.user.email: AD のメール フィールド名です。 デフォルト値は userPrincipalName です。
- ldap.user.firstname: AD の名のフィールド名です。 デフォルト値は givenName です。
- ldap.user.lastname: AD の姓のフィールド名です。 デフォルト値は sn です。
- ldap.user.department: AD の部門のフィールド名です。 デフォルト値は department です。
- ldap.user.phoneNumber(デフォルトでは無効): AD での電話番号のフィールド名です。 デフォルト値は telephoneNumber です。
- ldap.user.jobTitle(デフォルトでは無効): AD での職位のフィールド名です。 デフォルト値は title です。
- ldap.user.company(デフォルトでは無効): AD での会社のフィールド名です。 デフォルト値は company です。
- ldap.user.employeeId(デフォルトでは無効): AD での従業員固有 ID のフィールド名です。 デフォルト値は employeeID です。
- ldap.user.costCenter(デフォルトでは無効): AD でのコストセンターのフィールド名です。 デフォルト値はありません。 お客様が自ら属性を選択する必要があります。
注:
- マッピングのコメントまたはコメントアウトは、一度完全同期を実行するまで反映されません。
- 必須のマッピングは ldap.user.email、ldap.user.firstname、ldap.user.lastname の 3 つです。 これらは無効にしないでください。
- すべてのマッピング値では、大文字と小文字が区別されます。 ADFS でのマッピングの正しいフィールド名を確認するには、[Server Manager(サーバー マネージャー)]、[Tools(ツール)]、[Active Directory Users and Computers(Active Directory のユーザーとコンピュータ)]、[Select a target user(対象ユーザーを選択)] の順に移動し、[Properties(プロパティ)] を右クリックしてから、[Attribute Editor(属性エディタ)]、[Attribute Column(属性列)] の順に移動します。
ログ記録設定
- log.dir: ログファイルのベース ディレクトリを設定します。 .、.. のような相対パス、または C:、D: などで始まる絶対パスを使用できます。 デフォルトは .(current adtool- ${version} .jar ファイルの場所) です。
同期コマンド
- 一般的なオプション:
- ツールのヘルプ情報を表示します。
-h、--help
- ツールのバージョン情報を表示します。
-v、--version
- コマンド オプション:
- このコマンドのヘルプ情報を表示します。
-h、--help
- サービスモードで実行し、秘密コードの入力を義務付けない場合に指定します。
--service
setup
Zoom の認証と LDAP の認証に使用する資格情報を設定します。 一部の
資格情報を変更する場合は、setup コマンドを実行することで更新できます。 このコマンドを実行すると、
Zoom アカウント ID、クライアント ID、クライアント シークレット、AD のユーザー名とパスワードの入力を要求されます。
設定フロー:
- シークレット コードを入力します。
- シークレット コードを確定します。
- Zoom アカウント ID を入力します(Server-to-Server OAuth アプリからコピー)。
- Zoom クライアント ID を入力します(Server-to-Server OAuth アプリからコピー)。
- Zoom クライアントのシークレットを入力します(Server-to-Server OAuth アプリからコピー)。
- LDAP サーバーのユーザー DN(distinguishedName)を入力します。
- LDAP サーバーのユーザー パスワードを入力します。
注: シークレット コード、クライアント シークレット、パスワードは、編集時にも表示されません。
start
AD 同期ツールをサービスとして起動します。 このコマンドは初回には完全同期を実行し、以後はツールをシャットダウンするまで 40 分ごとに増分同期を実行するジョブを開始します。 さらに、このツールはパスワード変更イベントもモニタリングします。 このコマンドを使用すると、システム内にタスク スケジューラや cron を作成する必要がなくなります。
プレビュー
Zoom アカウントを変更せず、同期結果をプレビューできます。 ツールのオプションが想定どおりに機能することを確認するには便利です。
reset
このツールの設定をリセットします。 ローカル設定とツールのキャッシュ データをすべてクリーンアップします。 何かの理由でこのツールの実行に失敗した場合、reset コマンドを実行すると、改めて機能させることができます。
sync
- 完全同期を実行するオプションは次のとおりです。
--all
LDAP から Zoom への完全同期または増分同期を 1 回実行します。 完全同期を実行する前に preview を実行し、結果を事前確認するようおすすめします。 一度、完全同期を実行してからは、増分同期が実行されます。 完全同期を実行するには、「--all」オプションを追加して sync コマンドを実行します。
モニター
ユーザーのパスワード変更イベントをモニタリングし、LDAP / AD のパスワードが変更された場合には、強制的にすべてのデバイスから該当する Zoom ユーザーをサインアウトさせます。 このツールは、LDAP / AD ユーザーのパスワードが変更されるイベントをモニタリングしますが、このコマンドでは LDAP / AD ユーザーのパスワードは取得できません。
migrate
従来の設定ファイルを最新形式に移行します。 設定の移行に失敗した場合は、setup コマンドを実行して手動で設定を行います。
0.8 より前のバージョンでは、この migrate コマンドはサポートされていません。
test
設定が機能しているかどうかをテストします。 このコマンドでは資格情報を使用して、LDAP / AD サーバーと Zoom の接続と認証をテストします。
AD 同期ツールのコマンド実行例
コマンド実行スクリプトのパターンは、bin/{script file} {command} です。
- Windows システムの場合、{script file} を adtool.cmd に置き換えます
- Linux または macOS システムの場合、{script file} は adtool.sh に置き換えます
ツールのヘルプ情報またはバージョン情報の例
以下のコマンドはツールのヘルプ情報を表示します。
bin/{script file} -h
bin/{script file} --help
以下のコマンドはツールのバージョン情報を表示します。
bin/{script file} -v
bin/{script file} --version
以下のコマンドは setup コマンドのヘルプ情報を表示します。
bin/{script file} setup -h
bin/{script file} setup --help
ツールの設定例
以下のコマンドはデフォルト モードでツールを設定します。
bin/{script file} setup
以下のコマンドはサービスモードでツールを設定します。
bin/{script file} setup --service
以下のコマンドはツールをリセットします。
bin/{script file} reset
以下のコマンドは従来の設定からツールを設定します。
bin/{script file} migrate
ツール実行の例
以下のコマンドはデフォルト モードでツールを実行します。
bin/{script file} start
bin/{script file} sync
bin/{script file} preview
bin/{script file} monitor
bin/{script file} test
以下のコマンドはサービスモードでツールを実行します。
bin/{script file} {command} --service
サービスとしてのツールを実行する方法(Windows)
前提条件:
以下のコマンドを実行して、サービスモードを設定します(注:「bin/adtool.cmd setup」を実行すると、サービスモードが削除されます)。
bin/adtool.cmd setup --service
-
起動: ツールを起動してバックグラウンド プロセスで実行するには、bin ディレクトリで start.bat ファイルをダブルクリックします。 ログファイルの実行ステータスを確認します。
-
停止: ツールを実行しているプロセスを停止するには、bin ディレクトリで stop.bat ファイルをダブルクリックします。
システム起動後に自動的に起動させる方法(Windows)
- [スタート] メニューから [Windows 管理ツール] に移動した後で [タスク スケジューラ] をクリックします。
- [操作] メニューで [タスクの作成] をクリックします。
- [全般] タブで以下のとおり操作します。
- 「ADSyncToolTask」など、タスクの名前を入力します。
- [セキュリティ オプション] の下で [ユーザーがログオンしているかどうかにかかわらず実行する] オプションと [最上位の特権で実行する] チェック ボックスを選択します。
- [トリガー] タブをクリックして次のとおり操作します。
- [新規] をクリックします。
- [タスクの開始] ドロップダウンで [スタートアップ時] を選択します。
- [OK] をクリックします。
- [操作] タブをクリックし、次のとおり操作します。
- [新規] をクリックします。
- [操作] ドロップダウン メニューで、[プログラムの開始] を選択します。
- [参照] をクリックして bin ディレクトリの start.bat ファイルを選択し、[開く] をクリックします。
- [OK] をクリックします。
- [条件] タブをクリックし、次のとおり操作します。
- [電源] の下で [コンピューターを AC 電源で使用している場合のみタスクを開始する] の横にあるチェック ボックスからチェックマークを外します。
- [OK] をクリックします。
- [設定] タブをクリックし、次のとおり操作します。
- [タスクを要求時に実行する] チェックボックスが選択されているのを確認し、それ以外のチェックボックスはすべて、チェックマークを外します。
- [OK] をクリックします。
次にシステムが再起動すると、ツールが自動的に起動します。
AD 同期ツールのログファイル
同期されたレコードの詳細の確認や、同期エラーのデバッグにはログファイルを使用します。 ログファイルは、1 種類につき 1 日で最大 1 つまで生成されます。 同じ日に Zoom AD Sync ツールを複数回実行すると、その実行に関する情報は、その日に先に生成されているファイルに追加されます。
- zoomadtool-sync.yyyy-MM--dd.{num}.log: これはツールがエラーを確認するための共通ログです。
異常データファイル
異常データファイルを見ると、完全同期中の異常なユーザーデータに関する詳細情報を確認できます。
- abnormal-data-yyyMMdd-HHmmss.txt: これは異常データを記録するために使用するファイルです。
AD 同期ツールのセキュリティ
ADFS の SSL/TLS 接続を有効化
ポート 636 経由で LDAPS を使用して、SSL で Active Directory サーバーに接続する場合、SSL 証明書を取得してインストールする必要があります。インストールされていない場合は、以下のエラー メッセージが表示されます。
「SSL\TLS が接続でアクティブでない場合、サーバーは整合性チェックをオンにするためにバインドを必要とします」
または
「sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスを見つけることができません」
SSL 証明書の取得とインストール
SSL 証明書をインポートし、TLS 経由で AD Sync ツールを接続するには:
- Windows 管理サーバー マネージャーを開きます。
- [ツール] で 、[証明機関] を開きます。
- [発行された証明書] で、インストールしたい証明書を右クリックします。
- [プロパティ] をクリックします。
- [詳細] タブをクリックします。
- [ファイルにコピー] をクリックし、エクスポート ファイル形式は、[Base-64 encoded x.509 (.cer)] を選択します。
- [次へ] をクリックして証明書をエクスポートします。
- エクスポートされた証明書をローカル デバイス ストレージ (D:\ca.cert など) にコピーします。
-
コマンド コンソールを開き、次のディレクトリ変更コマンドを実行して、Java JDK bin の場所にアクセスします。
cd C:\Program Files\Java\Jdk1.8.0_201\bin
注: このフォルダは上記と同じパスに含まれていない場合もあります。実際のフォルダパスが異なる場合はコマンドを変更する必要があります。 - 次のコマンドを実行して、証明書を新しい場所にコピーします。
keytool.exe -importcert -keystore ..\jre\lib\security\cacerts -storepass changeit -file D:\ca.cer -alias myca
注: コマンドの構造は、次の内容に基づいています。-
**-keystore**: 新しい証明書が保存された場所です。 変更する必要はありません。
-
**-storepass**: 証明書のパスワードです。
-
**-file**: エクスポートした証明書の場所です。
-
**-alias**: 新しい認証のエイリアスです。
- 完了すると、証明書がインポートされ、インストールされます。 LDAP または AD の URL を ldaps://[address]:636 に更新します。