Lightweight Directory Access Protocol(LDAP)は、TCP/IP および UDP 上で動作するディレクトリ サービスの問い合わせおよび変更のためのネットワーキング プロトコルです。LDAP は、x.500 ベースのディレクトリ サーバにアクセスするための軽量メカニズムです。RFC 2251 では LDAP を定義しています。
Cisco Secure Access Control System (ACS) 5.x は、LDAP プロトコルを使用して LDAP 外部データベース(ID ストアとも呼ばれる)と統合します。LDAPサーバへの接続には、プレーンテキスト(シンプル)接続とSSL(暗号化)接続の2つの方法が使用されます。ACS 5.x は、この両方の方法を使用して LDAP サーバに接続するように設定できます。このドキュメントでは、簡単な接続を使用して LDAP サーバに ACS 5.x を接続するための設定例を示します。
このドキュメントでは、ACS 5.x が LDAP サーバに IP 接続し、ポート TCP 389 が空いていることが想定されています。
Microsoft Active Directory LDAP サーバは、ポート TCP 389 での LDAP 接続を容認するようにデフォルトで設定されています。その他の LDAP サーバを使用している場合は、それが動作していて、ポート TCP 389 での接続を容認していることを確認してください。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco Secure ACS 5.x
Microsoft Active Directory LDAP サーバ
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
ディレクトリ サービスは、コンピュータ ネットワークのユーザおよびネットワーク リソースに関する情報を保存および編成するためのソフトウェア アプリケーション(アプリケーションのセット)です。ディレクトリ サービスを使用すると、これらのリソースへのユーザ アクセスを管理できます。
LDAP ディレクトリ サービスは、クライアント/サーバ モデルに基づきます。クライアントは LDAP サーバに接続して LDAP セッションを開始し、操作要求をサーバに送信します。サーバは、応答を送信します。1 台以上の LDAP サーバに、LDAP ディレクトリ ツリーまたは LDAP バックエンド データベースからのデータが含まれています。
ディレクトリ サービスは、ディレクトリを管理します。ディレクトリは、情報を保有するデータベースです。ディレクトリ サービスは、情報を保存するために分散モデルを使用します。その情報は、通常はディレクトリ サーバ間で複製されます。
LDAP ディレクトリは、単純なツリー階層で編成されており、数多くのサーバ間で分散できます。各サーバには、定期的に同期化されるディレクトリ全体の複製バージョンを配置できます。
ツリーのエントリには属性のセットが含まれており、各属性には名前(属性タイプまたは属性の説明)と 1 つ以上の値があります。属性はスキーマに定義されます。
各エントリには、認定者名(DN)と呼ばれる固有識別情報があります。この名前には、エントリ内の属性で構成されている相対識別名(RDN)と、それに続く親エントリの DN が含まれています。DN は完全なファイル名、RDN はフォルダ内の相対ファイル名と考えることができます。
ACS 5.x は、ディレクトリ サーバでバインド操作を実行し、プリンシパルを検索および認証することによって、LDAP ID ストアに対してプリンシパルを認証できます。認証が成功した場合、ACS はプリンシパルに所属するグループおよび属性を取得できます。取得する属性は、ACS Web インターフェイス(LDAP ページ)で設定できます。ACS は、これらのグループおよび属性を使用してプリンシパルを認可できます。
ユーザの認証または LDAP ID ストアの問い合わせを行うために、ACS は LDAP サーバに接続し、接続プールを保持します。「LDAP 接続管理」を参照してください。
ACS 5.x では、複数の同時 LDAP 接続がサポートされています。接続は、最初の LDAP 認証時にオン デマンドで開かれます。最大接続数は、LDAP サーバごとに設定されます。事前に接続を開いておくと、認証時間が短縮されます。
同時バインディング接続に使用する最大接続数を設定できます。開かれる接続の数は、LDAP サーバ(プライマリまたはセカンダリ)ごとに異なる場合があり、サーバごとに設定される最大管理接続数によって決まります。
ACS は、ACS で設定されている LDAP サーバごとに、開いている LDAP 接続(バインド情報を含む)のリストを保持します。認証プロセス中に、Connection Manager は開いている接続をプールから検索しようとします。
開いている接続が存在しない場合、新しい接続が開かれます。LDAP サーバが接続を閉じた場合、Connection Manager はディレクトリを検索する最初のコールでエラーをレポートし、接続を更新しようとします。
認証プロセスが完了したあと、Connection Manager は Connection Manager への接続を解放します。詳細は、『ACS 5.X ユーザ ガイド』を参照してください。
このセクションでは、このドキュメントで説明する機能を設定するために必要な情報を提供しています。
ACS 5.x を LDAP 用に設定するには、次の手順を実行します。
[Users and Identity Stores] > [External Identity Stores] > [LDAP] を選択し、新しい LDAP 接続を作成するために [Create] をクリックします。
[General] タブで、新しい LDAP の [Name] および [Description](オプション)を指定し、[Next] をクリックします。
[Server Connection] タブの [Primary Server] セクションで、[Hostname]、[Port]、[Admin DN]、[Password] を指定します。[Test Bind To Server] をクリックします。
注:LDAPのIANA割り当てポート番号はTCP 389です。ただし、LDAP サーバが使用しているポート番号を LDAP Admin から確認してください。[Admin DN] および [Password] は LDAP Admin によって提供されます。[Admin DN] は、LDAP サーバのすべての OU に関するすべての権限を読み取る必要があります。
次の図は、サーバへの接続テスト バインドが正常に実行されたことを示します。
注:テストバインドが失敗した場合は、LDAP管理者からホスト名、ポート番号、管理者DN、およびパスワードを再確認してください。
[Next] をクリックします。
[Directory Organization] タブの [Schema] セクションで、必要な詳細を指定します。LDAP Admin によって提供されるように、[Directory Structure] セクションで必要な情報を指定します。[Test Configuration] をクリックします。
次の図は、設定テストが正常に実行されたことを示しています。
注:設定テストが失敗した場合は、LDAP管理者から、スキーマとディレクトリ構造で指定されているパラメータを再確認してください。
[Finish] をクリックします。
LDAP サーバが正常に作成されます。
ID ストアを設定するには、次の手順を実行します。
[Access Policies] > [Access Services] > [Service Selection Rules] を選択し、どのサーバが認証に LDAP サーバを使用するかを確認します。この例では、LDAP サーバ認証が [Default Network Access] サービスを使用します。
手順 1 でサービスを確認したら、特定のサービスに移動し、[Allowed Protocols] をクリックします。[Allow PAP/ASCII] が選択されていることを確認し、[Submit] をクリックします。
注:Allow PAP/ASCIIとともに他の認証プロトコルも選択できます。
ステップ1で特定したサービスをクリックし、Identityをクリックします。[Identity Source] フィールドの右にある [Select] をクリックします。
新しく作成した LDAP サーバ(この例では myLDAP)を選択し、[OK] をクリックします。
[Save Changes] をクリックします。
手順 1 で確認したサービスの [Authorization] セクションに移動し、認証を許可するルールが最低 1 つ存在することを確認します。
ACS は、バインド要求を送信して、LDAP サーバに対してユーザを認証します。バインド要求には、ユーザの DN およびユーザ パスワードがクリア テキストで含まれています。ユーザの DN およびパスワードが LDAP ディレクトリ内のユーザ名およびパスワードと一致した場合に、ユーザは認証されます。
認証エラー:ACS は認証エラーを ACS ログ ファイルに記録します。
初期化エラー:LDAP サーバのタイムアウト設定を使用して、LDAP サーバでの接続または認証が失敗したと判断する前に ACS が LDAP サーバからの応答を待つ秒数を設定します。LDAP サーバが初期化エラーを返す理由で考えられるのは、次のとおりです。
LDAP がサポートされていない
サーバがダウンしている
サーバがメモリ不足である
ユーザに特権がない
間違った管理者クレデンシャルが設定されている
バインド エラー:LDAP サーバがバインド(認証)エラーを返す理由で考えられるのは、次のとおりです。
フィルタリング エラー
フィルタリング条件を使用した検索の失敗
パラメータ エラー
無効なパラメータの入力
ユーザ アカウントが制限されている(無効、ロックアウト、期限切れ、パスワード期限切れなど)
外部リソース エラーとして次のエラーがロギングされ、LDAP サーバで考えられる問題が示されます。
接続エラーが発生した
タイムアウトが期限切れになった
サーバがダウンしている
サーバがメモリ不足である
エラー「A user does not exist in the database」は、不明ユーザ エラーとして記録されます。
エラー「An invalid password was entered」は無効パスワード エラーとして記録されます。ユーザは存在しますが、送信されたパスワードが無効です。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
14-Mar-2012 |
初版 |