Oracle Identity Managerの以前のリリースでは、Oracle Identity Managerのインストール時にのみLDAP同期を有効化でき、インストール後はLDAP同期を有効化できません。Oracle Identity Manager 11g リリース1(11.1.1)では、インストール後のLDAP同期の有効化がサポートされています。
関連項目: LDAP同期の詳細は、Oracle Fusion Middleware Oracle Identity Managerユーザーズ・ガイドのLDAPアイデンティティ・ストアとOracle Identity Managerの統合に関する説明を参照してください。 |
インストール中にOracle identity ManagerとともにOracle Internet Directory(OID)、iplanet(ODSEE)またはActive Directory(AD)を選択すると、Oracle Virtual Directory(OVD)の仮想化機能が活用されます。Oracle Identity Managerには、スタンドアロンOVDサーバーのかわりにIdentity Virtualization Library(libOVD)が含まれています。Oracle Identity Managerは、Identity Virtualization Library(libOVD)の有無にかかわらずデプロイできます。Oracle Identity ManagerにIdentity Virtualization Library(libOVD)を含めると、Oracle Identity Managerは独自のOVDインスタンスを実行することなく、この共通ライブラリを使用できます。Identity Virtualization Library(libOVD)がない場合、Oracle Identity ManagerはOVDインスタンスを個別に使用する必要があります。
Oracle Identity ManagerインストーラでLDAP同期を選択するときに、AD、iPlanet(ODSEE)、OIDおよびOVDオプションのいずれかを選択できます。AD、iPlanet(ODSEE)またはOIDを選択すると、Oracle Identity ManagerはIdentity Virtualization Library(libOVD)とともにインストールされます。OVDを選択すると、LDAP同期が有効化されるため、LDAP同期を有効化するための手動の構成手順が不要になります。ただし、Oracle Identity Managerのインストール時にLDAP同期が有効化されていない場合は、LDAP同期を有効化するためのインストール後の手動構成が必要です。
この章では、インストール後にLDAP同期を有効にするための次の構成について説明します。
さらに、この章には次の項が含まれます。
Oracle Identity Managerをデプロイした後でLDAP同期を有効化するには、次の手順を実行します。
注意: Oracle Identity Manager 11g リリース1(11.1.1)では、idmConfigToolを実行してLDAP同期を事前構成する必要があります。LDAPConfigPreSetupスクリプトを実行してLDAP同期を事前構成すると、エラーが生成されます。idmConfigToolの使用の詳細は、『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』のサード・パーティ・ディレクトリの準備に関する説明を参照してください。 |
OIM_HOME環境変数に、Oracle Identity Managerがデプロイされているディレクトリを設定します。
次のファイルを、MDSから一時ステージング・ディレクトリ(/tmpなど)にコピーします。
注意: 別個のステージング・ディレクトリを作成する必要があります。$OIM_ORACLE_HOME/server/metadataディレクトリには他のファイルが含まれているため、ステージング・ディレクトリとして使用することはできません。これらのファイルを誤ってインポートすると、Oracle Idenitity Managerインスタンスが破損することがあります。 |
LDAPユーザー、ロール、ロール階層およびロール・メンバーシップ・リコンシリエーションのための、リコンシリエーション・プロファイルおよびリコンシリエーション水平表エンティティ定義の構成に、次のメタデータが使用されます。
/db/LDAPUser
/db/LDAPRole
/db/LDAPRoleHierarchy
/db/LDAPRoleMembership
/db/RA_LDAPROLE.xml
/db/RA_LDAPROLEHIERARCHY.xml
/db/RA_LDAPROLEMEMBERSHIP.xml
/db/RA_LDAPUSER.xml
/db/RA_MLS_LDAPROLE.xml
/db/RA_MLS_LDAPUSER.xml
これらのファイルは、インポート前に一時的な場所にコピーする必要があります。このようにしないと、同じ場所にoim-config.xmlも存在することになるため、インスタンスが破損することがあります。
LDAPイベント・ハンドラ。事前定義済イベント・ハンドラは、/db/ldapMetadata/EventHandlers.xmlファイル内にあります。
作成するユーザーおよびロールのコンテナ情報で構成されるLDAPContainerRules.xml。
注意: ディレクトリにマップされているこれらの属性のみを使用して、LdapContainerRules.xmlファイルにルールを含めることができます。外部オブジェクトからの属性またはエンティティの一部ではない属性を使用して、ルールを記述することはできません。これはユーザー・エンティティとロール・エンティティの両方に当てはまります。たとえば、「ロールの電子メール」はロールのルールには使用できず、ユーザーの「組織名」はユーザー・エンティティに使用できません。 |
LDAPContainerRules.xmlを編集します。これを行うには、LDAPContainerRules.xmlを開き、$DefaultUserContainer$と$DefaultRoleContainer$を適切なユーザー・コンテナ値とロール・コンテナ値で置換します。たとえば、次のように置換します。
$DefaultUserContainer$をcn=ADRUsers,cn=Users,dc=us,dc=oracle,dc=comなどの値で置換
$DefaultRoleContainer$をcn=ADRGroups,cn=Groups,dc=us,dc=oracle,dc=comなどの値で置換
インポートを実行します。これを行うには、次のようにします。
OIM_HOME/bin/ディレクトリで利用できるMDSユーティリティ(weblogicImportMetadata.shなど)を使用して、ステップ2にリストされているファイルすべてをインポートします。
注意:
|
OIM_HOME/bin/ディレクトリに移動します。
テキスト・エディタで、weblogic.propertiesファイルを開きます。次のプロパティに値を指定します。
wls_servername=oim_server1
wls_servernameは、Oracle Identity ManagerがデプロイされるOracle WebLogic Serverの名前です。
application_name=oim
デフォルトのイベント・ハンドラをインポートまたはエクスポートする場合、この値はoim
です。その他の事前定義済メタデータの場合、値はOIMMetadata
です。カスタム・データをインポートまたはエクスポートする場合、アプリケーション名としてOIMMetadata
を使用します。
metadata_from_loc=/tmp
これは、XMLファイルのインポート元のディレクトリの場所です。たとえば、User.xmlをインポートする必要があり、その場所が/scratc/USER/temp/oim/file/User.xmlである場合、場所の値として/scratc/USER/temp/oimを指定できます。このディレクトリおよびそのサブディレクトリに他のファイルが存在しないことを確認してください。インポート・ユーティリティは、場所のディレクトリから再帰的にすべてのファイルをインポートしようとします。このプロパティは、weblogicImportMetadata.shでのみ使用されます。
注意: 同様に、ファイル(EventHandlers.xmlなど)をエクスポートするには、パス/db/ldapMetadata/EventHandlers.xmlを使用する必要があります。weblogic.properties内のmetadata_filesの値は、次のようにする必要があります。 metadata_files=/db/ldapMetadata/EventHandlers.xml OIM_HOME/metadataには、2つのディレクトリ(dbおよびldapReconJobs)が含まれています。metadata_from_locの場所がこのディレクトリを参照している場合、これら両方のディレクトリがMDSにインポートされます。 |
次のコマンドを実行し、構成ファイルをMDSにインポートします。
sh ./weblogicImportMetadata.sh
WebLogicのログイン情報を求められます。次の情報を指定します。
Please enter your username [weblogic] :weblogic
Please enter your password [weblogic] :PASSWORD
Please enter your server URL [t3://localhost:7001] :t3://localhost:8003
これで、構成ファイルがインポートされます。
Oracle Identity ManagerでITリソース構成を編集します。これを行うには、次のようにします。
管理者の資格証明を使用して、Oracle Identity Manager管理およびユーザー・コンソールにログインし、拡張管理に移動します。
拡張管理の「ようこそ」ページで、「ITリソースの管理」をクリックします。または、「構成」タブをクリックし、「リソース管理」をクリックしてから、「ITリソースの管理」を選択します。
Directory Server
ITリソースを探します。
このITリソースを「検索ベース」および予約コンテナの値で更新します。
「検索ベース」の推奨値は、ルート接尾辞またはベースDN(dc=us,dc=oracle,dc=comなど)です。
OVDサーバーでOracle Identity Managerを構成する場合は、「サーバーURL」にOVDサーバーのホストおよびポートの詳細を入力します。
Identity Virtualization Library(libOVD)でOracle Identity Managerを構成する場合は、「サーバーURL」に値を入力しないでください。空白にする必要があります。
バインド資格証明の値を次のように入力します。
バインドDN: cn=oimadmin
バインド・パスワード: 1111111111
注意: Oracle Identity Managerプロキシ・ユーザーDNは、次の形式です。 PROXY_USER,cn=system,ROOT_SUFFIX 例: cn=oimadmin,cn=system, dc=us,dc=oracle,dc=com |
予約コンテナの値が、cn=reserve,VALUE_OF_THE_ROOT_SUFFIXであることを確認します。次に例を示します。
予約コンテナ: cn=reserve,dc=us,dc=oracle,dc=com
リコンシリエーション・ジョブでは、LDAPリコンシリエーション・ジョブをシードするか、LDAPリコンシリエーション・ジョブをOracle Identity Managerスキーマの一部であるクォーツ表にロードします。これを行うには、次の手順を実行します。
OIM_HOME/bin/にあるpatch_weblogic.sh MDSユーティリティを使用して、LDAPリコンシリエーション・ジョブをシードします。
注意: テキスト・エディタで、$OIM_ORACLE_HOME/server/bin/weblogic.profileファイルを開き、patch_weblogic.shスクリプトを実行する前にプロパティに値を入力します。 |
ANT_HOMEおよびJAVA_HOMEを適切に設定します。
$OIM_ORACLE_HOME/server/setup/deploy-files/setup.xmlのバックアップを作成します。
テキスト・エディタで、$OIM_ORACLE_HOME/server/setup/deploy-files/setup.xmlファイルを開きます。
リコンシリエーション・ジョブをシードするターゲットがデフォルトでコメント化されている場合、次のようにコメントを解除し、リコンシリエーション・ジョブをシードするためのファイルに、このターゲットのみが存在するようにします。
<target name="patch" description="This contains the list of targets to be invoked post-patching"> <antcall target="explode-archived-apps"/> <antcall target="seed-ootb-jobs"/> <!--antcall target="seed-ldap-recon-jobs"/--> == Uncomment this line. <antcall target="update-oes-ootb-policies"/> <antcall target="seed-ootb-templates"/> <antcall target="unzip-db-deliverables-archive"/> <!--ant antfile="${appserver.type}/setup.xml" target="patch" inheritrefs="true" /--> </target>
リコンシリエーション・ジョブをシードするために必要なターゲットは、seed-ldap-recon-jobsです。
patch_weblogic.shスクリプトを実行します。
SSLのために、次の項の説明に従って、ディレクトリ・サーバーからサーバー側の証明書をエクスポートし、Identity Virtualization Library(libOVD)にインポートする必要があります。
Active Directoryからサーバー側の証明書をエクスポートし、Identity Virtualization Library(libOVD)にインポートするには、次の手順を実行します。
次のMicrosoft TechNet WebサイトURLの指示を参照して、Active Directoryサーバーから証明書をエクスポートします。
http://technet.microsoft.com/en-us/library/cc732443%28WS.10%29.aspx
http://technet.microsoft.com/en-us/library/cc772898%28WS.10%29.aspx
CA署名証明書を取得し、ファイルに保存します。これを行うには、次のようにします。
ドメイン管理者としてActive Directoryドメイン・サーバーにログインします。
「スタート」、「コントロール パネル」、「管理ツール」、「証明機関」の順にクリックし、証明機関用のMicrosoft管理コンソール(MMC)を表示します。
CAコンピュータを右クリックし、CAのプロパティを選択します。
「全般」メニューから、「証明書の表示」を選択します。
「詳細」ビューを選択し、ウィンドウの右下隅にある「ファイルにコピー」をクリックします。
次のコマンドを実行して、証明書のエクスポート・ウィザードを使用し、CA証明書をファイルに保存します。
certutil -ca.cert OutCACertFile
注意: CA証明書は、DER Encoded Binary X-509形式またはBased-64 Encoded X-509形式で保存できます。 |
次のコマンドを実行して、手順3fで作成したActive Directoryサーバー証明書を、Identity Virtualization Library(libOVD)キーストアに信頼できるエントリとしてインポートします。
$ORACLE_HOME/jdk/jre/bin/keytool -importcert -keystore $DOMAIN_HOME/config/fmwconfig/ovd/CONTEXT/keystores/adapters.jks -storepass password -alias alias -file OutCACertFile -noprompt
Identity Virtualization Library(libOVD)とiPlanet(ODSEE)の間でのSSLを有効化するために、iPlanet(ODSEE)から証明書をエクスポートしてIdentity Virtualization Library(libOVD)にインポートするには、次の手順を実行します。
iPlanet(ODSEE)から証明書をエクスポートするには、次のコマンドを実行します。
dsadm export-cert -o OUTPUT_FILE INSTANCE_PATH CERT_ALIAS
次に例を示します。
./dsadm export-cert -o /tmp/server-cert /scratch/aime1/iPlanet/dsInst/ defaultCert Choose the PKCS#12 file password: Confirm the PKCS#12 file password: ls -lrt /tmp -rw------- 1 aime1 svrtech 1684 Jan 20 00:39 server-cert
ステップ1で作成したiPlanet(ODSEE)証明書を、信頼できるエントリとしてIdentity Virtualization Library(libOVD)キーストアにインポートするには、次のコマンドを実行します。
ORACLE_HOME/jdk/jre/bin/keytool -importcert -keystore $DOMAIN_HOME/config/fmwconfig/ovd/CONTEXT/keystores/adapters.jks -storepass password -alias alias -file server-cert -noprompt
OIDからサーバー側の証明書をエクスポートしてIdentity Virtualization Library(libOVD)にインポートするには、次の手順を実行します。
次のコマンドを使用して、Oracle Internet Directoryサーバーの証明書をBase64形式でエクスポートします。
orapki wallet export -wallet LOCATION_OF_OID_WALLET -dn DN_FOR_OID_SERVER_CERTIFICATE -cert ./b64certificate.txt
注意: orapkiコマンドで証明書別名を使用する場合、その別名がすべて小文字でないと、エラーが生成されます。 |
次のコマンドを使用して、ステップ2で作成したOracle Internet Directoryサーバー証明書を、Identity Virtualization Library(libOVD)キーストアに信頼できるエントリとしてインポートします。
$ORACLE_HOME/jdk/jre/bin/keytool -importcert -keystore $DOMAIN_HOME/config/fmwconfig/ovd/CONTEXT/keystores/adapters.jks -storepass password -alias alias -file OutCACertFile -noprompt
LDAPを同期していないOracle Identity Managerデプロイメントでユーザーとロールを作成した後で、LDAP同期を有効化することを決めた場合、LDAP同期を有効化する前に作成したユーザーとロールを、同期の有効化後にLDAPと同期する必要があります。LDAPに対するユーザー、ロール、ロール・メンバーシップおよびロール階層のプロビジョニングは、LDAP用に事前定義された次のスケジュール済ジョブで達成できます。
LDAPSync Post Enable Provision Users to LDAP
LDAPSync Post Enable Provision Roles to LDAP
LDAPSync Post Enable Provision Role Memberships to LDAP
LDAPSync Post Enable Provision Role Hierarchy to LDAP
これらのスケジュール済ジョブの詳細は、「事前定義済のスケジュール済タスク」を参照してください。
Oracle Identity ManagerデプロイメントでLDAP同期を無効化するには、次の手順を実行します。
MDSユーティリティを使用して、MDSから/db/ldapMetadata/EventHandlers.xmlファイルを削除します。このXMLファイルを削除するには、weblogic.propertiesファイルまたはweblogicDeleteMetadata.batスクリプト内の次の値を変更します。
wls_servername=OIM_SERVER_NAME(oim_server1など)
application_name=oim
事前定義済イベント・ハンドラをインポートまたはエクスポートする場合、値はoim
です。その他のデフォルト・メタデータの場合、値はOIMMetadata
です。カスタム・データをインポートまたはエクスポートする場合は、常にapplication
を使用します。
metadata_files=/metadata/user/custom/EventHandlers.xml
管理者のログイン資格証明で、Oracle Identity Managerの管理およびユーザー・コンソールにログインします。
「LDAP同期を有効化する前に作成したユーザーおよびロールのLDAPへのプロビジョニング」で説明しているスケジュール済ジョブすべてを無効化します。
LDAP同期が有効でAD、iPlanet(ODSEE)またはOIDがディレクトリ・サーバーであるOracle Identity Managerデプロイメントでは、WLSTコマンドを使用してIdentity Virtualization Library(libOVD)アダプタを管理します。
Virtualization Library(libOVD)を管理するには、次の手順を実行します。
WLSTコンソールを起動します。これを行うには、oracle_common/common/bin/wlst.shを実行します。
WLSTコマンドラインで、次のコマンドを実行します。
connect()
入力を求められたときに、WLSTのユーザー名、パスワードおよびt3 URLを入力します。
次のコマンドを実行し、Identity Virtualization Library(libOVD)のWLSTコマンドのリストを表示します。
help('OracleLibOVDConfig')
これで、Identity Virtualization Library(libOVD)、LDAPおよび結合アダプタを作成、削除および変更するためのコマンドがリストされます。次のコマンドは、パラメータとして渡される特定のOPSSコンテキストと関連付けられているIdentity Virtualization Library(libOVD)構成で動作します。
addJoinRule: 指定のOPSSコンテキストと関連付けられたIdentity Virtualization Library(libOVD)の既存の結合アダプタに、結合ルールを追加します。
addLDAPHost: 既存のLDAPアダプタに、新しいホストを追加します。
注意: High Availability(HA)シナリオ用に複数のリモート・ホストを追加する例を次に示します。 addLDAPHost(adapterName='ldap1', host='myhost.example.domain.com', port=389, contextName='myContext') HAの詳細は、『Oracle Fusion Middleware高可用性ガイド』を参照してください。 |
addPlugin: 既存のアダプタに、またはグローバル・レベルで、プラグインを追加します。
関連項目: Oracle Identity Managerにおけるプラグインの開発の詳細は、Oracle Fusion Middleware Oracle Identity Manager開発者ガイドのプラグインの開発に関する説明を参照してください。 |
addPluginParam: 既存のアダプタ・レベルのプラグインまたはグローバル・プラグインに、新しいパラメータ値を追加します。
createJoinAdapter: 指定のOPSSコンテキストと関連付けられたIdentity Virtualization Library(libOVD)に、新しい結合アダプタを作成します。
createLDAPAdapter: 指定のOPSSコンテキストと関連付けられたIdentity Virtualization Library(libOVD)に、新しいLDAPアダプタを作成します。
deleteAdapter: 指定のOPSSコンテキストと関連付けられたIdentity Virtualization Library(libOVD)の、既存のアダプタを削除します。
getAdapterDetails: 指定のOPSSコンテキストと関連付けられたIdentity Virtualization Library(libOVD)に構成されている、既存のアダプタの詳細を表示します。
listAdapters: 指定のOPSSコンテキストと関連付けられたこのIdentity Virtualization Library(libOVD)に構成されている、すべてのアダプタの名前とタイプをリストします。
modifyLDAPAdapter: 既存のLDAPアダプタ構成を変更します。
removeJoinRule: 指定のOPSSコンテキストと関連付けられたIdentity Virtualization Library(libOVD)に構成された結合アダプタから、結合ルールを削除します。
removeLDAPHost: 既存のLDAPアダプタ構成から、リモート・ホストを削除します。
removePlugin: 既存のアダプタから、またはグローバル・レベルで、プラグインを削除します。
removePluginParam: 構成済のアダプタ・レベルのプラグインまたはグローバル・プラグインから、既存のパラメータを削除します。
使用方法を表示するには、次のように個々のコマンドに対してhelpを実行します。
help('addPluginParam')
マルチ言語サポート(MLS)のためにoimLanguages属性のADユーザー管理アダプタを更新する例を次に示します。
addPluginParam:
このコマンドを次のように使用して、ADユーザー・アダプタのUserManagementプラグインに、oimLanguageパラメータを追加できます。
add PluginParam(adapterName='ldap1', pluginName='UserManagement', paramKeys='oimLanguages', paramValues='fr,zh-CN', contextName='oim')
removePluginParam:
このコマンドを次のように使用して、ADユーザー・アダプタのUserManagementプラグインから、oimLanguageパラメータを削除できます。
removePluginParam(adapterName='ldap1', pluginName='UserManagement', paramKey='oimLanguages', contextName='oim')
removePluginParam:
このコマンドを次のように使用して、Changelogプラグインから、modifierDNFilterパラメータを削除できます。
removePluginParam(adapterName='CHANGELOG_ldap1', pluginName='Changelog', paramKey='modifierDNFilter', contextName='oim')
関連項目: Oracle Identity Managerの変更ログおよびユーザー管理のための、OVDアダプタの作成の詳細は、『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』のOracle Virtual Directoryでのアダプタの作成に関する説明を参照してください。 |
LDAP同期が有効な場合に認証にLDAPを使用できるようにするには、次の手順を実行します。
注意: この手順では、次の機能は有効になりません。
|
Oracle Internet Directory (OID)に動的グループを追加します。
動的グループを定義するoimusers.ldifファイルを作成します。LDIFファイルは、次のような形式にします。
dn: cn=oimusers, <group search base> objectclass: orclDynamicGroup objectclass: groupOfUniqueNames labeleduri:ldap://LDAP_HOST:LDAP_PORT/<UserSearchBase>??sub?(objectclass=inetOrgPerson)
次に例を示します。
dn: cn=oimusers,cn=Groups,dc=us,dc=oracle,dc=com
objectclass: orclDynamicGroup
objectclass: groupOfUniqueNames
labeleduri: ldap://LDAP_HOST:3060/cn=Users,dc=us,dc=oracle,dc=com??sub?(objectclass=inetOrgPerson)
ldapaddコマンドを使用してoimusers.ldifファイルをOIDにアップロードします。コマンドは次のような形式にします。
ldapadd -h LDAP_HOST -p LDAP_PORT -D <root dn> -w <password> -f oimusers.ldif
次に例を示します。
ldapadd -h LDAP_HOST -p 3060 -D cn=orcladmin -w welcome1 -f oimusers.ldif
ldapsearchコマンドを使用してグループ・メンバーを検証します。コマンドは次のような形式にします。
ldapsearch -h LDAP_HOST -p LDAP_PORT -D <root dn> -w <password> -b "cn=oimusers,<groupsearchbase>" -s base "objectclass=*"
次に例を示します。
ldapsearch -h LDAP_HOST -p 3060 -Dcn=orcladmin -wwelcome1 -b "cn=oimusers,cn=Groups,dc=us,dc=oracle,dc=com" -s base "objectclass=*"
WLSでLDAP認証を構成します。
WebLogic管理コンソールにログインします。
「セキュリティ・レルム」、myrealm、「プロバイダ」に進みます。
「新規」をクリックします。名前を指定し、タイプとしてOracleInternetDirectoryAuthenticatorを選択します。
「制御フラグ」をSUFFICIENTに設定します。
「プロバイダ固有」設定をクリックし、OID接続の詳細を設定します。
「動的グループ」セクションで、次の値を入力します。
動的グループ名属性: cn
動的グループ・オブジェクト・クラス: orcldynamicgroup
動的メンバーURL属性: labeleduri
ユーザー動的グループDN属性: GroupOfUniqueNames
「プロバイダ」タブをクリックし、次に「並替え」をクリックします。LDAP認証がOIM認証の前に配置されるように並び替えます。
すべてのサーバーを再起動します。
ロール・メンバーシップを検証します。
WebLogic管理コンソールにログインします。
「セキュリティ・レルム」→myrealm→「ユーザー」→「グループ」に進みます。
「ユーザー」をクリックし、LDAPユーザー検索ベースですべてのユーザーを表示します。LDAPユーザーが表示されない場合は、LDAP接続にエラーがあることを意味しており、OID認証で詳細が指定されます(プロバイダ固有の設定)。
任意のユーザーをクリックし、対応するグループ・エントリを表示します。リストされるエントリにOimusersが含まれている必要があります。この検証に失敗した場合は、LDAP認証のプロバイダ固有の詳細を確認してください。