Flex Gateway新着情報
Governance新着情報
Monitoring API Managerポリシー名 |
基本認証: LDAP |
概要 |
LDAP で定義されたユーザー-パスワードを使用して基本認証メカニズムに基づいてアクセスを許可する |
カテゴリ |
セキュリティ |
使用可能な最小 Mule バージョン |
v4.0.0 |
返される状況コード |
401 - 未承認または無効なクライアントアプリケーションのログイン情報 |
Lightweight Directory Access Protocol (LDAP) 認証ポリシーは、LDAP 認証メカニズムを使用して API へのアクセスを制限する方法を指定します。このポリシーは、Flex および Mule 4 以降で使用できます。
エラーに遭遇すると、基本認証 - LDAP ポリシーは WWW-Authenticate: Basic realm="mule-realm"
の形式で「WWW-Authenticate」 HTTP ヘッダー項目を返します。
LDAP は上下反転した木であり、それぞれの葉にユーザー名-パスワードのペアおよび関連付けられたメタデータがあります。各レベルは木の枝のように分かれています。LDAP の詳細については、 「LDAP^ について」を参照してください。
UI から基本認証 - LDAP ポリシーを API に適用する場合は、LDAP または Active Directory に接続するための以下のパラメーターを設定できます。
パラメーター | 説明 |
---|---|
LDAP Server URL (LDAP サーバー URL) |
ポート番号を含む、LDAP または LDAPS サーバーの URL。 |
LDAP User DN (LDAP ユーザー DN) |
LDAP のユーザーをトラバースおよびリストするためのアクセス権を持つユーザーまたはユーザーグループの名前。 |
LDAP User Password (LDAP ユーザーパスワード) |
ユーザーまたはユーザーグループのパスワード。パスワードはセキュアな値でなければなりません。これは、指定すると表示または再取得できなくなる値です。 |
LDAP Search Base (LDAP 検索ベース) |
ディレクトリツリー内の検索の開始点。 |
LDAP Search Filter (LDAP 検索条件) |
Active Directory または OpenLDAP モデルの検索条件。例を参照してください。 |
LDAP または Active Directory に正常に接続するには、すべてのパラメーターが必要です。
以下の値を設定することで、Active Directory の LDAP 認証を設定できます。
項目 | リテラル文字列値の例 | セキュアプロパティプレースホルダーの例 |
---|---|---|
LDAP Server URL (LDAP サーバー URL) |
ldap://174.19.33.17:389/ |
${ldap.server.url} |
LDAP Secure Server URL (SSL) (LDAP セキュアサーバー URL (SSL)) |
ldaps://my-company-ldap.cloudhub.io:1010/ |
${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} |
LDAP Search Filter (LDAP 検索条件) |
(sAMAccountName={0}) |
${ldap.search.filter} |
例の検索条件文字列は Active Directory アプリケーションに固有です。
以下の値を設定することで、OpenLDAP の LDAP 認証を設定できます。
項目 | リテラル文字列値の例 | セキュアプロパティプレースホルダーの例 |
---|---|---|
LDAP Server URL (LDAP サーバー URL) |
ldap://174.19.33.17:389/ |
${ldap.server.url} |
LDAP Secure Server URL (SSL) (LDAP セキュアサーバー URL (SSL)) |
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 アプリケーションに固有です。
基本認証 - LDAP ポリシーは、保護されているリソースに対する要求を捕捉して、Authorization
HTTP ヘッダーを確認します。
そして、Base64 でエンコードされているユーザー名とパスワードを抽出して、設定されている LDAP インスタンスに対して、提供されている LDAP コンテキストにおいてユーザーのログイン情報が正しいかどうかを判断するように要求します。
ログイン情報に対する基本認証: LDAP ポリシーは、以下の方法を使用して設定できます。
指定されているレベルでユーザー名とパスワードのペアを検索する。
指定されているレベルとその下位レベルでユーザー名とパスワードのペアを検索する。ただし、この検索オプションは包括的であるため、パフォーマンスが低下することがあります。
検索スコープオプションは、使用しているポリシーバージョンによって異なります。検索スコープオプションは、LDAP 1.0.0 では 1 レベル、LDAP 1.1.0 では 2 レベル (サブツリー) となります。
one level
または subtree
の検索スコープは、LDAP Search in subtree
オプションを使用して選択します。
LDAP search base
は、ディレクトリ内の検索の開始点です。
基本認証 - LDAP ポリシーを API に適用した後は、その API への要求には次のヘッダーを含める必要があります。
Authorization: Basic <username:password>
username:password
の値は Base64 でエンコードされた文字列である必要があります。たとえば、Mac OS X や Linux システムでは、ユーザー名とパスワードの要件は次のように実装されます。
echo -n '<Client Id>:<Client Secret>' | base64
Mule Runtime Engine (Mule) はヘッダーのログイン情報を分割し、要求を LDAP サーバーに検索条件と共に送信します。
LDAP は username
と検索条件から登録済みユーザーを見つけた後に、ログイン情報を検証します。有効な結果が Mule に返されます。
無効な要求の例を下図に示します。
基本認証 - LDAP ポリシーは HTTP 401 状況コードをスローします。これは、認証ヘッダーが不正である、提供されていない、または無効であることを示します。