Flex Gateway新着情報
Governance新着情報
Monitoring API Managerポリシー名  | 
基本認証: LDAP  | 
概要  | 
LDAP で定義されたユーザー-パスワードを使用して基本認証メカニズムに基づいてアクセスを許可する  | 
カテゴリ  | 
セキュリティ  | 
使用可能な最小 Flex Gateway バージョン  | 
v1.1.0  | 
返される状況コード  | 
401 - 未承認または無効なクライアントアプリケーションのログイン情報  | 
Lightweight Directory Access Protocol (LDAP) 認証ポリシーは、LDAP 認証メカニズムを使用して API へのアクセスを制限する方法を指定します。
エラーに遭遇すると、基本認証 - LDAP ポリシーは WWW-Authenticate: Basic realm="mule-realm" の形式で「WWW-Authenticate」 HTTP ヘッダー項目を返します。
LDAP は上下反転した木であり、それぞれの葉にユーザー名-パスワードのペアおよび関連付けられたメタデータがあります。各レベルは木の枝のように分かれています。LDAP の詳細については、 「LDAP^ について」を参照してください。
ローカルモードでは、宣言型の設定ファイルを使用してポリシーを API に適用します。以下のポリシー定義とパラメーターの表を参照してください。
- policyRef:
    name: ldap-authentication-flex
  config:
    ldapServerURL: <string> // OPTIONAL, default: "ldap://127.0.0.1:389"
    ldapServerUserDn: <string> // REQUIRED
    ldapServerUserPassword: <string> // REQUIRED
    ldapSearchBase: <string> // REQUIRED
    ldapSearchFilter: <string> // OPTIONAL, default: "(uid={0})"
    ldapSearchInSubtree: <bool> // OPTIONAL, default: false
| パラメーター | 必須または省略可能 | デフォルト値 | 説明 | 
|---|---|---|---|
  | 
省略可能  | 
  | 
LDAP サーバーへの場所のアドレスとポート  | 
  | 
必須  | 
LDAP のユーザーをトラバースおよびリストするためのアクセス権を持つユーザーまたはユーザーグループの名前  | 
|
  | 
必須  | 
ユーザーまたはユーザーグループのパスワード  | 
|
  | 
必須  | 
LDAP 検索を開始する場所  | 
|
  | 
必須  | 
Active Directory または OpenLDAP モデルの検索条件  | 
|
  | 
省略可能  | 
  | 
ベース DN の下のサブツリーを調べて、ベース DN レベルを含めるかどうか。これにより、パフォーマンスが影響を受けます。それ以外の場合、1 レベルのスコープが使用され、ベース DN のすぐ下のレベルのみが調べられます。  | 
UI からポリシーを API インスタンスに適用するときに、以下のパラメーターが表示されます。
| パラメーター | 説明 | 
|---|---|
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
LDAP は username と検索条件から登録済みユーザーを見つけた後に、ログイン情報を検証します。有効な結果が返されます。
無効な要求の例を下図に示します。
基本認証 - LDAP ポリシーは HTTP 401 状況コードをスローします。これは、認証ヘッダーが不正である、提供されていない、または無効であることを示します。