Oracle Content DBでは、Oracle Internet Directory、サード・パーティのLDAPソリューション(iPlanet、Open LDAPなど)、ファイルベースのユーザー・リポジトリの3種類のユーザー・リポジトリがサポートされています。この章では、各種ユーザー・リポジトリをOracle Content DBと使用する方法について説明します。
ここでは、次の内容について説明します。
Oracle Internet Directory(Oracle Identity Managementの一部)は、Oracle Content DBのユーザー・リポジトリとして使用できます。Oracle Internet Directoryは汎用ディレクトリ・サービスで、使用すると分散したユーザーおよびネットワーク・リソースに関する情報を一元管理して迅速に取得できるようになります。また、LDAPバージョン3とOracle Databaseの高いパフォーマンス、スケーラビリティ、堅牢性および可用性を融合できます。
Oracle Internet DirectoryをOracle Content DBのユーザー・リポジトリとして使用するには、まず、Oracle Identity Managementが含まれているOracleAS Infrastructureをインストールする必要があります。少なくともOracle Internet Directoryはインストールする必要があります。次に、Oracle Content DBのインストール時に、Oracle Internet Directoryに関する必要な情報を指定します。
ここでは、次の内容について説明します。
Oracle Internet DirectoryをOracle Content DBのユーザー・リポジトリとして使用している場合、Oracle Content DBへの初回ログインには、ユーザー名およびパスワードとしてorcladmin
を使用します。このユーザーは、アプリケーション管理ロールをすべて保持しています。
Oracle Internet Directoryに追加のユーザーを作成し、それらのユーザーがOracleContentDBにログインした後、必要に応じて他のユーザーにアプリケーション管理ロールを委譲することもできます。
Oracle Internet Directory内のユーザーは、各種管理ツールを使用して管理できます。たとえば、ldapadd
およびldapmodify
などのOracle Internet Directoryのコマンドライン・ツール、Oracle Internet Directoryセルフ・サービス・コンソール(oiddas
)あるいはOracle Directory Managerなどを使用できます。
関連資料:
|
Oracle Content DBでは、次のサード・パーティLDAPソリューションがサポートされています。
サード・パーティのLDAPソリューションをOracle Content DBのユーザー・リポジトリとして使用するには、まず、サード・パーティのLDAPサーバーをインストールする必要があります。次に、Oracle Content DBのインストール時に、サード・パーティのLDAPサーバーに関する必要な情報を入力します。
Oracle Content DBでサポートされているサード・パーティLDAPソリューションの詳細は、『Oracle Application Server動作要件情報』を参照してください。
注意: インストール時に、Oracle Content DBとサード・パーティLDAPサーバー間の通信に対してSSLを構成することはできません。Oracle Content DBとサード・パーティLDAPサーバー間の通信に対するSSLの設定は、インストール後にのみできます。詳細は、「Oracle Content DBとLDAPサーバー間でのサーバーのみSSLの設定」を参照してください。 |
ここでは、次の内容について説明します。
サード・パーティのLDAPサーバーをOracle Content DBのユーザー・リポジトリとして使用している場合、Oracle Content DBへの初回ログインには、Oracle Content DBのインストール時に指定したユーザー名およびパスワードを使用します。このユーザーは、アプリケーション管理ロールをすべて保持しています。
ユーザー・リポジトリに追加のユーザーを作成し、それらのユーザーがOracleContentDBにログインした後、必要に応じて他のユーザーにアプリケーション管理ロールを委譲することもできます。
Oracle Content DBではファイルベースのユーザー・リポジトリを使用することもできます。ファイルベースのユーザー・リポジトリは、ユーザー・データを各中間層のコンピュータ上のファイルに格納します。ファイルベースのユーザー・リポジトリをOracle Content DBのユーザー・リポジトリとして使用するには、Oracle Content DBのインストール時に「ユーザー・リポジトリの指定」画面で「ファイルベース」を選択します。
ここでは、次の内容について説明します。
Oracle Content DBでファイルベースのユーザー・リポジトリを使用している場合、Oracle Content DBへの初回ログインには、ユーザー名としてcontentadmin
を使用します。このユーザーのパスワードは、Oracle Content DBのスキーマ・パスワードと同じです。このユーザーは、アプリケーション管理ロールをすべて保持しています。
追加のユーザーを作成し、それらのユーザーがOracleContentDBにログインした後、必要に応じて他のユーザーにアプリケーション管理ロールを委譲することもできます。
LDAPベースのユーザー・リポジトリ(Oracle Internet Directory、サード・パーティのLDAPソリューションなど)では、ユーザー認証の際に照会されるユーザー・リストが一元化されます。一方、ファイルベースのユーザー・リポジトリでは、各中間層のjazn-data.xml
ファイルにユーザー・リストが格納されます。jazn-data.xml
ファイルは、ORACLE_HOME
/content/settings
にあります。
このため、Oracle Content DB中間層が複数ある場合、各中間層のjazn-data.xml
ファイルの同期が常に保たれる必要があります。たとえば、ファイルベースのユーザー・リポジトリでユーザーを追加、変更または削除する際には、すべての中間層でそのユーザーを追加、変更または削除する必要があります。
この制限のため、本番環境システムには、ファイルベースのユーザー・リポジトリを使用しないことをお薦めします。本番環境のOracle Content DBの配置には、Oracle Internet Directoryまたはサード・パーティのLDAPソリューションを使用してください。
ファイルベースのユーザー・リポジトリでのユーザーの管理には、Application Server Controlを使用できます(推奨)。あるいは、OracleAS JAAS Provider Admintoolを使用することもできます。
ファイルベースのユーザー・リポジトリでユーザーを管理するのに最適な方法は、Application Server Controlを使用する方法です。たとえば、Application Server Controlを使用してユーザーを追加するには、次の手順を実行します。
Application Server Controlに接続します。
「クラスタ・トポロジ」ページの「メンバー」表で、「OC4J_Content」リンクをクリックします。
「管理」タブをクリックします。
表の「セキュリティ・プロバイダ」行で、「セキュリティ」ヘッダーの下の「タスクに移動」アイコンをクリックします。
「アプリケーション・レベルのセキュリティ」セクションの表の「content」行で、「編集」アイコンをクリックします。「content」リンクはクリックしないでください。
「レルム」タブをクリックします。
ContentDBレルムの「ユーザー」列で、レルム内のユーザー数を示す数値をクリックします。
「作成」をクリックします。
フィールドに必要な値を入力します。スラッシュ(/)文字を含むユーザー名は作成しないでください。
中間層が複数ある場合は、他の中間層のOC4J_Contentインスタンスについて、これらの手順を繰り返します。
関連資料: Application Server Controlを使用してファイルベースのユーザー・リポジトリのユーザーを管理する方法の詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。 |
ファイルベースのユーザー・リポジトリでのユーザーの管理には、OracleAS JAAS Provider Admintoolを使用することもできます。Admintoolは、ファイルベースのユーザー・リポジトリでユーザー、ロール、ポリシーおよびログイン・モジュールを管理するための軽量のJavaアプリケーションです。ただし、Admintoolによって加えた変更を有効にするには、OC4J_Content
を再起動する必要があります。
Admintoolでは、Oracle Content DBが実行されていない場合でもユーザーを追加、変更および削除できます。
Admintoolの機能は、コマンドラインから直接コールするか、対話型シェルを使用してコールすることができます。Admintoolは、ORACLE_HOME
/j2ee/home/jazn.jar
にあります。
一般的なコマンドライン構文は次のとおりです。
% java -jar jazn.jar [-user username -password pwd] [option1 option2 ... ]
次の例は、対話型シェルを使用してユーザーを追加する方法を示しています。
% java -jar jazn.jar -shell AbstractLoginModule username : oc4jadmin AbstractLoginModule password : admin_password JAZN:> adduser jazn.com user_name user_password
関連資料: OracleAS JAAS Provider Admintoolの使用方法の詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。 |
ユーザーが初めてOracle Content DBにログインすると、ユーザー・プロビジョニングが行われます。ユーザーは、初めてログインするまでプロビジョニングされないため、ユーザー・リポジトリには存在していてもOracle Content DBで使用できないことがあります。
たとえば、ユーザーをユーザー・リポジトリに追加した後で、そのユーザーをOracle Content DBの特定のライブラリに追加しようと思ったとします。そのような場合、ユーザーが初めてログインするまで、ユーザーの検索および追加はできません。
Oracle Content DB内でのユーザー検索はすべて、Oracle Content DBですでにプロビジョニングされているユーザーのリストに対して行われます。実際のユーザー・リポジトリに対してはユーザー検索は行われません。
ユーザー・リポジトリでユーザーを削除した後には、deleteuser
スクリプトを実行してOracle Content DBスキーマからそのユーザーを削除する必要があります。このスクリプトは、Oracle Internet Directory、サード・パーティのLDAPソリューション、ファイルベースのユーザー・リポジトリのいずれを使用しているかに関係なく実行する必要があります。
ORACLE_HOME/content/bin
スクリプトを使用するには、次の手順を実行します。
ユーザー・リポジトリから削除したユーザーの名前をリストしたテキスト・ファイルを作成します。次に例を示します。
john.smith jane.doe
注意: ユーザー名の形式は、ユーザー・リポジトリで使用される形式によって異なります(bob 、john.smith 、jane.doe@mydomain.com など)。必ずユーザー・リポジトリと同じ形式でユーザー名を指定してください。つまり、Oracle Content DBへのログインに使用される実際のユーザー名をリストします。 |
コマンドラインで、ORACLE_HOME
/content/bin
に移動します。
次のコマンドを実行します。
./deleteuser ORACLE_HOME input_file
ORACLE_HOME
には、Oracleホームのフルパス名を指定します。input_file
には、手順1で作成したファイルの名前およびパスを指定します。次に例を示します。
./deleteuser $ORACLE_HOME $ORACLE_HOME/content/bin/userstobedeleted.txt
Oracle Content DBのすべてのファイルはライブラリに存在するため、ユーザーはコンテンツを所有していません。すべてのコンテンツは、コンテンツのあるライブラリに属します。ユーザーをOracle Content DBから削除しても、ユーザーがアップロードしたデータはOracle Content DBリポジトリに残されます。
削除したユーザーの個人ライブラリの削除が必要な場合もあります。この場合は、Oracle Content DBにコンテンツ管理者ロールを持つユーザーとしてサインオンし、管理モードに切り替えてください。次に、目的の個人ライブラリにナビゲートして削除します。
Oracle Content DB Webクライアントでは、ユーザー情報は、「ユーザー・プロファイル」画面と「ユーザー・プリファレンス」画面の2箇所に表示されます。前者はユーザー管理者のみが使用でき、後者はすべてのユーザーが使用できます。
Oracle Content DB Webクライアントでは、ユーザー管理者は、管理モードで各ユーザーのユーザー・プロファイル情報を表示できます。表示されるフィールドは次のとおりです。
ユーザー名
名
姓
電子メール・アドレス
個人ライブラリ
ユーザー・リポジトリにLDAPサーバー(Oracle Internet Directoryまたはサード・パーティのLDAPサーバー)を使用している場合、これらの値の一部はLDAPサーバーによって指定されます。LDAPサーバーによって指定された値は、Oracle Content DBでは読取り専用です。これらのプリファレンスを更新するには、LDAPサーバーの情報を更新する必要があります。その後、ユーザー接続エージェントによってOracle Content DBの情報が更新されます。ただし、ユーザー管理者が特定のユーザーの情報をOracle Content DB Webクライアントから手動で更新することはできます。
LDAPサーバーによって指定された値以外のユーザー・プロファイルの値は、ユーザー管理者がOracle Content DBで更新できます。これらの値は、Oracle Content DBにしか存在せず、ユーザー・リポジトリには存在しません。
ユーザー・プロファイルと同様に、ユーザーはOracle Content DB Webクライアントでプリファレンスを表示できます。ユーザー・リポジトリにLDAPサーバー(Oracle Internet Directoryまたはサード・パーティのLDAPサーバー)を使用している場合、これらの値の一部はLDAPサーバーによって指定されます。LDAPサーバーによって指定された値は、Oracle Content DBでは読取り専用です。これらのプリファレンスを更新するには、LDAPサーバーの情報を更新する必要があります。その後、ユーザー接続エージェントによってOracle Content DBの情報が更新されます。ただし、ユーザーが自分のプロファイル情報をOracle Content DB Webクライアントから手動で更新することはできます。
LDAPサーバーによって指定された値以外のユーザー・プリファレンスは、Oracle Content DBで更新できます。これらの値は、Oracle Content DBにしか存在せず、ユーザー・リポジトリには存在しません。
ファイルベースのユーザー・リポジトリをOracle Content DBのユーザー・リポジトリとして使用している場合、「名」、「姓」および「電子メール・アドレス」のユーザー・プロファイル値をユーザーの作成時に指定する方法はありません。これらの値を設定するには、Oracle Content DB Webクライアントにユーザー管理者としてログインし、管理モードに切り替えます。それから、追加した各ユーザーのユーザー・プロファイルにアクセスしてこれらの属性を設定します。
エンド・ユーザーが、「名」、「姓」および「電子メール・アドレス」の値を指定することはできません。ユーザー管理者のみがこれらの値を編集できます。