LDAP Connector 3.6 の例 - Mule 4

Lightweight Directory Access Protocol 用 Anypoint Connector (LDAP Connector) の使用例を次に示します。

  • 組織単位にグループとユーザーを追加してから、そのユーザーとグループを削除する

  • 一般的なトラストストアをセットアップする

組織単位へのグループとユーザーの追加および削除

次の例は、LDAP の ​Add entry​ 操作を使用してグループとユーザーを組織単位に追加し、​Delete entry​ 操作を使用してユーザーとグループを組織単位から削除する方法を示しています。

次のスクリーンショットは、この例の Studio アプリケーションフローを示しています。

ユーザーを追加および削除するためのフロー

組織単位にグループとユーザーを追加する

組織単位にグループとユーザーを追加する手順は、次のとおりです。

  1. Anypoint Studio で新しい Mule プロジェクトを作成します。

  2. mule-artifact.properties​ ファイルに次のプロパティを追加します。

    config.principal.dn=<DN>
    config.password=<Password>
    config.url=<URL>
    text
  3. プロジェクトの ​src/main/resources​ ディレクトリに ​mule-artifact.properties​ ファイルを置きます。

  4. [Mule Palette (Mule パレット)]​ ビューから、​[HTTP]​ をクリックして ​[Listener]​ ソースをキャンバスにドラッグします。

  5. [Listener (リスナー)] プロパティウィンドウで、​[Listener]​ ソースの表示名を ​HTTP​ に変更します。

  6. [Connector configuration (コネクタ設定)]​ 項目の横にある ​[+]​ をクリックし、グローバル要素を追加します。

  7. デフォルトを受け入れます。

  8. [Listener (リスナー)] プロパティウィンドウで、​[Path (パス)]​ 項目値を ​/​ に設定します。

  9. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントを ​[HTTP]​ の横にドラッグします。

  10. [Output (出力)]​ セクションで、既存のテキストを次の DataWeave スクリプトに置き換えます。

    %dw 2.0
    output application/java
    ---
    {
    	dn : "ou=DevOpsGroup," ++ attributes.queryParams.dn,
    	ou : "DevOpsGroup",
    	objectclass : ["top", "organizationalUnit"]
    }
    java
  11. [Mule Palette (Mule パレット)]​ ビューから、​[LDAP]​ を選択して ​[Add entry]​ 操作を ​[Transform Message]​ コンポーネントの横にドラッグし、LDAP グループの追加を開始します。

  12. コネクタ設定項目の横にある ​[+]​ をクリックし、新しいグローバル要素を追加します。

  13. 次のようにグローバル要素を設定します。

    パラメーター 説明

    Name (名前)

    設定の名前。

    LDAP_Configuration

    Principal DN (プリンシパル DN)

    ユーザー識別名 (DN)

    ${config.principal.dn}

    Password (パスワード)

    ユーザーパスワード

    ${config.password}

    URL

    LDAP サーバーに接続する URL

    ${config.url}

  14. [Test Connection (接続をテスト)]​ をクリックして、Mule が LDAP サーバーインスタンスに接続できることを確認します。

  15. 次のように接続結果を処理します。

    • 正常に接続できた場合は、​[OK]​ をクリックして設定を保存します。

    • 接続に失敗した場合は、誤った項目値を確認して修正し、もう一度テストを実行します。

  16. LDAP Connector プロパティウィンドウに戻り、​Add entry​ 操作に必要なパラメーターを設定します。

    パラメーター

    Display Name (表示名)

    Add Group Entry to LDAP Directory

    Basic Settings (基本設定)

    Connector configuration (コネクタ設定)

    以前に作成した LDAP Connector グローバル要素

    General (一般)

    Entry (エントリ)

    payload​ (デフォルト値)

  17. [Mule Palette (Mule パレット)]​ ビューから、​[Core (コア)]​ を選択して ​[Transform Message]​ コンポーネントを ​[Add Group Entry to the LDAP directory (LDAP ディレクトリへのグループエントリの追加)]​ の横にドラッグします。

  18. [Output (出力)]​ セクションで、既存のテキストを次の DataWeave スクリプトに置き換えます。

    %dw 2.0
    output application/java
    ---
    {
    	dn : "cn=Test User,ou=DevOpsGroup," ++ attributes.queryParams.dn,
    	uid : "testUser",
    	cn : "Test User",
    	sn : "User",
    	userPassword : "test1234",
    	objectclass : ["top", "person", "organizationalPerson", "inetOrgPerson"]
    }
    java
  19. [Mule Palette (Mule パレット)]​ ビューから、​[LDAP]​ を選択して ​[Add entry]​ 操作を ​[Transform Message]​ の横にドラッグし、LDAP ユーザーの追加を開始します。

  20. LDAP Connector プロパティエディターで、次のようにパラメーターを設定します。

    パラメーター

    Display Name (表示名)

    Add User Entry to LDAP Directory

    Basic Settings (基本設定)

    Connector configuration (コネクタ設定)

    以前に作成した LDAP Connector グローバル要素

    General (一般)

    Entry (エントリ)

    payload​ (デフォルト値)

組織単位からグループとユーザーを削除する

組織単位にグループとユーザーが正常に追加されたら、LDAP Connector を使用してそれらを削除します。

  1. [Mule Palette (Mule パレット)]​ ビューから、​[LDAP]​ を選択して ​[Delete entry]​ 操作をキャンバスの ​[Add User Entry to LDAP Directory (LDAP ディレクトリへのユーザーエントリの追加)]​ の横にドラッグします。

  2. LDAP Connector プロパティエディターで、次のようにパラメーターを設定します。

    パラメーター

    Display Name (表示名)

    Delete User Entry from LDAP Directory

    Basic Settings (基本設定)

    Connector configuration (コネクタ設定)

    以前に作成した LDAP Connector グローバル要素

    General (一般)

    DN

    #['cn=Test User,ou=DevOpsGroup,' ++ attributes.queryParams.dn]

  3. 別の ​[Delete entry]​ 操作を最初の操作の横にドラッグして、LDAP グループエントリの削除を開始します。

    パラメーター

    Display Name (表示名)

    Delete Group Entry from LDAP Directory

    Basic Settings (基本設定)

    Connector configuration (コネクタ設定)

    以前に作成した LDAP Connector グローバル要素

    General (一般)

    DN

    #['ou=DevOpsGroup,' ++ attributes.queryParams.dn]

  4. [Transform Message]​ コンポーネントを ​[Delete Group Entry from LDAP Directory (LDAP ディレクトリからのグループエントリの削除)]​ の横にドラッグします。

  5. ペイロードを「Flow Successfully Completed」 (フロー正常完了) に設定します。

アプリケーションをテストする

アプリケーションをテストする手順は、次のとおりです。

  1. プロジェクトを保存します。

  2. プロジェクトを Mule アプリケーションとして実行します。

  3. PUT コマンドを次の URL に送信します。

    http://localhost:8081/?dn=mulesoft,dc=orgrequest

例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

一般的なトラストストアをセットアップする

次の例は、カスタムトラストストアを使用する TLS 設定を含めるように前の例を変更する方法を示しています。

このカスタムトラストストア機能は FIPS 準拠ではありません。

カスタムトラストストアをセットアップする手順は、次のとおりです。

  1. 前の例の手順に従います。

  2. 次のプロパティを ​mule-artifact.properties​ ファイルに追加して LDAP ログイン情報を保持します。

    config.principal.dn=<DN>
    config.password=<Password>
    config.url=<URL>
    text
  3. プロジェクトの ​src/main/resources​ ディレクトリに ​mule-artifact.properties​ ファイルを置きます。

  4. XML コードで次の要素を見つけます。

     <ldap:conf name=:LDAP_configuration" doc:name="LDAP Configuration"
     .
     .
     .
     </ldap:config
    xml
  5. 見つかった要素を次のコードで上書きします。

    <ldap:config name="LDAP_Configuration">
      <ldap:tls-connection
        authDn="${config.principal.dn}}"
        authPassword="${config.password}"
        url="${config.url}"
        trustStorePath="path_to_truststore_jks_file"
        trustStorePassword="changeit" />
    xml

アプリケーションをテストする

アプリケーションをテストする手順は、次のとおりです。

  1. プロジェクトを保存します。

  2. プロジェクトを Mule アプリケーションとして実行します。

  3. PUT コマンドを次の URL に送信します。

    http://localhost:8081/?dn=mulesoft,dc=orgrequest