Red Hat Training

A Red Hat training course is available for Red Hat Directory Server

2.4.3. コマンドラインからのカスケード連鎖の設定

コマンドラインでデータベースリンクのカスケードを設定するには、以下を実行します。
  1. 中間データベースリンクが含まれるサーバーの URL に 1 つのデータベースリンクを指定します。
    カスケード連鎖を作成するには、あるデータベースリンクの nsFarmServerURL 属性には、別のデータベースリンクが含まれるサーバーの URL が含まれている必要があります。example1.com と呼ばれるサーバーのデータベースリンクが、africa.example.com と呼ばれるサーバーのデータベースリンクを参照するとします。たとえば、Server 1 のデータベースリンクの cn= database_link, cn=chaining database,cn=plugins,cn=configエントリーには以下が含まれます。
    nsFarmServerURL: ldap://africa.example.com:389/
  2. プロキシー認証制御を送信するように、中間データベースリンクまたはリンク(例: Server 2)を設定します。
    デフォルトでは、データベースリンクは Proxy Authorization Control を送信しません。ただし、1 つのデータベースリンクが別の接続する場合、このコントロールは最終的な送信先サーバーに必要な情報を送信するために使用されます。中間データベースリンクはこの制御を送信する必要があります。プロキシー承認制御を送信するようにデータベースリンクを設定するには、中間データベースリンクの cn=config,cn=chaining database,cn=plugins,cn=config エントリーに以下を追加します。
    nsTransmittedControls: 2.16.840.1.113730.3.4.12
    OID 値は Proxy Authorization Control を表します。LDAP 制御チェーンの詳細は、「LDAP 制御チェーン」 を参照してください。
  3. すべての中間データベースリンクに、プロキシー管理ユーザー ACI を作成します。
    ACI は、要求を別のサーバーに変換する前に、最初のデータベースリンクの権限を確認する中間データベースリンクが含まれるサーバーに存在している必要があります。たとえば、Server 2 が Server 1 の認証情報を確認しない場合、ユーザーは 匿名 としてバインドし、プロキシー認証制御を渡し、適切よりも多くの管理権限を許可できます。プロキシー ACI はこのセキュリティー違反を防ぎます。
    1. 中間データベースリンクが含まれるサーバーにデータベースがない場合は、データベースを作成します。このデータベースには、admin ユーザーエントリーおよび ACI が含まれます。データベースの作成に関する詳細は、「データベースの作成」 を参照してください。
    2. データベースの管理ユーザーに対応するエントリーを作成します。
    3. 適切な接尾辞をターゲットとする管理ユーザーの ACI を作成します。これにより、管理者はデータベースリンクの接尾辞にのみアクセスできます。以下に例を示します。
      aci: (targetattr = "*")(version 3.0; acl "Proxied authorization for database links";
            allow (proxy) userdn = "ldap:///cn=proxy admin,cn=config";)
      この ACI は、簡単なチェーンの設定時にリモートサーバーに作成された ACI と似ています。
    警告
    ディレクトリーの制限された領域へのアクセス権限を付与しないようにチェーンを有効にする場合は、アクセス制御を慎重に検討します。たとえば、ブランチにデフォルトのプロキシー ACI が作成されると、データベースリンク経由で接続するユーザーは、ブランチの下にあるすべてのエントリーを表示できます。ユーザーがすべてのサブツリーを表示する必要がない場合もあります。セキュリティーホールを回避するには、追加の ACI を作成して、サブツリーへのアクセスを制限します。
  4. すべての中間データベースリンクで、ローカル ACI 評価を有効にします。
    プロキシー管理 ACI が使用されていることを確認するには、チェーンに関連するすべての中間データベースリンクのローカル ACI の評価を有効にします。以下の属性を、各中間データベースリンクの cn=database_link, cn=chaining database,cn=plugins,cn=config エントリーに追加します。
    nsCheckLocalACI: on
    cn =default instance config,cn=chaining database,cn=plugins,cn=config エントリーでこの属性を on に設定すると、すべての新規データベースリンクインスタンスが cn= database_link, cn=chaining database, cn=plugins,cn=config エントリーで nsCheckLocalACI 属性が設定されることを意味します。
  5. すべての中間データベースリンクおよび最終的な宛先データベースにクライアント ACI を作成します。
    ローカル ACI の評価が有効になっているため、適切なクライアントアプリケーション ACI をすべての中間データベースリンクおよび最終的な宛先データベースに作成する必要があります。中間データベースリンクでこれを行うには、まず最終的な宛先接尾辞のルート接尾辞を表す接尾辞が含まれるデータベースを作成します。
    たとえば、c =africa,ou=people,dc=example,dc=com 接尾辞に対して行われたクライアントの要求がリモートサーバーにチェーンされている場合、すべての中間データベースリンクに dc=example,dc=com 接尾辞に関連付けられたデータベースを含める必要があります。
    この上位接尾辞エントリーにクライアント ACI を追加します。以下に例を示します。
    aci: (targetattr = "*")(version 3.0; acl "Client authentication for database link users";
          allow (all) userdn = "ldap:///uid=* ,cn=config";)
    この ACI により、Server 1 の cn=config エントリーに uid を持つクライアントアプリケーションが、サーバー 3 の ou=people,dc=example,dc=com 接尾辞の下にあるデータに対して、あらゆる種類の操作を実行できます。