OpenLDAP等のLDAPサーバーに登録されているユーザーを OneLogin と同期する際には、以下の2つの方法がご利用いただけます。ご利用のLDAPリソースに最適な方法を選択してください。
- LDAP via SSL - ディレクトリ連携
- LDAP via Connector - ディレクトリ連携(本記事)
目次
前提条件
OneLogin側の要件
- OneLoginのライセンスプラン が SSO(1ディレクトリまで), Advanced, Professional または旧ライセンスプラン Starter, Enterprise, Unlimited のいずれかであること
- OneLoginの Super User または Account Owner 権限を持つアカウントを所有していること
LDAPサーバー側の要件
- LDAPにおけるバインドDNのユーザー情報(ユーザー名やパスワードなど)を把握していること
- LDAPv3準拠のディレクトリサーバーであること
- ホストOSが、Java 8以降のバージョンをサポートしている Windows, macOS, Linux, Unix などであること
- LDAP Connectorは以下のLDAPサーバーで動作することがテストされています
- OpenLDAP version 2.4
- PingDirectory Server (formerly UnboundID Directory Server)
- Apache DS
- Active Directory Lightweight Directory Services (AD LDS): Windows Server 2012, 2016
- Java実行環境としてOpenJDK 1.8(またはそれ以降のバージョン)がインストール済みであること
*他のJava実行環境(Oracle Java Runtime Environment(JRE)など)でも動作しますが、JREを使用する場合は、Java Cryptography Extensions(JCE)もインストールする必要があります。
LDAP Connectorの設定
1. OneLogin LDCのダウンロード
- OneLoginに管理者でログインし、管理 を開きます
- Users > Directories を開きます
- [New Directory]をクリックします
-
LDAP via Connector の[Choose]をクリックします
- 任意のディレクトリ名を入力します
- 任意のコネクタ名を入力し、[Save]をクリックします
- 追加されたインスタンスをクリックします
-
Hostname or IP にサーバーのホストネームまたはIPアドレスを入力します
-
Port にLDAPサーバーのポート番号を入力します
-
Installation Token をクリップボードへコピーします
- [⤓ Download]をクリックし、
onelogin-ldc-X.X.XX.zipをダウンロードします
- [Continue]をクリックします
2. LDAPサーバー側の設定
-
OneLogin LDCのダウンロード で取得した
onelogin-ldc-X.X.XX.zipをLDAPサーバーにアップロードします - ターミナルでLDAPサーバーにルートユーザーでログインし、
unzip onelogin-ldc-X.X.XX.zipを実行し、zipファイル(tgzファイル)を展開します。正常に展開できると、onelogin-ldc-X.X.XX というディレクトリが作成されます -
cd onelogin-ldc-2.3.22を実行し、作業ディレクトリを移動します -
vi conf/ldc.confを実行し、構成ファイルを編集します - ファイル内から、
ldc.api.tokenに関する記述を見つけ、OneLogin LDCのダウンロード で取得した Installation Token を貼り付けます
例)ldc.api.token=e1f18ce18aad7c44b54807a1bffdf75f38929011 - 下記のコマンドを実行し、LDAP Connectorを起動します
-
Windows:
.\bin\start-ldc.bat -
macOS, Linux, Unix:
./bin/start-ldc.sh
-
Windows:
3. OneLogin側の設定
- OneLoginに管理者でログインし、管理 を開きます
- Users > Directories を開きます
-
OneLogin LDCのダウンロード で作成したディレクトリを選択します
-
Connection タブで、必要事項を入力します
- Bind DN: LDAPサーバーへの接続に使用する、LDAP側の管理者DN
- Password: Bind DNのパスワード
- Authentication attribute: LDAPユーザーがOneLoginのログインページでログインする際に、ユーザー名として入力するためのLDAP属性
-
- [Save]をクリックします
-
OU Selection タブで、OneLoginにインポートする組織単位(OU)を選択します
-
Advanced タブで必要事項を選択します
- Enable mappings: チェックを入れると、OneLoginのマッピングの対象ユーザーになります。(チェック推奨)
- Stage users: チェックを入れると、どのユーザーをOneLoginにインポートするかを選択することができます。チェックを入れないと、手順6のOU Selectionで選択したユーザーは全て自動的にインポートされます
- Exporting Users: チェックを入れると、OneLoginからLDAPへのエクスポートに切り替えることが可能になります。
-
Deleted users in LDAP Directory...: LDAP側でアカウントが削除された際の、OneLogin側の挙動を選択します(are deleted in OneLogin推奨)
例)are deleted in OneLogin を選択すると、LDAP側でアカウントが削除された際、OneLoginでもアカウントが削除されます - スマートパスワードを有効にする: OneLoginと連携している複数のディレクトリサーバーに、ユーザーが同時に存在している場合、チェックを入れることで、複数のディレクトリサーバーでパスワードを同期させておくことができます。
- OneLoginのパスワード有効期限ポリシーを適用する: チェックを入れると、OneLoginのパスワードポリシーがディレクトリのパスワードポリシーより厳しい場合、OneLoginのパスワードポリシーを優先します(チェック非推奨)
-
自動切り替え同期フェイルオーバーを有効にする: チェックを入れると、ユーザー情報の同期に関するフェイルオーバーが有効化されます(チェック推奨)
- [Save]をクリックします
-
Connector Instances タブに移動し、Status が Connected に変化していることを確認します
LDAP Connectorの設定は以上です。
LDAP Connectorのバックグラウンド起動
デフォルトでは、LDAPサーバーはフォアグラウンドで動作しているため、ここでは、バックグラウンドで動作するように設定します。バックグラウンドで動作させると、以下のようなメリットがございます。
- LDAP Connectorを起動した際のターミナルウィンドウを閉じた後でも、LDAP Connectorを起動したままにすることができます。
- ホストOSからログアウトした後もLDAP Connectorを起動したままにすることができます。
- コンソールメッセージを、logs/ldc_console.log というファイルにリダイレクトすることができます。
- 一度、LDAP Connectorを停止させます
-
Windows:
.\bin\start-ldc.bat -
macOS, Linux, Unix:
./bin/start-ldc.sh
-
Windows:
- LDAP Connectorをバックグラウンドで動作させるため、下記のコマンドを実行し、start-ldc.sh を編集します
-
Windows:
vi .\bin\start-ldc.bat -
macOS, Linux, Unix:
vi ./bin/start-ldc.sh
-
Windows:
- ファイル内から
BACKGROUNDに関する記述を見つけ、値を"true"に変更します
例)BACKGROUND="true" - 下記のコマンドを実行し、LDAP Connectorを起動します
-
Windows:
vi .\bin\start-ldc.bat -
macOS, Linux, Unix:
vi ./bin/start-ldc.sh
-
Windows:
LDAP Connectorのバックグラウンド起動は以上です。
トラブルシュート
-
LDAP Connectorの起動時に、
[FATAL] - java command not foundエラーが発生する
このエラーは、LDAPサーバーにJava実行環境を用意していない場合に起こります。そのため、LDAPサーバーに、Java実行環境として、OpenJDK 1.8(またはそれ以降のバージョン)をインストールしてください(もしくは、JREととJCEの2つをインストールしてください)