はじめに
今回は、Workato の On-prem Agent(OPA)でActive DirectoryにLDAP接続してみようと思います。
こちらの手順をもとにすでにオンプレミスエージェントがローカルの環境(今回はWindows)にインストールされ、Workatoに接続されている状態からスタートです。
概要
2. エージェントにConfig.ymlを設定してエラーを回避
手順
1. LDAPコネクションを作成
ワークスペースで、Createから「Connection」を作成します。
コネクションを選択する画面で、検索バーに「LDAP」と入力して「LDAP」を選択してコネクションを作成します。

LDAPコネクションの設定画面で必要事項を入力します。
項目名 | 設定内容・設定値例 |
---|---|
Connection name* | コネクションの名前を任意で指定します。 |
Location* | ワークスペース上の場所を指定します。 |
Connection type* | 事前に作成してある「On-prem group」を指定します。 |
Profile* | LDAPサーバーをプロファイルを指定します。 (例)profile |
Host* | LDAPサーバーのホスト名を指定します。 (例)win-test.testdom.local |
Port* | LDAP接続のポート番号を指定します。 (例)389 |
is LDAPS* | LDAPSの場合は「Yes」そうでない場合は「No」を指定します。 ※今回は検証なので「No」、AD側もLDAPの設定をしています。 |
Base DN* | LDAP接続した際のベースDNを指定します。 (例)CN=Users,DC=TESTDOM,DC=local |
UserDN* | Active DirectoryにLDAP接続するアカウントを指定します。 (例)CN=Administrator,CN=Users,DC=TESTDOM,DC=local |
Password* | LDAP接続するアカウントのパスワードを指定します。 |
sslProtocol* | LDAPS出ない場合は指定不要です。 |
注意!
ここでそのまま「Connect」をクリックすると、エラーが表示されてLDAPサーバーへの接続に失敗してしまいます。
2. エージェントにConfig.ymlを設定してエラーを回避
コミュニティライブラリからLDAPコネクションの詳細を確認すると、OPA拡張機能(コネクションの画面からダウンロードできるjarファイル)と、Apache LDAP APIクライアントが必要なことが記載されています。また、Config.ymlへの記載が必要とも記載されているため、その前提で以下の手順を実施する必要があります。
![]() ![]() |
---|
Apache LDAP APIクライアントのファイルをこちらのURLからダウンロードします。
(※)OPA拡張機能は以下の依存関係でテストされています
- api-all 2.1.6
- caffeine-2.9.3
- mina-core-2.2.3
jarファイルをダウンロードしたら、オンプレミスエージェントをインストールしたフォルダ配下にフォルダ(ext)を作成して格納します。
📁 Workato Agent <Name> ・・・(エージェントをインストールしたフォルダ)
L📁 ext
L📜 .jar ファイル

オンプレミスエージェントをインストールしたフォルダのconfフォルダ配下に設定ファイル(Config.yml)を作成して、下記項目を記載します。「extensions:」で指定した内容が拡張機能として読み込まれます。※デフォルトではサンプルファイルが置かれています。
server:
classpath: "C:\\Program Files\\Workato Agent <Name>\\ext"
extensions:
ldap:
controllerClass: com.workato.extension.ldap.ExtensionController
Config.ymlファイルを保存したら、オンプレミスエージェントのサービスを再起動します。ログを確認すると、下記のように拡張機能を読み込まれたログが出力されます。
20XX-0X-XX XX:46:15.100+09 [main] INFO c.w.agent.config.ServerConfig - 1 extension endpoint(s) loaded.
(※)ちなみに、、、 オンプレミスグループを作成する際、Setup Connectionの選択を求められますが、どちらを選択してもコネクションで設定ファイル(Config.yml)は読み込まれるようです。 ![]() |
---|
オンプレミスエージェントの再起動が終わったら、LDAP接続コネクションの画面に戻り、「Connect」をクリックします。すると、エラーは表示されず、接続できるようになります。
3. Recipeを作成してユーザーの一覧を取得
簡単なレシピを作成して、テスト実行してみます。
新規にレシピを作成し、ActionからLDAPコネクション(先ほど作成したコネクション)を指定して、LDAPの「Search Record」を使用してユーザーの一覧を取得します。
必須項目である「Search filter」だけユーザーの情報を取得するようにオブジェクトクラスをユーザーとして設定します。
項目名 | 設定内容・設定値 |
---|---|
Search filter* | (objectClass=user) |
設定が完了したら保存し、テストレシピで実行してみると、テストジョブの結果として、Active Directoryに接続してユーザーの一覧を取得できることが確認できます。
おまけ
Active Directoryに接続する場合は、Active Directory用のコネクションがあるので、こちらを使いましょう。今回の手順が必要なく動作するのと、スキーマを指定する必要がないので使いやすいです。
参考