13.2 LDAPとOpenText eDirectoryの連携について

13.2.1 LDAPからOpenText eDirectoryに接続する

すべてのLDAPクライアントが、次のいずれかのユーザタイプでOpenText eDirectoryにバインド(接続)されます。

  • [Public]ユーザ(匿名バインド)

  • プロキシユーザ(プロキシユーザ匿名バインド)

  • NDSまたはOpenText eDirectoryユーザ(NDSユーザバインド)

ユーザの認証に使用されるバインドタイプにより、LDAPクライアントがアクセスできる内容が決定されます。LDAPクライアントは、作成した要求をディレクトリに送信することにより、ディレクトリにアクセスします。LDAPクライアントがLDAP Services for OpenText eDirectoryを通じて要求を送信した場合、OpenText eDirectoryは、その中からLDAPクライアントが適切なアクセス権を持つ属性の要求だけを処理します。

たとえばLDAPクライアントが、読み込み権が必要なある属性値を要求したものの、その属性についてユーザに許可されているのが比較権だけである場合、この要求は拒否されます。

標準ログイン制限とパスワード制限は引き続き適用されます。ただし、制限はすべてLDAPの実行場所と関係します。時刻およびアドレス制限も適用されますが、アドレス制限はOpenText eDirectoryログインが実行された場所(この場合はLDAPサーバ)を基準に決定されます。

LDAPクライアントからの書き込みブロック接続のタイムアウトは、NDSD_NLDAP_WRITEBLOCK_TIMEOUT環境変数を使用して設定できます。この変数は、LDAPクライアントがOpenText eDirectoryサーバからデータを読み込むために、クライアントとサーバ間の接続が開いたままになる時間間隔を定義します。接続がブロックされ、LDAPクライアントが指定時間内にデータを読み込めない場合、接続は無効とみなされ、その後閉じられます。この値には、次の例に示すように、この変数の値を秒で指定する必要があります。

NDSD_NLDAP_WRITEBLOCK_TIMEOUT=<seconds>NDSD_NLDAP_WRITEBLOCK_TIMEOUT=60

デフォルト値は60秒です。

メモ:OpenText eDirectory 9.2.6以降では、NDSD_NLDAP_WRITEBLOCK_TIMEOUT環境変数はLDAPクライアントからの読み込みブロック接続と書き込みブロック接続の両方に適用できます。以前のバージョン(OpenText eDirectory 9.2.5)では、この変数は書き込みブロック接続にのみ適用されました。

[Public]ユーザとして接続する

匿名バインドは、ユーザ名またはパスワードを使用しない接続です。サービスで代理ユーザの使用が設定されていない場合、名前とパスワードが定義されていないLDAPクライアントでLDAP Services for OpenText eDirectoryにバインドすると、ユーザはOpenText eDirectoryに[Public]ユーザとして認証されます。

[Public]ユーザとは、非認証のOpenText eDirectoryユーザのことです。デフォルトでは、[Public]ユーザにはOpenText eDirectoryツリー内のオブジェクトのブラウズ権が割り当てられます。[Public]ユーザ用のデフォルトブラウズ権では、OpenText eDirectoryオブジェクトをブラウズすることはできますが、ほとんどのオブジェクト属性にアクセスすることはできません。

多くの場合、LDAPクライアントは、デフォルトの[Public]権だけでは不十分です。[Public]の権利は変更できますが、変更した権利はすべてのユーザに対して許可されることになります。この問題を解決するために、プロキシユーザ匿名バインドを使用することをお勧めします。詳細については、プロキシユーザとして接続するを参照してください。

[Public]ユーザによるオブジェクト属性へのアクセスを許可するには、[Public]ユーザを該当する(1つまたは複数の)コンテナのトラスティに設定し、適切なオブジェクト権および属性権を割り当てる必要があります。

プロキシユーザとして接続する

代理ユーザ匿名バインドは、OpenText eDirectoryユーザ名にリンクされた匿名接続です。プロトコルで代理ユーザの使用が設定されている場合、LDAPクライアントがLDAP for OpenText eDirectoryに匿名でバインドすると、ユーザはOpenText eDirectoryにより代理ユーザとして認証されます。LDAP Services for OpenText eDirectoryとOpenText eDirectoryの両方でユーザ名が設定されます。

通常、匿名バインドにはLDAPのポート389が使用されます。ただし、ポートはインストール時に手動で変更することができます。

次に、プロキシユーザ匿名バインドの概念について説明します。

  • 匿名バインドを経由するLDAPクライアントアクセスは、すべてプロキシユーザオブジェクトを通して割り当てられます。

  • 匿名バインドではLDAPクライアントからパスワードが提供されないので、プロキシユーザにnullパスワードを適用し、パスワード変更間隔などのパスワード制限を設定しないようにします。パスワードを強制的に有効期限切れにしたり、プロキシユーザにパスワードの変更を許可したりしないでください。

  • プロキシユーザオブジェクトのアドレス制限を設定すると、ユーザがログインできるロケーションを制限できます。

  • OpenText eDirectory内に代理ユーザオブジェクトを作成し、公開するOpenText eDirectoryオブジェクトに対する権利を割り当てる必要があります。デフォルトのユーザ権では、特定のオブジェクトと属性だけに対する読み込みアクセス権が許可されます。アクセスする必要がある各サブツリー内のすべてのオブジェクトと属性に対するプロキシユーザ読み込み権および検索権を割り当てます。

  • LDAP Services for OpenText eDirectoryを設定するLDAPグループオブジェクトの[一般]ページで、代理ユーザオブジェクトを有効化する必要があります。このため、1つのLDAPグループ内のすべてのサーバに対し、プロキシユーザオブジェクトは1つしか作成できません。詳細については、LDAPオブジェクトを環境設定するを参照してください。

  • プロキシユーザオブジェクトに対し、すべてのプロパティ(デフォルト)か、選択したプロパティの権利を許可できます。

プロキシユーザに対して選択したプロパティの権利だけを許可するには、次を実行します。

  1. OpenText Identity Consoleのホームページで、[権利の管理]タイルをクリックします。

  2. [トラスティ]をクリックします。

  3. トラスティリストを表示するオブジェクトの名前を指定するか、[オブジェクトの検索]()を使用してオブジェクトを検索し、[OK]をクリックします。

    選択したオブジェクトに割り当てられているトラスティのリストが表示されます。

    [トラスティの追加 ]をクリックして、オブジェクトに新しいトラスティを割り当てます。リストからトラスティを選択し、をクリックすると、トラスティを割り当てから削除できます。

  4. 必要に応じて、詳細を変更するトラスティを選択し、[割り当てられた権利]をクリックします。

  5. [トラスティの変更]画面で、必要に応じて権利を割り当てて、[完了]をクリックします。

  6. [トラスティの変更]画面で、[プロパティの追加]をクリックし、[スキーマ内のすべてのプロパティを表示する]チェックボックスをオンにします。

  7. 代理ユーザに継承可能な権利を選択し、必要に応じて権利を割り当てます。

    さらに継承可能な権利を追加したい場合は、ステップ6とステップ7を繰り返します。

    リストからプロパティ名を選択して、をクリックすると、割り当てからプロパティ名を削除できます。

  8. [完了]をクリックし、[適用]をクリックします。

    「リソースが正常に変更されました!」というメッセージが表示されます。

代理ユーザ匿名バインドを実装するには、OpenText eDirectory内に代理ユーザオブジェクトを作成し、そのユーザに適切な権利を割り当てる必要があります。アクセスする必要がある各サブツリー内のすべてのオブジェクトと属性に対するプロキシユーザ読み込み権および検索権を割り当てます。同じ代理ユーザ名を指定して、LDAP Services for OpenText eDirectory内で代理ユーザ名を有効化する必要もあります。

  1. OpenText Identity Consoleのホームページで、[LDAP環境設定]タイルをクリックします。

  2. [オブジェクトの作成]をクリックします。

  3. [LDAPオブジェクトの作成]ページで、[名前]を指定し、[タイプ]を選択して、eDirectoryユーザオブジェクトの[コンテキスト]を検索します。

  4. [作成]をクリックし、[OK]をクリックします。

Linuxでldapconfigユーティリティを使用する

たとえば、LDAP Search Referral UsageでLDAPサーバによるLDAP参照の処理方法を指定します。

  1. システムプロンプトで、次のコマンドを入力します。

    ldapconfig -s "LDAP:otherReferralUsage=1"

  2. ユーザFDN(完全識別eDirectoryユーザ名)とパスワードを入力します。

NDSまたはOpenText eDirectoryユーザとして接続する

OpenText eDirectoryユーザバインドは、LDAPクライアントが完全なOpenText eDirectoryユーザ名とパスワードを使用して確立する接続です。OpenText eDirectoryユーザバインドはOpenText eDirectoryにより認証されます。LDAPクライアントは、そのOpenText eDirectoryユーザにアクセスが許可されているすべての情報にアクセスできます。

次に、OpenText eDirectoryユーザバインドの重要な概念について説明します。

  • OpenText eDirectoryユーザバインドは、LDAPクライアントに入力されたユーザ名とパスワードを使用してOpenText eDirectoryへの認証が行われます。

  • LDAPクライアントアクセスに使用するOpenText eDirectoryユーザ名とパスワードは、Novell ClientがOpenText eDirectoryにアクセスする場合も使用できます。

  • 非TLS接続では、OpenText eDirectoryパスワードはLDAPクライアントとLDAP Services for eDirectoryの間の経路をクリアテキストデータとして転送されます。

  • クリアテキストパスワードが無効にされている場合は、非TLS接続上で転送されたユーザ名またはパスワードを含むOpenText eDirectoryバインド要求は、すべて拒否されます。

  • OpenText eDirectoryユーザパスワードの有効期限が切れた場合、そのユーザのOpenText eDirectoryバインド要求は拒否されます。

LDAPクライアントにOpenText eDirectory権を割り当てる

  1. LDAPクライアントがOpenText eDirectoryにアクセスするときに使用するユーザ名のタイプを決定します。

    • [Public]ユーザ(匿名バインド)

    • プロキシユーザ(プロキシユーザ匿名バインド)

    • NDSユーザ(NDSユーザバインド)

    詳細については、LDAPからOpenText eDirectoryに接続するを参照してください。

  2. ユーザが1つの代理ユーザ、または複数のOpenText eDirectoryユーザ名を使用してLDAPにアクセスする場合は、LDAPを使用してこれらのユーザ名をOpenText eDirectoryに作成します。

  3. LDAPクライアントが使用するユーザ名に、適切なOpenText eDirectory権を割り当てます。

ほとんどのユーザに割り当てられるデフォルトの権利では、ユーザ自身が持つオブジェクト以外にはアクセスできません。別のオブジェクトやその属性にアクセスするには、OpenText eDirectoryで割り当てられた権利を変更する必要があります。

LDAPクライアントからOpenText eDirectoryオブジェクトおよび属性へのアクセスが要求されると、OpenText eDirectoryは、LDAPクライアントのOpenText eDirectory識別情報に基づいて要求を受諾または拒否します。識別情報はバインド時に設定されます。

13.2.2 クラスと属性のマッピング

クラスとは、ディレクトリ内のオブジェクトのタイプ(ユーザ、サーバ、グループなど)です。属性とは、特定のオブジェクトについての追加情報を定義するディレクトリ要素です。たとえば、ユーザオブジェクト属性にはユーザの姓、電話番号などがあります。

スキーマとは、ディレクトリで使用できるクラスと属性、およびディレクトリ構造(クラス間の相互関係)を定義する一連の規則です。LDAPディレクトリとOpenText eDirectoryディレクトリのスキーマが異なる場合は、LDAPクラスと属性を、適切なOpenText eDirectoryオブジェクトと属性へマッピングしなければならない場合があります。これらのマッピングで、LDAPスキーマからOpenText eDirectoryスキーマへの名前の変換を定義します。

LDAP Services for OpenText eDirectoryにはデフォルトマッピングがあります。LDAPクラスおよび属性と、OpenText eDirectoryオブジェクトタイプおよびプロパティとの対応関係は多くの場合論理的で、直観的に理解できます。ただし、実装時の条件によっては、クラスと属性のマッピングを再設定する必要が生じることもあります。

ほとんどの場合、LDAPクラスとOpenText eDirectoryオブジェクトタイプとの間のマッピングは、一対一の対応関係です。ただし、LDAPスキーマでは、同じ属性を意味するCNおよび共通名のような別名もサポートされています。

LDAPグループ属性をマッピングする

デフォルトのLDAP Services for OpenText eDirectory環境設定には、事前定義されたクラスと属性のマッピングがあります。これは、LDAP属性のサブセットからOpenText eDirectory属性のサブセットへのマッピングです。デフォルト環境設定でマッピングされていない属性には、自動生成されたマッピングが割り当てられます。スキーマ名がスペースまたはコロンを含まない有効なLDAP名である場合は、マッピングは必要ありません。クラスおよび属性のマッピングを調べて、必要に応じて再設定します。

  1. OpenText Identity Consoleのホームページで、[LDAP環境設定]タイルをクリックします。

  2. [LDAPグループ]をクリックします。

  3. [LDAPグループの変更]ページで、[属性マップ]ドロップダウンをクリックします。

  4. 必要に応じて属性を追加、削除、または変更します。

    LDAP属性の種類によっては別名(CNおよび共通名など)が存在する場合があるため、複数のLDAP属性を対応する1つのOpenText eDirectory属性名にマッピングすることが必要な場合もあります。LDAP Services for OpenText eDirectoryがLDAP属性情報を返す場合、リスト内で検出された最初の一致する属性の値が返されます。

    複数のLDAP属性を1つのOpenText eDirectory属性にマッピングする場合は、属性の順序に意味があるため、リストの順序を変更して属性の優先順位を決定してください。

  5. [保存]をクリックします。

LDAPグループのクラスマッピング

LDAPクライアントがLDAPサーバにLDAPクラス情報を要求すると、サーバは対応するOpenText eDirectoryクラス情報を返します。デフォルトのLDAP Services for OpenText eDirectory環境設定には、事前定義されたクラスと属性のマッピングがあります。

メモ:OpenText eDirectoryでは、LDAPグループオブジェクトのクラスマッピングはLDAPサーバ間では伝搬しません。複数のサーバ上で同じクラスマッピングを使用するには、環境内のすべてのLDAPグループオブジェクトに、マッピングを手動で追加します。

  1. OpenText Identity Consoleのホームページで、[LDAP環境設定]タイルをクリックします。

  2. [LDAPグループ]をクリックします。

  3. [LDAPグループの変更]ページで、[クラスマップ]ドロップダウンをクリックします。

  4. 必要に応じてクラスを追加、削除、または変更します。

    デフォルトのLDAP Services for OpenText eDirectory環境設定には、事前定義されたクラスと属性のマッピングがあります。これは、LDAPクラスと属性のサブセットからOpenText eDirectoryクラスと属性のサブセットへのマッピングです。デフォルト環境設定でマッピングされていない属性またはクラスには、自動生成されたマッピングが割り当てられます。

    スキーマ名がスペースまたはコロンを含まない有効なLDAP名である場合は、マッピングは必要ありません。クラスおよび属性のマッピングを調べて、必要に応じて再設定します。

  5. [保存]をクリックします。

LDAPクラスと属性をマッピングする

LDAPディレクトリとOpenText eDirectoryディレクトリのスキーマは異なるため、LDAPクラスと属性を、適切なOpenText eDirectoryオブジェクトと属性へマッピングする必要があります。これらのマッピングで、LDAPスキーマからOpenText eDirectoryスキーマへの名前の変換を定義します。

有効なLDAPスキーマ名であれば、スキーマエントリに対するLDAPスキーママッピングは必要ありません。LDAPでは、スキーマ名で使用できる文字は英数字とハイフン記号(-)だけです。LDAPスキーマ名ではスペースは使用できません。

スキーマをLDAPの外部に拡張する場合、.schファイルなどLDAPの外部にスキーマを拡張した後でオブジェクトIDによる検索を確実に実行するには、LDAPサーバ環境設定をリフレッシュする必要があります。

多対一マッピング

OpenText eDirectoryからLDAPをサポートするために、LDAP Servicesは、(ディレクトリサービスレベルではなく)プロトコルレベルのマッピングを使用して、LDAPとOpenText eDirectoryの間で属性とクラスを変換します。したがって、2つのLDAPクラスまたは属性を同じOpenText eDirectoryクラスまたは属性にマッピングできます。

たとえば、LDAPを使用してCnを作成し、CommonName=Valueを検索すると、Cnと属性値が同じ可能性のあるcommonNameが返されます。

すべての属性を要求すると、そのクラスのマッピングリストの最初にある属性が返されます。名前で属性を要求すると、正しい名前が返されます。

多対一クラスマッピング

LDAPクラス名

eDirectoryクラス名

alias aliasObject

別名

groupOfNames groupOfUniqueNames group

グループ

mailGroup rfc822mailgroup

NSCP:mailGroup1

多対一属性マッピング

LDAP属性名

eDirectory属性名

c countryName

C

cn commonName

CN

uid userId

uniqueID (固有ID)

description multiLineDescription

説明

l localityname

L

member uniqueMember

Member (メンバー)

o organizationname

O

ou organizationalUnitName

OU

sn surname

Surname (名字)

st stateOrProvinceName

S

certificateRevocationList;binary certificateRevocationList

ndspkiCertificateRevocationList

authorityRevocationList;binary authorityRevocationList

authorityRevocationList

deltaRevocationList;binary deltaRevocationList

deltaRevocationList

cACertificate;binary cACertificate

cACertificate

crossCertificatePair;binary crossCertificatePair

crossCertificatePair

userCertificate;binary userCertificate

userCertificate

メモ:;binaryの付いた属性はセキュリティに関連しています。これらは、アプリケーションが;binaryを付けて取得された名前を必要とする場合のために、マッピングテーブル内に存在します。;binaryを付けずに取得した名前が必要な場合は、マッピングの順序を変更できます。

13.2.3 構文の相違

LDAPとOpenText eDirectoryでは使用される構文が異なります。次のような重要な相違点があります。

コンマ

LDAPでは、区切り記号としてピリオドではなくコンマを使用します。たとえば、OpenText eDirectoryの識別名(完全名)は次のように記述します。

  • CN=JANEB.OU=MKTG.O=EMA

LDAP構文を使用すると、同じ識別名は次のようになります。

  • CN=JANEB,OU=MKTG,O=EMA

また、次は別のLDAP識別名の例です。

  • CN=Bill Williams,OU=PR,O=Bella Notte Corp
  • CN=Susan Jones,OU=Humanities,O=University College London,C=GB

タイプ付きの名前

OpenText eDirectoryでは、タイプなしの名前(.JOHN.MARKETING.ABCCORP)とタイプ付きの名前(CN=JOHN.OU=MARKETING.O=ABCCORP)の両方を使用します。LDAPでは、区切り記号としてコンマを使用したタイプ付きの名前(CN=JOHN,OU=MARKETING,O=ABCCORP)だけを使用します。

エスケープ文字

LDAP識別名では、エスケープ文字として円記号(\)を使用します。1つの円記号とプラス記号(+)またはコンマ(,)を指定すると、識別名を拡張できます。

次に例を示します。

CN=Pralines\+Cream,OU=Flavors,O=MFG (CN is Pralines+Cream)

CN=D. Cardinal,O=Lionel\,Turner and Kaye,C=US (OはLionel、Turner、およびKaye)

詳細については、Internet Engineering Task ForceのRFC 2253を参照してください。

複数のネーミング属性

オブジェクトは、スキーマ内の複数のネーミング属性を使用して定義できます。LDAPとOpenText eDirectoryのユーザオブジェクトには、いずれもCNとUIDの2つのネーミング属性があります。識別名の中のネーミング属性は、プラス記号(+)で区切ります。属性に明示的なラベルが付いていない場合は、スキーマによりそれぞれの文字列に対応する属性が決定されます(eDirectoryとLDAPの両方で、最初の文字列はCN、次の文字列はUIDになります)。識別名の中の各部分に手動でラベルを付けると、ネーミング属性の順序を変更できます。

2つの相対識別名の例を次に示します。

Smith (CNはSmith CN=Smith)

Smith+Lisa (CNはSmith、UIDはLisa CN=Smith UID=Lisa)

2つの相対識別名(SmithとSmith+Lisa)は、2つの異なる相対識別名によって参照されるため、同じコンテキスト内に共存することができます。

13.2.4 サポートされるOpenText LDAPコントロールと拡張

LDAPクライアントとLDAPサーバは、LDAP 3プロトコルを使用することにより、コントロールと拡張を適用してLDAP操作を拡張できます。コントロールと拡張を使用することによって、要求や応答の一部として追加情報を指定できます。拡張された各操作は、自身の属性またはobjectclassをLDAPサーバに追加するのに必要な、オクテット数値の文字列であるオブジェクト識別子(OID)により識別されます。LDAPクライアントは、実行するべき拡張操作のOID、およびその拡張操作に固有なデータを指定して、拡張操作要求を送信できます。LDAPサーバはこの要求を受信すると、拡張操作を実行し、OIDと追加データが設定された応答をクライアントに送信します。

たとえば、クライアントがサーバに検索要求を送信するとき、ソートを指定するコントロールをこの要求に入れることができます。サーバはこの検索要求を受け取ると、検索結果をソートしてから、その結果をクライアントに戻します。コントロールはサーバからクライアントに送ることもできます。たとえば、サーバは、クライアントにパスワード期限切れを通知する認証要求のコントロールを送ることができます。

デフォルトでは、起動直後のOpenText eDirectory LDAPサーバは、すべてのシステム拡張ならびに選択されたオプション拡張およびコントロールをロードできる状態にあります。オプション拡張に対応するLDAPサーバオブジェクトのextensionInfo属性により、システム管理者は、オプション拡張およびコントロールの選択と選択解除ができます。

拡張操作を有効にするため、LDAP 3プロトコルはルートDSE内のsupportedControl属性およびsupportedExtension属性に含まれる、サポートされているコントロールと拡張のリストをサーバに要求します。ルートDSE (DSEはDSA (Directory System Agent) Specific (固有) Entry(エントリ)の略)とは、ディレクトリ情報ツリー(DIT)のルートにあるエントリです。詳細については、LDAPサーバの情報を取得するを参照してください。

サポートされているLDAPコントロールと拡張のリストについては、『LDAP and OpenText eDirectory Integration NDK』の「LDAP Controls 」と「LDAP Extensions」を参照してください。