Red Hat Training

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

6.3.3.2. アクセス制御の評価

チェーンは、参照とは異なる方法でアクセス制御を評価します。参照では、クライアントのエントリーがすべてのターゲットサーバーに存在している必要があります。チェーンでは、クライアントエントリーはすべてのターゲットサーバー上にある必要はありません。

参照を使用した検索リクエストの実行

以下の図は、参照を使用したクライアントからサーバーへの要求を示しています。

図6.11 参照を使用したクライアント要求のサーバーへの送信

参照を使用したクライアント要求のサーバーへの送信
上記の図では、クライアントアプリケーションは以下の手順を実行します。
  1. クライアントアプリケーションは、最初にサーバー A にバインドします。
  2. サーバー A にはユーザー名とパスワードを提供するクライアントのエントリーが含まれるため、バインドの受け入れメッセージを返します。参照を機能させるためには、クライアントエントリーがサーバー A に存在する必要があります。
  3. クライアントアプリケーションは操作リクエストをサーバー A に送信します。
  4. ただし、サーバー A には要求された情報が含まれていません。代わりに、サーバー A は、サーバー B に連絡するよう指示するクライアントアプリケーションへの参照を返します。
  5. その後、クライアントアプリケーションはサーバー B にバインドリクエストを送信します。正常にバインドするには、サーバー B にクライアントアプリケーションのエントリーも含まれている必要があります。
  6. バインドに成功し、クライアントアプリケーションは検索操作をサーバー B に再送信できるようになりました。
この方法では、サーバー B が、サーバー A からのクライアントのエントリーの複製コピーを持つ必要があります。

チェーンを使用した検索リクエストの実行

サーバー間でクライアントエントリーを複製する問題は、チェーンを使用して解決されます。チェーンシステムでは、検索リクエストは応答があるまで複数回転送されます。

図6.12 チェーンを使用したクライアント要求のサーバーへの送信

チェーンを使用したクライアント要求のサーバーへの送信
上記の図で、以下の手順が実行されます。
  1. クライアントアプリケーションがサーバー A にバインドすると、サーバー A はユーザー名とパスワードが正しいかどうかを確認しようとします。
  2. サーバー A にはクライアントアプリケーションに対応するエントリーが含まれません。代わりに、クライアントの実際のエントリーが含まれるサーバー B へのデータベースリンクが含まれます。サーバー A はバインドリクエストをサーバー B に送信します。
  3. サーバー B はサーバー A に受け入れ応答を送信します。
  4. 次に、サーバー A はクライアントアプリケーションのリクエストをデータベースリンクを使用して処理します。データベースリンクは、サーバー B にあるリモートデータストアに問い合わせ、検索操作を処理します。
チェーンシステムでは、クライアントアプリケーションに対応するエントリーは、クライアントが要求するデータと同じサーバーに置く必要はありません。

図6.13 異なるサーバーを使用したクライアントの認証およびデータの取得

異なるサーバーを使用したクライアントの認証およびデータの取得
この図では、以下の手順が実行されます。
  1. クライアントアプリケーションがサーバー A にバインドすると、サーバー A はユーザー名とパスワードが正しいかどうかを確認しようとします。
  2. サーバー A にはクライアントアプリケーションに対応するエントリーが含まれません。代わりに、クライアントの実際のエントリーが含まれるサーバー B へのデータベースリンクが含まれます。サーバー A はバインドリクエストをサーバー B に送信します。
  3. サーバー B はサーバー A に受け入れ応答を送信します。
  4. サーバー A は次に別のデータベースリンクを使用して、クライアントアプリケーションのリクエストを処理します。データベースリンクは、サーバー C にあるリモートデータストアに問い合わせ、検索操作を処理します。

サポートされないアクセス制御

データベースリンクは、以下のアクセス制御をサポートしません。

  • ユーザーエントリーが別のサーバーにある場合、ユーザーエントリーのコンテンツにアクセスする必要のあるコントロールはサポートされません。これには、グループ、フィルター、およびロールに基づくアクセス制御が含まれます。
  • クライアント IP アドレスまたは DNS ドメインに基づいた制御は拒否される可能性があります。これは、データベースリンクがリモートサーバーに問い合わせする際に、クライアントになりすますためです。リモートデータベースに IP ベースのアクセス制御が含まれている場合は、元のクライアントドメインではなく、データベースリンクのドメインを使用して評価されます。