40 DITマスキングの管理
40.1 DITマスキングについて
DITマスキングは、Oracle Internet Directoryサーバー・インスタンスで公開されるDITコンテンツの制限です。
DITマスキングによって、スーパーユーザーcn=orcladmin
以外のすべてのユーザーのアクセスが制限されます。マスキングは、通常、(ユーザーが接続しているOracle Internet Directoryサーバーのインタンスに基づいて)一部のユーザーにDITの特定の部分が表示されないようにするために使用します。異なるDITを表示する一般的な使用例として、テストと本番、内部ユーザーと外部ユーザーなどがあります。
Oracle Internet Directory 11g リリース1(11.1.1.7.0)以降では、特定のOracle Internet Directoryサーバー・インスタンスからコンテナを隠すのではなく、ディレクトリ全体から1つ以上のコンテナへのアクセスを禁止することもできます。
Oracle Virtual Directoryを使用してユーザーのDIT表示を制限することもできますが、パフォーマンスおよび管理のオーバーヘッドはDITマスキングの方が遥かに小さくなります。
40.2 DITマスキング構成属性
デフォルトでは、マスキングは構成されません。マスキングを構成するには、インスタンス固有の構成エントリの次の構成属性を使用します。
表40-1 構成属性のマスキング
属性 | 説明 |
---|---|
|
インスタンスで公開されるDITサブツリーが含まれます。構成された識別名およびその子は、インスタンス内で可視になります。DIT内の他のエントリは、すべてのLDAP操作に対してマスクされます(非表示になります)。 |
|
ディレクトリ全体に対して隠されたコンテナ内のDITサブツリーを含みます。 |
|
インスタンスで公開されるエントリがフィルタされます。フィルタ基準に一致するエントリは公開されます。他のエントリは、すべてのLDAP操作に対して非表示になります。 |
これらの属性は、インスタンス固有の構成エントリの他の属性と同じ方法で変更します。「ldapmodifyを使用したシステム構成属性の設定」を参照してください。
40.3 DITマスキングの構成
マスキングは、ディレクトリに存在するエントリを管理者が選択して公開するかまたは隠す場合に有用です。
次に、使用例を示します。
40.3.1 コンテナ名によるアクセス制限
この例では、このインスタンスから構成済コンテナpublicおよびexternal内のエントリのみが表示されるようになります。
次の階層を持つDIT設定について検討します。
cn=internal,o=oracle cn=external,o=oracle cn=public,o=oracle
internalコンテナには組織内部のエントリが含まれるため、アクセスを制限する必要があります。external
およびpublic
コンテナには、それぞれ外部ユーザーについてのデータ、およびすべてのユーザーがアクセスできる公開情報が含まれます。管理者は、組織のファイアウォールの外側ではexternal
およびpublic
データのみを利用できるようにする必要があります。これは、マスキングを使用して達成できます。ファイアウォールを介して公開されるポート上で実行するOracle Internet Directoryインスタンスを作成します(たとえば、oid2
)。このポートに接続するアプリケーションおよびユーザーに、アクセス可能なコンテンツのみが表示されるようにするには、次のLDIFファイルを使用して、ldapmodify
でcn=oid2
にマスキング・レルムを作成します。
dn: cn=oid2,cn=osdldapd,cn=subconfigsubentry changetype: modify add: orclmaskrealm orclmaskrealm: cn=external,o=oracle orclmaskrealm: cn=public,o=oracle
この例では、このインスタンスから構成済コンテナpublicおよびexternal内のエントリのみが表示されるようになります。このインスタンスに接続するアプリケーションおよびユーザーは、Internalコンテナおよびそのエントリを表示することはできません。
40.3.2 エントリ・データによるアクセス制限
別の使用例として、エントリに格納されているデータに基づいてエントリを制限する場合があります。ある組織に、従業員、契約社員および派遣社員に関するデータが存在しているとします。電子メール・クライアントなどのユーザー参照アプリケーションは、ディレクトリ・サーバー上のデータを参照して電子メール・アドレスを探します。管理者は、電子メール・クライアントからアクセスできるインスタンス(たとえば、cn=oid2
)内で、派遣社員の情報を非表示にし、従業員および契約社員のみが公開されるようにすることができます。
これは、次のLDIFファイルを使用し、ldapmodify
でマスキング・フィルタを構成することにより達成できます。
dn: cn=oid2,cn=osdldapd,cn=subconfigsubentry changetype: modify add: orclmaskfilter orclmaskfilter: (usertype=employee) orclmaskfilter: (usertype=contract)
この例では、usertype=employee
またはusertype=contract
のエントリが公開され、他のエントリは公開されなくなります。
40.3.3 ディレクトリ全体からのコンテナに対するアクセスの禁止
この例では、スーパー・ユーザー以外のユーザーが内部
コンテナのエントリにアクセスできないようにします。
次のコンテナを持つDIT設定について検討します。
cn=internal,o=oracle
次のLDIFファイルを使用してldapmodify
により、特定のインスタンスからコンテナを隠すのではなく、ディレクトリ全体からのこのコンテナに対するアクセスを禁止できます。
dn: cn=dsaconfig,cn=configsets,cn=oracle internet directory changetype: modify add: orclmaskrealm;disallowed orclmaskrealm;disallowed: cn=internal,o=oracle
この例では、internal
コンテナ内のすべてのエントリがLDAP操作についてスーパー・ユーザー(cn=orcladmin
)以外のユーザーによりアクセスできないようにします。