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^ について」を参照してください。
ローカルモードでは、宣言型の設定ファイルを使用して 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 から基本認証 - 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
LDAP は username
と検索条件から登録済みユーザーを見つけた後に、ログイン情報を検証します。有効な結果が返されます。
無効な要求の例を下図に示します。
基本認証 - LDAP ポリシーは HTTP 401 状況コードをスローします。これは、認証ヘッダーが不正である、提供されていない、または無効であることを示します。