基本認証: LDAP ポリシー

ポリシー名

基本認証: LDAP

概要

LDAP で定義されたユーザ-パスワードを使用して基本認証メカニズムに基づいてアクセスを許可する

カテゴリ

最小 Mule バージョン

4.0.0

返される状況コード

Lightweight Directory Access Protocol (LDAP) 認証ポリシーでは、エンタープライズに対してセットアップする Open LDAP または Active Directory LDAP の設定の詳細を確立します。このポリシーを使用できるのは、Mule 4 以降で管理されている API のみです。

リソースやメソッドにポリシーを適用する手順など、一般的な手順に従ってポリシーを適用できます。

以下のプロパティを使用して、LDAP または Active Directory に接続するための LDAP ポリシーを設定します。

  • LDAP Server URL (LDAP サーバ URL)

    ポート番号を含む、LDAP サーバの URL。

  • LDAP User DN (LDAP ユーザ DN)

    LDAP のユーザをトラバースおよびリストするためのアクセス権を持つユーザまたはユーザグループの名前。

  • LDAP User Password (LDAP ユーザパスワード)

    ユーザまたはユーザグループのパスワード。

  • LDAP Search Base (LDAP 検索ベース)

    ディレクトリツリー内の検索の開始点。

  • LDAP Search Filter (LDAP 検索条件)

    Active Directory または OpenLDAP モデルの検索条件。以下の例を参照してください。

すべての項目が必須です。これらのリテラル文字列値では、プロパティプレースホルダがサポートされます。パスワードはセキュアな値として入力します。これは、指定すると表示または再取得できなくなる値です。

Active Directory の設定例

項目 リテラル文字列値の例 セキュアプロパティプレースホルダの例

LDAP Server URL (LDAP サーバ URL)

ldap://174.19.33.17:389/

$​{ldap.server.url}​

LDAP Server User DN (LDAP サーバユーザ DN)

CN=Administrator,CN=Users,DC=my-company,DC=com

$​{ldap.user.dn}​

LDAP User Password (LDAP ユーザパスワード)

somePassword

$​{ldap.password}​

LDAP Search Base (LDAP 検索ベース)

CN=Users,DC=my-company,DC=com

$​{ldap.search.base}​

上記の検索条件文字列は Active Directory アプリケーションに固有です。

OpenLDAP の設定例

項目 リテラル文字列値の例 セキュアプロパティプレースホルダの例

LDAP Server URL (LDAP サーバ URL)

ldaps://my-company-ldap.cloudhub.io:1010/

$​{ldap.server.url}​

LDAP Server User DN (LDAP サーバユーザ DN)

cn=Manager,dc=my-company,dc=com

$​{ldap.user.dn}​

LDAP User Password (LDAP ユーザパスワード)

somePassword

$​{ldap.password}​

LDAP Search Base (LDAP 検索ベース)

ou=people,dc=my-company,dc=com

$​{ldap.search.base}​

LDAP Search Filter (LDAP 検索条件)

(uid=​{0}​)

$​{ldap.search.filter}​

注意:​ 上記の検索条件文字列は OpenLDAP アプリケーションに固有です。

検索スコープ

検索スコープオプションは、ポリシーバージョンによって異なります。

  • 1.0.0 では、1 レベル検索スコープのみを使用できます。

  • 1.1.0 では、2 つの検索スコープが提供されます。[LDAP Search in subtree (サブツリーの LDAP 検索)] チェックボックスを使用して、「1 レベル」または「サブツリー」の検索スコープを選択できます。

1 レベル検索スコープ

このオプションを使用すると、検索条件はベースオブジェクト直下のオブジェクトのみに影響しますが、ベースオブジェクト自体を含みません。このポリシーの 1.0.0 バージョンにはこの検索スコープのみがあります。

次の例では、第 1 レベルに 4 つのエントリ (2 つのユーザと 2 つのグループ) があります。検索にはこれらのエントリのみが含まれます。

search scope

検索条件を ​(uid={0})​ に設定した場合、Jane と Paul のみが見つかります。グループエントリは考慮されず、他のレベルも考慮されません。

サブツリー検索スコープ

このオプションを使用すると、ポリシーはベース DN の下のサブツリーを調べて、ベース DN を含みます。ただし、この動作によりパフォーマンスが影響を受けます。

引き続き前記の例を使用すると、分析される領域は組織全体を含むことがわかります。組織のすべてのレベルでグループエントリとユーザエントリが考慮されます。

search scope2

要求の要件

基本認証: LDAP ポリシーを API に適用すると、その API への要求には次のヘッダーが含まれる必要があります。

Authorization: Basic <username:password>

username:password は base64 エンコードされた文字列です。たとえば、Mac OS X または Linux の場合は次のようになります。

echo '<Client Id>:<Client Secret>' | base64

Mule Runtime はヘッダーのログイン情報を分割し、要求を LDAP サーバに検索条件と共に送信します。

username​ と検索条件から LDAP は登録済みユーザを見つけて、ログイン情報を検証します。最後に次の図のように、有効な結果が Mule Runtime に送信されます。

ldap verification

次の図は、無効な要求の流れを示しています。

ldap verification invalid

ポリシーは HTTP 401 状況コードをスローします。これは、認証ヘッダーが不正である、提供されていない、または無効であることを示します。

Was this article helpful?

💙 Thanks for your feedback!