Oracle Containers for J2EE
セキュリティ・ガイド
10g(10.1.3.4.0) B50832-01 |
|
Oracle Application Serverでは、Oracle Internet Directoryおよび(オプションで)Oracle Single Sign-Onを使用するOracle Identity Managementが、LDAPベースのセキュリティ・プロバイダになります。
この章では、Oracle Identity Managementをセキュリティ・プロバイダとして使用しているかまたは使用を計画している読者を対象として、Oracle Identity ManagementとOC4Jの統合について説明します。内容は次のとおりです。
OC4JでOracle Identity Managementを使用する場合は、次の点に注意してください。
oracle.security.jazn.realm
の場合、APPLICATION_REALM
およびEXTERNAL_REALM
は、RealmType
クラスで非推奨であり、_extRealm
および_appRealm
は、InitRealmInfo
クラスで非推奨です。外部レルムおよびアプリケーション・レルムは、今後のリリースではサポート対象外になります。
LDAPLoginModule
があります。ただし、Oracle Internet Directoryに対しては、デフォルトのRealmLoginModule
を使用します。(Oracle Internet Directoryに対してLDAPLoginModule
を使用するように構成すると、本来備わっている最適化状態と統合機能が失われることになります。)
注意
関連項目
oc4jadmin
以外の管理者アカウントを使用する場合は、「新しい管理者アカウントの作成」を参照してください。
Oracle Identity Managementは、分散型エンタープライズ・アプリケーションを保護する企業インフラストラクチャとなります。これは、LDAPベースOracle Internet Directory、Oracle Single Sign-On、および追加のセキュリティとユーザー管理機能から構成される統合パッケージです。
Oracle Identity Managementをセキュリティ・プロバイダとして使用するには、基盤となるOracle Internet DirectoryおよびOracle Single Sign-Onについて考慮する必要があります。この項では、これらの機能の概要について説明します。この項の内容は次のとおりです。
Oracle Internet Directoryには、次に示すような、Windowsとの統合機能、パスワード・ポリシー・オプション、部分レプリケーションなどの重要なセキュリティ機能が用意されています。
Oracle Internet DirectoryをOC4J 10.1.3.x実装で使用する場合は、Basic、Digest、CLIENT-CERT、Usernameトークン、X.509トークン、SAMLトークンの各認証方式がサポートされます。
識別名またはDNという用語を、この章では頻繁に使用します。これは標準LDAPの概念です。DNは、カンマで区切られた1つ以上の相対識別名(RDN)のセットです。次のいずれかをRDNとして使用できます。
この章では、一般名またはドメイン・コンポーネントで構成されるRDNが最も多く使用されています。一般名の例としては、Jeff SmithやOracleなどがあげられます。
Oracle Single Sign-Onは、マルチレベル認証をサポートしています。複数の認証メカニズムを設定できます。また、シングル・サインオン対応アプリケーションに対するユーザーの認証方法を指示します。アプリケーション側では、認証方法に応じて、ユーザーに異なる権限を付与できます。
たとえば、パスワード認証の場合は、部分的な権限をユーザーに付与し、より強力なX.509v3などの認証方法を使用する場合は、より完全な権限を付与できます。
グローバル・ログアウトおよびセッション・タイムアウトもサポートされています。
Oracle Single Sign-Onを使用すると、ユーザーは1組のログイン資格証明を使用して、複数のアプリケーションにアクセスできます。図8-1に、SSO対応のJ2EE環境で動作するアプリケーションにおけるJAAS統合を示します。
Oracle Single Sign-On対応のJ2EE環境でHTTPクライアント・リクエストが開始された場合、Oracleコンポーネントにより、次の各ステップが実行されます。
mod_osso
がリクエストを受信して、次の処理を実行します。
Oracle Identity Managementは、Oracle Application Serverインフラストラクチャの構成要素です。Oracle Identity Managementをセキュリティ・プロバイダとして使用するには、適切なリリースをインフラストラクチャとしてインストールする必要があります。これはOC4Jとは別のORACLE_HOME
に格納されます。
OC4J 10.1.3.1実装でOracle Identity Managementを(Oracle Internet Directoryとともに)OracleAS JAAS Provider下でセキュリティ・プロバイダとして使用する場合、サポートされるOracle Application Serverインフラストラクチャのリリースは、10.1.2.0.1、10.1.2.0.2、10.1.4.xです。
Oracle Application Serverインフラストラクチャのインストールの詳細は、各プラットフォームに対応するOracle Application Serverのインストレーション・ガイドを参照してください。
この項では、Oracle Identity Managementをセキュリティ・プロバイダとして設定し、オプションでOracle Single Sign-Onを認証に使用するための手順を示します。
この項では、Oracle Internet DirectoryインスタンスとOC4Jインスタンスの関連付けの手順を説明します。この手順は、Oracle Identity Managementをセキュリティ・プロバイダとして指定する前に、実行する必要があります。また、対応するXML構成も示します。この項目の内容は次のとおりです。
Application Server Controlコンソールを使用して、Oracle Identity ManagementのリポジトリであるLDAPベースのOracle Internet Directory(OID)のインスタンスに、OC4Jインスタンスを関連付けます。手順は次のとおりです。
myoid.oracle.com
)を指定します。
cn=orcladmin
など、Oracle Internet Directoryユーザーの識別名を指定します(後述の注意を参照)。ここで指定するユーザーは、Oracle Internet DirectoryインスタンスのiASAdmins
ロールに属している必要があります。
oc4jadmin
ユーザーのデフォルト・パスワードとしても設定されます(ただし、別のOC4JインスタンスがOracle Internet Directoryインスタンスに関連付けられていたためにoc4jadmin
アカウントがあらかじめ作成されている場合は除きます)。
作業終了後、次のページに進みます。
作業が終了したら、「構成」を選択します。これにより、OC4JとOIDの関連付けのプロセスが完了し、「アイデンティティ管理」ページが再表示されます。
注意
|
この項では、別のOracle Internet Directoryインスタンスを使用するため、あるいはポートやSSLの構成を変更するために、OC4JとOIDの関連付けを変更する手順を説明します。Oracle Internet Directoryに、新しいOracleAS JAAS Provider管理者アカウント(内部で使用)が作成されます。
デフォルトでは、Oracle Internet Directoryには、OC4J実装およびApplication Server Control 10.1.3.x実装で必要となる特定のアカウントは含まれません。このため、OC4JとOIDの関連付けプロセスの一環として、次のアカウントが、デフォルトのアイデンティティ管理レルムの下に自動的に作成されます。これは、初めてOC4JインスタンスをOracle Internet Directoryインスタンスと関連付けしたときに行われます。この後で、同じOracle Internet Directoryインスタンスに対して同一または別のOC4Jインスタンスを関連付けした場合でも、次のアカウントは変更できません。実際に、OC4JとOIDの関連付けプロセスの時点で、これらのアカウントのいずれかがすでにOracle Internet Directoryに存在することが検出された場合は、アカウント作成の手順がスキップされます。
oc4jadmin
ユーザー
oc4jadmin
を含んだoc4j-administrators
ロール
oc4j-app-administrators
ロール
oc4jadmin
を含んだascontrol_admin
(Application Server Controlを含めたすべてのSOAコントロールの管理ロール)
ascontrol_appadmin
(Application Server Controlの必須ロール)
ascontrol_monitor
(Application Server Controlの必須ロール)
OC4JとOIDの関連付けは、OC4J home
インスタンス・レベルで有効です。OC4JとOracle Internet Directoryの関連付けを行うと、場所、ユーザー、パスワード、LDAPプロトコルの構成が、OC4J home
インスタンスのjazn.xml
ファイルに反映されます。サンプルのエントリを示します。
<jazn provider="LDAP" location="ldap://myoid.oracle.com:389" default-realm="us" > <property name="ldap.user" value="orclApplicationCommonName=jaznadmin1,cn=JAZNContext,cn=products, cn=OracleContext"/> <property name="ldap.password" value="{903}3o4PTHbgMzVlzbVfKITIO5Bgio6KK9kD"/> <property name="ldap.protocol" value="no-ssl"/> </jazn>
デフォルト・レルムus
は、Oracle Internet Directoryのデフォルトのアイデンティティ管理レルムに対応します。サポートされるldap.protocol
設定は、SSL接続の使用有無に応じて、ssl
またはno-ssl
のいずれかになります。デフォルトでは、SSLが使用されます。したがって、Application Server Controlを使用する際にSSLを指定すると、実際にはldap.protocol
設定は無効になります。
複数のOC4Jインスタンスが存在する環境(SOAインストール環境におけるhomeインスタンスやSOAインスタンスなど)でOracle Internet Directoryを使用する場合は、前述(「Oracle Internet DirectoryとOC4Jの関連付け」)のOC4JとOIDを関連付ける手順の実行後、関連する<jazn>
要素の構成を、home
インスタンスのjazn.xml
ファイルから他のインスタンスのjazn.xml
ファイルに手動でコピーする必要があります。これには、provider
属性およびlocation
属性の設定と、<property>
サブ要素内の関連プロパティの設定が含まれます。
前述の例をもう一度示します。
<jazn provider="LDAP" location="ldap://myoid.oracle.com:389" default-realm="us" > <property name="ldap.user" value="orclApplicationCommonName=jaznadmin1,cn=JAZNContext,cn=products, cn=OracleContext"/> <property name="ldap.password" value="{903}3o4PTHbgMzVlzbVfKITIO5Bgio6KK9kD"/> <property name="ldap.protocol" value="no-ssl"/> </jazn>
この構成をすべてコピーする必要があります。ただし、コピー先インスタンスのjazn.xml
ファイル内で、特別な設定を上書きしないように注意してください。
この手順は、Oracle Identity ManagementでOracle Single Sign-On機能を使用する場合にのみ必要です。この項目の内容は次のとおりです。
このSSOとJava SSOを混同しないでください。Java SSOは別の機能です(第14章「OC4J Javaシングル・サインオン」を参照)。どちらか一方のSSO製品を使用できますが、両方を使用することはできません。
重要
Oracle Single Sign-Onを構成するための最初の作業は、使用するアプリケーションをパートナ・アプリケーションとして、インフラストラクチャ内のシングル・サインオン・サーバーに登録することです。この手順はインストール後に実行します。この登録を行うには、インフラストラクチャのインストール環境(SSOサーバー・システム)でssoreg
ユーティリティを実行し、(不明瞭化している)osso.conf
ファイルを作成します。
ssoreg
ユーティリティは、Linux版インストールではORACLE_HOME
/sso/bin/ssoreg.sh
であり、Windows版インストールではORACLE_HOME
¥sso¥bin¥ssoreg.bat
です。
ここでは、この用途で必要となるssoreg
オプションの構文を説明します。オプションは、表8-1で説明しています。
-oracle_home_path path -site_name name -config_mod_osso TRUE -mod_osso_url url -remote_midtier -config_file path
次に例を示します($ORACLE_HOME
が正しく設定されている場合)。
% $ORACLE_HOME/sso/bin/ssoreg.sh -oracle_home_path $ORACLE_HOME \ -site_name myhost.mydomain.com -config_mod_osso TRUE \ -mod_osso_url http://myhost.mydomain.com:7777 -remote_midtier \ -config_file $ORACLE_HOME/Apache/Apache/conf/osso/osso.conf
SSO登録時に作成されたosso.conf
ファイル(インストール後はインフラストラクチャのインストール環境に存在)を、FTPなどの手段でOC4J中間層の所定の場所に転送します。
SSO登録プロセスを実行するため、OC4Jのインストールから、osso.conf
ファイルの場所付きでスクリプトosso1013
を実行します。
% osso1013 path/osso.conf
このスクリプトは、ORACLE_HOME
/Apache/Apache/bin
ディレクトリにあります。
Windowsでは、Perlを介して実行する必要があります。
% perl osso1013 path/osso.conf
Webアプリケーションが、Oracle Identity Managementセキュリティ・プロバイダおよびOracle Single Sign-On(ログイン、タイムアウトおよびログアウト・サービスとして稼働)とともに使用される場合、OC4J 10.1.3.x実装は、OracleAS JAAS Providerユーザー・コンテキストとサーブレット・セッションの同期をサポートします。
この同期を行うと、SSOログアウトまたはタイムアウトが発生した後でも、ユーザーが保護リソースへのアクセスを試行した場合、再びSSOログイン・プロンプトが表示されます。(パブリック・リソースにのみアクセスを試行している場合は表示されません。)
デフォルトでは、この同期は無効になっています。有効に(または明示的に無効に)するには、単独のWebアプリケーションの構成に使用されるorion-application.xml
ファイルまたはorion-web.xml
ファイルにある<jazn-web-app>
要素で設定可能なプロパティsso.session.synchronize
を介して行います。特定のWebアプリケーションで設定が競合する場合は、orion-web.xml
の設定が優先されます。
次に、orion-application.xml
で同期を有効にする例を示します。
<orion-application ... > ... <jazn ... > ... <jazn-web-app auth-method="SSO" > <property name="sso.session.synchronize" value="true" /> </jazn-web-app> ... </jazn> ... </orion-application>
sso.session.synchronize
プロパティをtrue
に設定した場合は、ldap.cache.session.enable
プロパティもtrue
に設定する必要があります。次に例を示します。
<jazn-web-app auth-method="SSO"> <property name="sso.session.synchronize" value="true" /> <property name="ldap.cache.session.enable" value="true" /> </jazn-web-app>
同期機能は、セッションに応じて前に格納された認証済ユーザーを取得し、LDAPセッション・キャッシュが有効であることを前提としています。ldap.cache.session.enable
プロパティをfalse
に設定すると、セッションを使用して認証済ユーザーを格納することは事実上無効になります。Oracle Internet Directoryキャッシング・プロパティの設定方法の詳細は、「LDAPキャッシング・プロパティの構成」を参照してください。
登録を有効にするには、Oracle HTTP ServerおよびOC4Jを再起動する必要があります。
この項では、Application Server Controlコンソールを使用して、Oracle Identity Managementをアプリケーションのセキュリティ・プロバイダとして指定する手順を説明します。この項目の内容は次のとおりです。
前述したOC4JとOIDの関連付けが完了している場合は、Application Server Controlを介してアプリケーションをデプロイする際に、Oracle Identity Management(LDAPベース・プロバイダ)をセキュリティ・プロバイダとして指定できます。
「デプロイ: デプロイ設定」ページで、次の手順を実行します(このページへのナビゲート方法は、「Application Server Controlを介したアプリケーションのデプロイ」を参照してください)。
auth-method="SSO"
が、アプリケーションのorion-application.xml
に追加されます。「Oracle Single Sign-On認証に対するOC4J構成」を参照してください。重要: この操作を、別の機能であるJava SSO(第14章「OC4J Javaシングル・サインオン」を参照)を有効にする操作と混同しないでください。Java SSOには独自のApplication Server Control構成ページがあります。どちらか一方のSSO製品を使用できますが、両方を使用することはできません。
jazn
ディスクリプタに対して「jaznの編集」を選択します。
jaasMode
属性が適切に設定されていることを確認します(たとえば、アプリケーションがdoAsPrivileged
を必要としている場合はそのモードに設定されているか)。その後に「続行」を選択します。
このモードをいつどのように使用するかの詳細は、「JAASモードの概要」および「JAASモードの構成と使用」を参照してください。
アプリケーションで使用するセキュリティ・プロバイダは、前述の項で説明したようにデプロイ時に選択できます。また、デプロイ後に、異なるセキュリティ・プロバイダに変更することもできます。前述したOC4JとOIDの関連付けが完了している場合は、次の手順でOracle Identity Managementセキュリティ・プロバイダに変更できます。
auth-method="SSO"
が、アプリケーション用に追加されます。「Oracle Single Sign-On認証に対するOC4J構成」を参照してください。重要: この操作を、別の機能であるJava SSO(第14章「OC4J Javaシングル・サインオン」を参照)を有効にする操作と混同しないでください。Java SSOには独自のApplication Server Control構成ページがあります。どちらか一方のSSO製品を使用できますが、両方を使用することはできません。
「セキュリティ・プロバイダ」ページが再表示され、アプリケーションを再起動して変更を有効にするよう指示されます。
この項では、Oracle Identity ManagementがWebアプリケーションのセキュリティ・プロバイダである場合に使用できる特定の認証方式に関するOracle固有の設定について説明します。
Oracle Single Sign-Onを認証に使用するには、auth-method
属性をSSO
に設定します。この属性は、OC4J orion-application.xml
ファイルの<jazn-web-app>
要素(<jazn>
要素のサブ要素)にあります。
サンプルのエントリを示します。
<orion-application ... > ... <jazn provider="LDAP" > <jazn-web-app auth-method="SSO"/> ... </jazn> ... </orion-application>
Oracle Identity Managementをセキュリティ・プロバイダとして使用する場合は、Digest認証を使用する前に、次の手順で準備を行う必要があります。
oidadmin
コマンドで起動します。
us
の場合は、「レルムdc=us,dc=oracle,dc=com
のパスワード・ポリシー」を選択します。
home
インスタンスのjazn.xml
ファイルの<jazn>
要素下で、ldap.protocol
プロパティにno-ssl
が設定されていないことを確認します。(デフォルトではSSLが有効になります。)この項では、LDAPベース・プロバイダであるOracle Identity Managementのレルム管理について説明します。内容は次のとおりです。
OracleAS JAAS Providerは、Oracle Internet Directoryのアイデンティティ管理レルム・タイプをサポートしています。
レルム・フレームワークは、OracleAS JAAS ProviderへのOracle Internet Directoryレルム・インスタンスの登録およびその情報の管理を行うための手段を提供します。
この項の内容は次のとおりです。
図8-2で示すように、OracleAS JAAS Providerは、ディレクトリ・エントリを自製品のコンテナcn=JAZNContext
に保存します。cn=JAZNContext
下には、レルム・エントリを保存するcn=Realms
コンテナと、グローバルOracleAS JAAS Providerポリシーを保存するcn=Policy
コンテナがあります。さらに、cn=Policy
コンテナには、cn=Permissions
およびcn=Grantees
の2種類のエントリがあります。
OracleAS JAAS Providerには、独自のGroups
コンテナとUsers
コンテナがあることに注意してください。Groups
コンテナには、ロールJAZNAdminGroup
が格納されます。Users
コンテナには、このロールに移入されるOracleAS JAAS Provider管理ユーザーが格納されます。ロールとそのメンバー・ユーザーは、どちらも内部でのみ使用されます。管理ユーザーJAZNAdminUser
は、非推奨であることに注意してください。管理ユーザーは、Oracle Internet Directoryに関連付けられたOracle Application Serverの中間層ごとに作成されます。管理者ユーザーには、通常次のようなDNが割り当てられます。
orclapplicationcommonname=jaznadmin1,cn=jazncontext,cn=products,cn=oraclecontext
OracleAS JAAS Providerは、アイデンティティ管理レルムDNを使用して、レルム固有のOracleコンテキストを検索し、対応するcn=JAZNContext
サブツリーを作成します。
図8-3の場合、cn=oracle
がアイデンティティ管理レルムです。OracleAS JAAS Providerでは、このアイデンティティ管理レルムに対応するJAZNContext
エントリの下に、cn=usermgr
エントリ、cn=rolemgr
エントリ、ポリシー関連エントリが格納されます。
使用するアイデンティティ管理レルムごとに、対応するOracleAS JAAS Providerレルムが作成されます。このメカニズムにより、Oracle Internet Directory内のアイデンティティ管理レルムがOracleAS JAAS Providerによって認識されます。
OracleAS JAAS Providerでは、前述のように、Realms
コンテナ・オブジェクトがサイト全体にわたるJAASコンテキスト下に存在します。各Oracle Internet Directoryレルム・インスタンスに対して、対応するレルム・エントリがRealms
コンテナの下に作成され、レルム属性が保存されます。このディレクトリ階層はOracleAS JAAS Providerによって認識され、適切なディレクトリの場所に新しいレルム・エントリを作成し、すべての登録済レルムを実行時に検索する際に使用されます。
Oracle Internet Directoryには、システム・ドメインに応じてデフォルトのアイデンティティ管理レルムが用意されています。たとえば米国内では、abc
という会社のデフォルト・レルムに対して、dc=us,dc=abc,dc=com
などの識別名が割り当てられます。この場合、対応するレルムus
が、OracleAS JAAS Providerによってディレクトリ情報ツリーのcn=Realms,cn=JAZNContext,cn=OracleContext
の下に作成されます。これを示したのが、次の図8-4です。
実行時には、OracleAS JAAS Providerによって各Oracle Internet Directoryレルムとその属性(名前、ユーザー・マネージャ実装クラス、ロール・マネージャ実装クラスおよびこれらのプロパティ)が検索され、これらのレルム・プロパティを持つレルム実装クラスが初期化用にインスタンス化されます。
OracleAS JAAS Providerのディレクトリ・エントリは、製品サブツリーのルートにあるアクセス制御リスト(ACL)によって保護されています。これらのACLは、OracleAS JAAS Providerのディレクトリ・オブジェクトに対する完全な読取り権限と書込み権限を、ロールJAZNAdminGroup
と、そのメンバーであるOracleAS JAAS Providerの管理スーパーユーザー(どちらも内部使用のみ)に付与します。JAZNAdminGroup
に属さない、スーパーユーザー以外のユーザーは、OracleAS JAAS Providerエントリへのアクセスを拒否されます。
アイデンティティ管理の各JAZNContext
サブツリーは、サイト全体にわたる各親のミラー・イメージであるため、エントリ保護にはその親と同じセキュリティ対策が使用されます。
この項では、LDAPベース・プロバイダ(Oracle Identity Management)を使用する場合の、Oracle Internet Directoryの管理ツールを必要とするレルム管理について説明します。内容は次のとおりです。
Oracle Internet Directory アイデンティティ管理レルム内のユーザーとロールの管理には、Oracle Delegated Administration Service(DAS)の管理機能を使用します。詳細は『Oracle Identity Management委任管理ガイド』を参照してください。
また、Oracle Internet Directoryレルムの詳細な構成を実行する場合も、DASを使用します。これには、ユーザー検索ベース、グループ検索ベース、ユーザー作成ベース、グループ作成ベース、ユーザーのニックネーム属性の構成などが含まれます。
OracleAS JAAS Provider自体はOracle Internet Directoryレルムの管理は行いません。必要に応じて、Oracle Internet Directoryに存在する情報の検索のみを行います。
Oracle Internet Directoryにはデフォルト・レルムが用意されていますが、別のレルムをデフォルト・レルムとして使用することもできます。その場合の基本的な手順は次のとおりです。
default-realm
属性を、目的のレルムに設定します。詳細は、「ファイルベースのプロバイダまたはOracle Identity Managementのデフォルト・レルム」を参照してください。Oracle Internet Directoryで追加のアイデンティティ管理レルムを作成する手順は、前項の「デフォルト・レルムの変更」で説明した手順とほぼ同じです。『Oracle Identity Management委任管理ガイド』で詳述されているように、DASを使用します。対応するOracleAS JAAS Providerレルムは、自動的にプロビジョニングされます。
複数レルムの環境でOracle Single Sign-Onを使用する場合に、Oracle Single Sign-Onサーバーがそれらのレルムを認識できるようにするには、追加の手順が必要です。次に示すのは、複数レルムとOracle Single Sign-Onを併用するための手順をまとめたものです。各手順については、示されている参照先を参照してください。
複数レルムに対するシングル・サインオンの認証順序は、単一のデフォルト・レルムにおけるシングル・サインオンとほぼ同じです。ユーザーから見て唯一異なるのは、最初のレルム・タイプに属しているユーザーにログイン画面が表示されたときに、ユーザー名とパスワードに加えて、新たな資格証明であるレルムのニックネームを入力する必要がある点のみです。
ユーザーが自分の資格証明を入力すると、そのユーザーのレルム・ニックネームとユーザー名の両方がOracle Internet Directory内のエントリにマップされます。具体的には、まずシングル・サインオン・サーバーが、ディレクトリのメタデータを使用してディレクトリ内のレルム・エントリを検索します。このエントリを検出したシングル・サインオン・サーバーは、レルム・メタデータを使用してユーザーを検索します。ユーザーのエントリが検出されると、そのエントリの属性であるパスワードが検証されます。パスワードが検証された時点で、このユーザーは認証されます。
この項では、LDAPベースOracle Internet Directoryの様々な構成方法について説明します。この項の内容は次のとおりです。
表8-2は、LDAPユーザーとSSLのプロパティをまとめたものです。これらは、OC4J home
インスタンスのjazn.xml
ファイル内の<jazn>
要素下の<property>
サブ要素でサポートされます。これらのパラメータは、この章で説明したように、OC4JとOracle Internet Directoryの関連付けの実行時に、Application Server Controlコンソールによってその中の構成が使用され、適切に設定されます。
注意 ここでの説明は、OC4JおよびOracle Internet Directoryに対して適切なSSL構成が完了していることを想定しています。これについては、第15章「OC4JとのSSL通信」および『Oracle Internet Directory管理者ガイド』でそれぞれ説明されています。 |
結果として、構成は次のようになります。
<jazn ... > ... <property name="propname" value="propvalue" /> ... </jazn>
変更を有効にするには、OC4Jを再起動する必要があります。
プロパティ名 | プロパティ定義 |
---|---|
|
LDAPユーザー名または識別名。この要素は、自動的に移入されます。内容を変更しないでください。次に例を示します。 orclApplicationCommonName=jaznadmin1,cn=JAZNContext, |
|
LDAPユーザー名の不明瞭化されたパスワード。次に例を示します。
関連項目: 不明瞭化の詳細は、「OC4J構成ファイルのパスワードの不明瞭化」を参照してください。 |
|
SSLを使用するかどうかを決定します。(デフォルトではSSLを使用します。)サポートされている設定は、
注意: |
Oracle Internet Directoryは、SSL通信用にNULL認証をサポートしています。データがAnonymous Diffie-Hellman暗号スイートを使用して暗号化されますが、認証に証明書は使用されません。
サンプルの構成を示します。
<jazn provider="LDAP" location="ldap://www.example.com:389" default-realm="us"> <property name="ldap.protocol" value="no-ssl"/> ... </jazn>
表8-3は、LDAP接続プロパティをまとめたものです。表8-4は、LDAP JNDI接続プールのプロパティをまとめたものです。これらのプロパティは、インスタンス・レベルjazn.xml
ファイルの、<jazn>
要素の下の<property>
サブ要素において、次のように設定します。
<jazn ... > ... <property name="propname" value="propvalue" /> ... </jazn>
変更を有効にするには、OC4Jを再起動する必要があります。
プロパティ名 | プロパティ定義 | デフォルト値 |
---|---|---|
|
セキュリティ・プロバイダが放棄する前にLDAP接続の作成を試行する回数。 |
5 |
|
セキュリティ・プロバイダが失敗したLDAP接続を再試行する前に待機するミリ秒数。 |
5000 |
Oracle Internet Directoryでは、パフォーマンスとスケーラビリティの改善を可能にするキャッシングがサポートされています。次の3つのキャッシュがあります。
キャッシング・サービスにより、キャッシュ内のオブジェクトの格納と取得に使用されるグローバルHashMap(java.util.HashMap
インスタンス)が保持されます。HashMap内の期限切れオブジェクトは、必要に応じて定期的に無効にされ、自動的にクリーンアップされます。キャッシュ内のオブジェクトはTTLアルゴリズムに基づいて期限切れとなりますが、有効期限は次に示すキャッシュ・プロパティで設定できます。
表8-5に、LDAPキャッシング・プロパティとそのデフォルト値を示します。これらのプロパティは、インスタンス・レベルjazn.xml
ファイルの、<jazn>
要素の下の<property>
サブ要素において、次のように設定します。
<jazn ... > ... <property name="propname" value="propvalue" /> ... </jazn>
プロパティ | 説明 | デフォルト |
---|---|---|
ldap.cache.policy.enable |
|
|
|
|
|
|
|
|
|
HashMapの初期容量です。このプロパティはパフォーマンスに影響するため、あまり小さな値は設定しないようにします。 |
20 |
|
HashMapのロード・ファクタです。キャッシュ容量が自動的に増加されるようにするキャッシュのロード率を指定します。このプロパティはパフォーマンスに影響するため、あまり大きな値は設定しないようにします。 |
0.7 |
|
デーモン・スレッドが期限切れオブジェクトのチェックを開始する前に待機するミリ秒数を表す整数の文字列です。 |
3600000 |
|
オブジェクトが無効にされて削除される前にキャッシュに残っているミリ秒数を表す整数の文字列表現です。これは、デーモン・スレッドが期限切れオブジェクトの検索を実行する間のスリープ時間でもあります。 |
3600000 |
キャッシングはデフォルトで有効になっています。特定の管理タスクを実行する場合は、特に次のキャッシュを無効にする必要があります。
次の例では、3つのキャッシュをすべて無効にしています。
<jazn provider="LDAP" location="ldap://myhost.example.com:636" > ... <property name="ldap.cache.session.enable" value="false" /> <property name="ldap.cache.realm.enable" value="false" /> <property name="ldap.cache.policy.enable" value="false" /> ... </jazn>
または、次のように起動パラメータの設定として無効にすることもできます。
-Dldap.cache.session.enable=false -Dldap.cache.realm.enable=false -Dldap.cache.policy.enable=false
次の例では、キャッシュをすべて有効にしたまま、キャッシュ・サイズを100に、タイムアウトを10,000ミリ秒に設定します。
<jazn provider="LDAP" location="ldap://myhost.example.com:636" > <property name="ldap.cache.initial capacity" value="100" /> <property name="ldap.cache.purget.timeout" value="10000" /> </jazn>
Oracle Identity ManagementのLDAPベース・プロバイダのトラブルシューティング時に注意する必要がある重要事項として、次のものがあります。
Oracle Identity Managementの使用方法が適切に構成されていることを確認するには、次のようにします。
-listrealms
コマンドを発行して、Oracle Internet Directoryからデータを取得できることを確認します。
% java -jar jazn.jar -listrealms
通信エラー
というメッセージの応答が戻された場合は、Oracle Internet Directoryが停止している可能性があります。
「無効な資格証明。」
というメッセージの応答が戻された場合は、LDAPユーザーおよび資格証明が正しく構成されていません。 OracleAS JAAS ProviderのAdmintoolのかわりに、次のようにLDAPの検索コマンドを使用して、Oracle Internet Directoryからレルム名を取得できます。
orclSubscriberNicknameAttribute
およびorclSubscriberSearchbase
の値が戻されます。
% ldapsearch -p port -h host -D dn_of_user -w password \ -b "cn=common, cn=products,cn=oraclecontext" -s base "objectclass=*" \ orclSubscriberNicknameAttribute orclSubscriberSearchbase
orclSubscriberNicknameAttribute
およびorclSubscriberSearchbase
の値を使用して、レルム名を取得します。
% ldapsearch -p port -h host -D dn_of_user -w password \ -b "orclSubscriberSearchbase" \ -s sub "orclSubscriberNicknameAttribute=*" \ orclSubscriberNicknameAttribute
これにより、Oracle Internet Directoryレルムが戻されます。このレルムはOracle Internet Directoryで複数のアイデンティティ管理レルムを使用し、J2EEアプリケーションに対して特定の非デフォルト・レルムを構成する場合に便利です。
Oracle Internet Directoryに対して管理操作(権限受領者やグループの追加、パーミッションの付与など)を実行するときは、LDAPキャッシングを無効にする必要があります。キャッシングを有効にしたままにすると、OC4Jを停止し、再起度すると、変更が有効になってしまいます。キャッシングを無効にする方法は、「LDAPキャッシング・プロパティの構成」を参照してください。
Oracle Identity Management 10.1.4実装では、次のURLを入力してOracle Single Sign-Onの管理ページにアクセスできます。
http://host:port/sso
これを使用して、Oracle Single Sign-Onの設定をチェックできます。
|
Copyright © 2003, 2008 Oracle Corporation. All Rights Reserved. |
|