Oracle® Fusion Middleware Oracle Identity Management Suite統合ガイド 11g リリース2 (11.1.2.3.0) E67361-04 |
|
前 |
次 |
この付録では、インストール後にLDAPアイデンティティ・ストアとOracle Identity ManagerのLDAP同期を手動で構成する方法について説明します。
注意: LDAP同期は、Oracle Identity Managerをデータベース・モードで使用中で、Oracle Identity ManagerがAccess Manager (OAM)と統合される場合のみ必要です。ユーザーのインストールでOAMが必要ない場合、LDAP同期は必要ないためこの付録をスキップできます。LDAP同期を使用する予定の場合は、LDAPディレクトリを構成するために必要な前提条件となる手順があります。この前提条件については、このドキュメントの以降の項で説明します。 LDAPアイデンティティ・ストアとOracle Identity Manager間の統合の概要は、第1.1.3項「Oracle Identity ManagerにおけるLDAP同期について」を参照してください。 |
この付録の内容は次のとおりです。
LDAPの同期を構成するには、次の手順を実行します。
アイデンティティ・ストアですべての前提条件が実行されていることを確認します。詳細は、第E.1.1項「LDAP同期を有効にするための前提条件の実行」を参照してください。
OVDアダプタを作成します。
LDAP同期で、Oracle Identity ManagerはOVDの仮想化機能を使用します。これは、次のいずれかの方法で使用できます。
OVDのスタンドアロン・インスタンスのインストール: OVDのスタンドアロン・インスタンスを使用する際、OVDアダプタを作成する必要があります。
Identity Virtualization Library (libOVD)の使用: libOVDでは、ランタイム・ライブラリがOracle Identity Managerによってその固有プロセスの一部として使用され、これによってインストールと保守が簡素化されます。
詳細は、第E.1.3項「OVDアダプタの作成」を参照してください。
LDAP同期を有効化します。詳細は、第E.1.4項「LDAP同期の有効化」を参照してください。
LDAP同期の構成後の手順を実行します。詳細は、第E.2.1項「LDAP構成後ユーティリティの実行」を参照してください。
LDAP同期を検証します。詳細は、第E.2.2項「LDAP同期の検証」を参照してください。
LDAPディレクトリ・サーバーはデフォルト・コンテナ(変更ログを含む)、管理者およびAccess Control Lists (ACI)によって構成される必要があります。実際の手順はLDAPサーバーの選択によって決まります。
OID、OUDおよびスタンドアロンOVDの事前構成: idmConfigTool
ユーティリティを実行してOID、OUDおよびOVDを事前構成します。これにより、ユーザー、グループおよび予約コンテナと適切なACIが追加されます。必要な事前構成手順は次のコマンドによって実行されます。
idmConfigTool -preConfigIDStore
idmConfigTool
はIAM_ORACLE_HOME/idmtools/bin/ディレクトリ内にあります。preConfigIDStore
オプションはOUDまたはOID内のスキーマを拡張して、統合に必要とされるオブジェクト・クラスを追加します。ユーザーおよびグループも多数作成されます。構成ファイルで指定した情報に基づいて、このコマンドは適切なアイデンティティ・ストア上で実行されます。次に例を示します。
./idmConfigTool.sh -preConfigIDStore input_file=/scratch/fwadmin/ldap_scripts/prepareIDStore.properties
注意: レプリケートされたOUDインスタンス上で、このインスタンスにディレクトリ・サーバーおよびレプリケーション・サーバーの両方のコンポーネントが含まれている(これはデフォルトです)という条件に応じて、cn=changelog がデフォルトで使用可能です。変更ログには、レプリケーションがすでに稼働中のため、追加コストはありません。
レプリケートされていないOUDインスタンス上では、有用でなければ負担すべきではないコストがディスクおよびCPUにあるため、 $ dsreplication enable-changelog -h localhost -p 4444 -D "cn=directory manager" \ -j pwd-file -r 8989 -b dc=example,dc=com -X -n Access Managerと統合されたOracle Identity Managerデプロイメントでは、OUDとのOracle Identity Manager LDAP同期を機能させるために、変更ログが有効になっている必要があります。 外部変更ログの有効化の詳細は、第E.1.2項「OUDでの変更ログの構成」を参照してください。 |
次の入力パラメータ(およびサンプル値)を使用する構成ファイルである、prepareIDStore.prperties
ファイルを示します。
IDSTORE_HOST: HOST_NAME
IDSTORE_PORT: PORT
IDSTORE_BINDDN: cn=oudadmin
IDSTORE_USERNAMEATTRIBUTE: cn
IDSTORE_LOGINATTRIBUTE: uid
IDSTORE_USERSEARCHBASE: cn=Users,dc=us,dc=example,dc=com
IDSTORE_GROUPSEARCHBASE: cn=Groups,dc=us,dc=example,dc=com
IDSTORE_SEARCHBASE: dc=us,dc=example,dc=com
IDSTORE_SYSTEMIDBASE: cn=Systemids,dc=us,dc=example,dc=com
OUDをアイデンティティ・ストアとして使用中の場合、追加パラメータは次のとおりです。
IDSTORE_ADMIN_PORT : 4444
IDSTORE_KEYSTORE_FILE : /u01/config/instances/oud1/OUD/config/admin-keystore
IDSTORE_KEYSTORE_PASSWORD : Abcd1234
IDSTORE_KEYSTORE_PASSWORDパラメータの値は/u01/config/instances/oud1/OUD/config/admin-keystore.pin
ファイルのコンテンツです。
続いて、idmConfigTool
を次のコマンドで実行できます。
idmConfigTool.sh -prepareIDStore mode=OIM input_file=configfile
OIDおよびOUDについて、追加のスキーマ拡張機能を実行し、追加のユーザーおよびグループを作成する場合のサンプル・プロパティ・ファイルは次のとおりです。
IDSTORE_HOST : idstore.example.com IDSTORE_PORT : 389 IDSTORE_BINDDN : cn=orcladmin IDSTORE_USERNAMEATTRIBUTE: cn IDSTORE_LOGINATTRIBUTE: uid IDSTORE_USERSEARCHBASE:cn=Users,dc=example,dc=com IDSTORE_GROUPSEARCHBASE: cn=Groups,dc=example,dc=com IDSTORE_SEARCHBASE: dc=example,dc=com POLICYSTORE_SHARES_IDSTORE: true IDSTORE_SYSTEMIDBASE: cn=systemids,dc=example,dc=com IDSTORE_OIMADMINUSER: oimadmin IDSTORE_OIMADMINGROUP:OIMAdministrators
OUDをアイデンティティ・ストアとして使用中の場合、追加パラメータは次のとおりです。
IDSTORE_ADMIN_PORT : 4444 IDSTORE_KEYSTORE_FILE : /u01/config/instances/oud1/OUD/config/admin-keystore IDSTORE_KEYSTORE_PASSWORD : Abcd1234
idmConfigTool
ユーティリティ使用の詳細は、付録D「idmConfigToolコマンドの使用方法」を参照してください。
ODSEEおよびADの事前構成: Oracle Directory Server (ODSEE)またはActive Directory (AD)が使用されている場合は、idmConfigTool
ユーティリティを使用しないでください。かわりに、このドキュメントの以降の項の説明に従って、手動による手順を実行してください。
次の各項では、Active DirectoryおよびODSEEのアイデンティティ・ストアを事前構成する方法について説明します。
LDAPディレクトリをアイデンティティ・ストアとして使用できるようにするには、事前構成を実行する必要があります。この項の手順により、Microsoft Active Directoryを事前構成して、LDAPアイデンティティ・ストアとして使用できます。
注意: 次に示す例で使用されているデータはサンプル・データです。例に従って、LDAPサーバーの構成に適したデータと置き換えてください。 |
アイデンティティ・ストアを事前構成する手順:
ユーザー、グループおよび予約コンテナを次のように作成します。
dn:cn=Reserve,dc=example,dc=com cn:Reserve objectclass:top dn:cn=Groups,dc=example,dc=com cn:Groups objectclass:top dn:cn:Users,dc=example,dc=com cn:Users objectclass:top
Active Directoryで、Oracle Identity Managerリコンシリエーションのために使用される検索ベース外のコンテナを作成します。これによって管理ユーザーがOracle Identity Manager内にリコンサイルされることを回避できます。次に例を示します。
dn:cn=systemids,dc=example,dc=com cn:systemids objectClass:top
このコンテナ内にOracle Identity Managerの管理ユーザーを作成します。
dn:cn=oimadmin,cn=systmids,dc=example,dc=com cn:oimadmin objectclass:user
手順1で作成したユーザー・コンテナで、uid: SYSTEM_ADMINISTRATORおよび適切なパスワードを使用してシステム管理者ユーザーを作成します。
手順1で作成したグループ・コンテナで、グループOim Administratorsを作成し、ユーザーoimadmin
およびSYSTEM_ADMINISTRATORをこのグループに割り当てます。
手順2で作成したコンテナで、welcome11gR2
などのパスワードを使用してユーザーoamadmin
を作成します。
手順1で作成したグループ・コンテナで、グループOAM Administrators
を作成し、oamadmin
ユーザーをグループに割り当てます。
手順1で作成したユーザー・コンテナで、WLAdmin
などのIDおよびwelcome11gR2
などのパスワードを使用してWebLogic管理用ユーザーを作成します。
手順1で作成したグループ・コンテナで、グループWLSAdmins
を作成し、WLAdmin
ユーザーをそのグループに割り当てます。
設定が必要なACLを追加します。
OIM Administratorsグループ - ディレクトリ内のすべてのユーザーおよびグループのエンティティに対する完全な読取り/書込み権限。このグループは、予約コンテナに対する読取り/書込み権限も必要とします。
OAMスキーマを次のように拡張します。
IAM_ORACLE_HOME/oam/server/oim-intg/ldif/ad/schemaディレクトリに移動して、次のファイルを検索します。
ADUserSchema.ldif
AD_oam_pwd_schema_add.ldif
前述のLDIFファイルでは、domain-dnを適切なdomain-dn値に置き換えます。
コマンド行でldapadd
を使用して、次のように2つのLDIFファイルをロードします。
次のディレクトリに進みます。
cd IAM_ORACLE_HOME/oam/server/oim-intg/ldif/ad/schema/
ldapadd
コマンドを実行します。
ldapadd -h <activedirectoryhostname> -p <activedirectoryportnumber> -D <AD_administrator> -q -c -f ADUserSchema.ldif ldapadd -h <activedirectoryhostname> -p <activedirectoryportnumber> -D <AD_administrator> -q -c -f AD_oam_pwd_schema.ldif
ここで、AD_administratorは、ディレクトリに対するスキーマ拡張権限を持つユーザーです。次に例を示します。
ldapadd -h activedirectoryhost.mycompany.com -p 389 -D adminuser -q -c -f ADUserSchema.ldif
extendadschema
スクリプトを使用して、OIM Schema for Active Directoryを拡張します。
extendadschema
スクリプトとOIM Schema for Active Directoryは次の場所にあります。
MW_HOME/oracle_common/modules/oracle.ovd_11.1.1/oimtemplates
このディレクトリには、extendadschema
でActive Directoryを拡張するために使用される次のファイルが含まれています。
adOAMDisable.ldif
adOAMEnable.ldif
adOIMLanguageSubtype.ldif
adOIMSchema.ldif
Active Directoryスキーマを拡張するには、次のコマンドを実行します。
Windowsの場合:
extendadschema.bat -h AD_host -p AD_port -D <administrator@mydomain.com> -AD <dc=mydomain,dc=com> -OAM <true/false>
UNIXの場合:
extendadschema.sh -h AD_host -p AD_port -D <administrator@mydomain.com> -AD <dc=mydomain,dc=com> -OAM <true/false>
-OAM
パラメータ値をtrue
として指定します。
注意: extendadschema スクリプトは、Active Directory 2003、2008、2008R2および2012でのみ動作確認されています。 |
Active Directoryのパスワード・ポリシーを設定します。これを行うには、次の手順を実行します。
DOMAIN_HOME/config/fmwconfig/ovd/oim/adapters.os_xmlファイル内のlibOVDアダプタに対するpwdMaxFailure
構成パラメータの値が、10
に設定されていることを検証します。
Active DirectoryでlockoutThreshold
値を10
に設定します。lockoutThresholdの詳細は、次のURLを参照してください。
https://technet.microsoft.com/en-us/library/cc775412%28v=ws.10%29.aspx
LDAPディレクトリをアイデンティティ・ストアとして使用できるようにするには、事前構成を実行する必要があります。この項の手順では、OAMと統合している場合、したがってLDAP同期を構成している場合にOracle Directory Server Enterprise Edition (ODSEE)をLDAPアイデンティティ・ストアとして使用するため、Oracle Directory Server Enterprise Edition (ODSEE)を事前構成することができます。
注意:
|
アイデンティティ・ストアを事前構成する手順:
新しいファイルiPlanetContainers.ldifを作成します。次のエントリを追加して、ファイルに保存します。
dn:cn=oracleAccounts,dc=mycompany,dc=com cn:oracleAccounts objectClass:nsContainer dn:cn=Users,cn=oracleAccounts,dc=mycompany,dc=com cn:Users objectClass:nsContainer dn:cn=Groups,cn=oracleAccounts,dc=mycompany,dc=com cn:Groups objectClass:nsContainer dn:cn=Reserve,cn=oracleAccounts,dc=mycompany,dc=com cn:Reserve objectClass:nsContainer
ldapaddコマンドを使用して、コンテナをiPlanet Directory Serverにインポートします。これにより、ユーザー、グループおよび予約コンテナが作成されます。
ldapadd -h <ODSEE Server> -p <ODSEE port> -D <ODSEE Admin ID> -w <ODSEE Admin password> -c -f ./iPlanetContainers.ldif
次に例を示します。
ldapadd -h localhost -p 1389 -D "cn=Directory Manager" -w "welcome1" -c -f ./iPlanetContainers.ldif
このコマンドで認証エラーが返されたら、シンプル・バインド・オプションの「-x」オプションでコマンドを試行します。
ldapadd -h localhost -p 1389 -x -D "cn=Directory Manager" -w "welcome1" -c -f ./iPlanetContainers.ldif
ノード間で行われるエントリの名前変更に対して、moddnプロパティを有効にします。
..dsee7/bin/dsconf set-server-prop -h <ODSEE Server> -p <ODSEE port> moddn-enabled:on
次に例を示します。
..dsee7/bin/dsconf set-server-prop -h localhost -p 1389 moddn-enabled:on
changelogを有効化します。
..dsee7/bin/dsconf set-server-prop -h <ODSEE Server> -p <ODSEE port> retro-cl-enabled:on
次に例を示します。
..dsee7/bin/dsconf set-server-prop -h localhost -p 1389 retro-cl-enabled:on
次のようにステータスをチェックします。
..dsee7/bin/dsccsetup status
ODSEEサーバー・インスタンスを停止して起動します。
..dsee7/bin/dsadm stop <ODSEE instance> ..dsee7/bin/dsadm start <ODSEE instance>
次に例を示します。
..dsee7/bin/dsadm stop /scratch/<userid>/iPlanet/dsinst1/ ..dsee7/bin/dsadm start /scratch/<userid>/iPlanet/dsinst1/
Sunスキーマを拡張して、OIM固有のオブジェクト・クラスと属性タイプを追加します。
cd to $MW_HOME/oracle_common/modules/oracle.ovd_11.1.1/oimtemplates
次のコマンドを実行して、ldifファイルsunOneSchema.ldif
をロードします。
ldapmodify -h <ODSEE Server> -p <ODSEE port> -D <ODSEE Admin ID> -w <ODSEE Admin password> -f sunOneSchema.ldif
次に例を示します。
./ldapmodify -h localhost -p 1389 -D "cn=directory manager" -w welcome1 -c -f sunOneSchema.ldif
OAM-OIM統合を有効化する場合には、次のOAMスキーマを拡張します。
ODSEE/iPlanetの場合、ODSEEのOAMスキーマを拡張するには、次のファイルを検索します。
注意: iPlanet7_user_index_add.ldifのかわりにどのindex-rootを使用する必要があるかわからない場合には、iPlanet7_user_index_generic.ldifファイル(このファイルにはindex-rootの検出に関する順を追った説明もあります)を使用してください。 |
ldapmodifyをコマンド行から使用して、4つのLDIFファイルをロードします。
cd $IAM_HOME/oam/server/oim-intg/ldif/iplanet/schema/ ldapadd -h <ODSEE_server> -p <ODSEE_port> -D <ODSEE_admin_ID> -w <ODSEE_admin_password> -f iPlanet7_user_index_add.ldif
または、
ldapadd -h <ODSEE Server> -p <ODSEE_port> -D <ODSEE_admin_ID> -w <ODSEE_admin_password> -f iPlanet7_user_index_generic.ldif ldapmodify -h <ODSEE_server> -p <ODSEE_port> -D <ODSEE_admin_ID> -w <ODSEE_admin_password> -f iPlanet_oam_pwd_schema_add.ldif ldapmodify -h <ODSEE_server> -p <ODSEE_port> -D <ODSEE_admin_ID> -w <ODSEE_admin_password> -f iPlanet_user_schema_add.ldif ldapadd -h <ODSEE_server> -p <ODSEE_port> -D <ODSEE_admin_ID> -w <ODSEE_admin_password> -f iPlanet_user_index_add.ldif
OIMの一般名生成機能に対して、参照整合性を有効にします。
DNまたはRDNが変更されたときはいつでも、OIMおよびOID/Active Directory/ODSEEで参照整合性を有効化する必要があります。
ディレクトリ・サーバーで参照整合性が有効になっている場合、OIMプロパティXL.IsReferentialIntegrityEnabledInLDAP
をTRUE
に設定する必要があります(デフォルトはFALSE
)。XL.IsReferentialIntegrityEnabledInLDAP
をTRUE
に設定するには、OIMにログインして、「詳細」→「システム管理」→「システム構成」に移動します。システム・プロパティ(XL.IsReferentialIntegrityEnabled
)を検索し、プロパティの値をTRUE
に設定します。
次のコマンドを使用して、参照整合性プロパティの値を表示します。
..dsee7/bin/dsconf get-server-prop -h <ODSEE server> -p <ODSEE port> ref-integrity-enabled Enter "cn=Directory Manager" password: ref-integrity-enabled : off
次のコマンドを使用して、参照整合性プロパティを有効にします。
./dsconf set-server-prop -h <ODSEE server> -p <ODSEE port> ref-integrity-enabled:on Enter "cn=Directory Manager" password:
変更内容を有効にするには、ディレクトリ・サーバーを再起動する必要があります。参照整合性プロパティを有効にした後で、ODSEE/iPlanet Serverを再起動します。
..dsee7/bin/dsadm stop <ODSEE instance> ..dsee7/bin/dsadm start <ODSEE instance>
次に例を示します。
..dsee7/bin/dsadm stop /scratch/<userid>/iPlanet/dsinst1/ ..dsee7/bin/dsadm start /scratch/<userid>/iPlanet/dsinst1/
値が正しく設定されたかどうかを確認するための問合せを実行します。
..dsee7/bin/dsconf get-server-prop -h <ODSEE server> -p <ODSEE port> ref-integrity-enabled Enter "cn=Directory Manager" password: ref-integrity-enabled : on
OIM管理ユーザー、グループおよびACIを作成します。新しいファイルoimadminuser.ldif
を開きます。このoimadminuserは、OIMのプロキシ・ユーザーとして使用されます。
ルート接尾辞はdc=mycompany,dc=com
です。これは、ODSEEサーバーの適切なルート接尾辞と置換する必要があります。
次のLDAPエントリを追加して、ファイルoimadminuser.ldif
を保存します。次のコマンドを実行して、ldifファイルoimadminuser.ldifをロードします。
ldapmodify -h <ODSEE Server> -p <ODSEE port> -D <ODSEE Admin ID> -w <ODSEE Admin password> -f oimadminuser.ldif dn: cn=systemids,dc=mycompany,dc=com changetype: add objectclass: nsContainer objectclass: top cn: systemids dn: cn=oimAdminUser,cn=systemids,dc=mycompany,dc=com changetype: add objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetorgperson mail: oimAdminUser givenname: oimAdminUser sn: oimAdminUser cn: oimAdminUser uid: oimAdminUser userPassword: welcome1 dn: cn=oimAdminGroup,cn=systemids,dc=mycompany,dc=com changetype: add objectclass: groupOfUniqueNames objectclass: top cn: oimAdminGroup description: OIM administrator role uniquemember: cn=oimAdminUser,cn=systemids,dc=mycompany,dc=com dn: cn=users,cn=oracleAccounts,dc=mycompany,dc=com changetype: modify add: aci aci: (target = "ldap:///cn=users,cn=oracleAccounts,dc=mycompany,dc=com")(targetattr = "*")(version 3.0; acl "Allow OIMAdminGroup add, read and write access to all attributes"; allow (add, read, search, compare,write, delete, import) (groupdn = "ldap:///cn=oimAdminGroup,cn=systemids,dc=mycompany,dc=com");) dn: cn=Groups,cn=oracleAccounts,dc=mycompany,dc=com changetype: modify add: aci aci: (target = "ldap:///cn=Groups,cn=oracleAccounts,dc=mycompany,dc=com")(targetattr = "*")(version 3.0; acl "Allow OIM AdminGroup to read and write access"; allow (read, search, compare, add, write,delete) (groupdn = "ldap:///cn=oimAdminGroup,cn=systemids,dc=mycompany,dc=com");) dn: cn=reserve,cn=oracleAccounts,dc=mycompany,dc=com changetype: modify add: aci aci: (target = "ldap:///cn=reserve,cn=oracleAccounts,dc=mycompany,dc=com")(targetattr = "*")(version 3.0; acl "Allow OIM AdminGroup to read and write access"; allow (read, search, compare, add, write,delete,export) (groupdn = "ldap:///cn=oimAdminGroup,cn=systemids,dc=mycompany,dc=com");) dn: cn=changelog changetype: modify add: aci aci: (target = "ldap:///cn=changelog")(targetattr = "*")(version 3.0; acl "Allow OIM AdminGroup to read and write access"; allow (read, search, compare, add, write,delete,export) (groupdn = "ldap:///cn=oimAdminGroup,cn=systemids,dc=mycompany,dc=com");)
次のコマンドを使用して、LDAP内のエントリとACIをチェックします。
ldapsearch -h <ODSEE Server> -p <ODSEE Port> -x -D "cn=Directory Manager" -w <ODSEE Admin Password> -b "cn=changelog" -s sub "objectclass=*" aci ldapsearch -h <ODSEE Server> -p <ODSEE Port> -x -D "cn=Directory Manager" -w <ODSEE Admin Password> -b "cn=users,cn=oracleAccounts,dc=mycompany,dc=com" -s sub "objectclass=*" aci ldapsearch -h <ODSEE Server> -p <ODSEE Port> -x -D "cn=Directory Manager" -w <ODSEE Admin Password> -b "cn=groups,cn=oracleAccounts,dc=mycompany,dc=com" -s sub "objectclass=*" aci ldapsearch -h <ODSEE Server> -p <ODSEE Port> -x -D "cn=Directory Manager" -w <ODSEE Admin Password> -b "cn=reserve,cn=oracleAccounts,dc=mycompany,dc=com" -s sub "objectclass=*" aci
LDAP同期には、LDAP管理ユーザーとは異なる、プロキシ・ユーザーおよびグループのLDAPでの作成が必要となります。これは、Oracle Identity ManagerにLDAPのディレクトリ・ストアの更新を許可するために行われます。それらの更新がOracle Identity Managerにリコンサイルされることなく、変更はプロキシ・ユーザーとして行われ、プロキシ・ユーザーによって行われた変更は、リコンシリエーション中にOracle Identity Managerによってフィルタで除外されます。
OUDとのLDAP同期を使用するには、いくつかの追加要件があります。OUDの外部変更ログ(ECL)を有効にする必要があり、プロキシ・ユーザーに、それを問い合せるための権限を付与する必要があります。これを行うには、次の手順を実行します。
注意: この項内の例は、ローカルホスト上のOUDインスタンス、および単純なバインド・パスワードがセキュアなファイル(PASSWORD_FILE)内に格納されていることが前提となっています。ローカル環境のために必要な場合は、コマンドを変更します。 |
OUDをインストールしたら、変更ログ・アクセスのためにプロキシ・ユーザーおよびグループのグローバルACIを変更するよう、その構成ファイルを変更します。それを行うには、MIDDLEWARE_HOME/Oracle_OUD1/asinst_1/OUD/config/config.ldifファイルで、次のデフォルト値を置き換えます。
ds-cfg-global-aci: (target="ldap:///cn=changelog")(targetattr="*")(version 3.0; acl "External changelog access"; deny (all) userdn="ldap:///anyone";)
次のように変更します。
ds-cfg-global-aci: (target="ldap:///cn=changelog")(targetattr="*")(version 3.0; acl "External changelog access"; deny (all) userdn!="ldap:///cn=oimAdminUser,cn=systemids,dc=us,dc=mydomain,dc=com";) ds-cfg-global-aci: (target="ldap:///cn=changelog")(targetattr="*")(version 3.0; acl "External changelog access"; allow (read,search,compare,add,write,delete,export) groupdn="ldap:///cn=oimAdminGroup,cn=systemids,dc=us,dc=mydomain,dc=com";)
注意:
|
OUDのbin
ディレクトリから、oudadmin.ldif
ファイルを使用することで、プロキシ・ユーザーおよびグループを作成します。
./ldapmodify -h localhost -p PORT -D cn=orcladmin -j PASSWORD_FILE -c -f FILE_LOCATION/oudadmin.ldif
レプリケーション・サーバーおよびドメインを作成します。次に示すように、インストールのためにレプリケーション・ポート番号およびベースDN (たとえば、dc=com)を適切に設定します。
./dsconfig -h localhost -p ADMIN_PORT -D cn=orcladmin -j PASSWORD_FILE -X -n create-replication-server --provider-name 'Multimaster Synchronization' --set replication-port:PORT --set replication-server-id:1 --type generic ./dsconfig -h localhost -p ADMIN_PORT -D cn=orcladmin -j PASSWORD_FILE -X -n create-replication-domain --provider-name 'Multimaster Synchronization' --set base-dn:dc=com --set replication-server:localhost:PORT --set server-id:1 --type generic --domain-name dc=com
次に示すように、ECL制御へのアクセスを提供します。
./dsconfig -h localhost -p ADMIN_PORT -D cn=orcladmin -X -j PASSWORD_FILE -n set-access-control-handler-prop --add global-aci:\(targetcontrol=\"1.3.6.1.4.1.26027.2.3.4\"\)\(version\ 3.0\;\ acl\ \"Authenticated\ users\ control\ access\"\;\ allow\(read\)\ userdn=\"ldap:///all\"\;\)
次のように、コマンド・ラインで、およびOracle Identity Manager内の手動によるテストで、プロキシ・ユーザーに変更ログへのアクセス権があることを確認します。
コマンド・ライン・テスト: 次のコマンドの結果が同じであることを確認します。
ldapsearch -h localhost -p PORT -D OIM_PROXY_USER -j PASSWORD_FILE -b "cn=changelog" -s one ldapsearch -h localhost -p PORT -D OUD_ADMIN_USER -j PASSWORD_FILE -b "cn=changelog" -s one
ここでは、OIM_PROXY_USERは前に作成したプロキシ・ユーザー(たとえば、cn=oimAdminUser、cn=systemids、...)、OUD_ADMIN_USERはOUDのインストール時に作成した管理者(たとえば、cn=orcladmin)です。
OIMテスト: 増分リコンシリエーションを実行するために、OUDから最後の変更ログ番号を取得する必要があります。これを行うには、次の手順を実行します。
Oracle Identity Managerでユーザーおよび/またはロールを作成します。
そのユーザーおよび/またはロールが正常にLDAPと同期されたことを確認します。
LDAPでのそのユーザーおよび/またはロールについて、表示名などの安全な属性を変更します。
増分リコンシリエーション・スケジュール済タスクUIで最後の変更ログが正しく初期化されていることを確認し、増分ユーザー(またはロール)作成/変更を実行し、エンティティ変更がOracle Identity Managerに反映されていることを確認します。
次のように、グローバルACIをOUDから直接調べることができます。
./dsconfig -h localhost -p ADMIN_PORT -D cn=orcladmin -X -j PASSWORD_FILE -n get-access-control-handler-prop --property global-aci
OUDから最後の変更ログを取得します。
OUDで、外部変更ログ(ECL)がその変更ログ番号のために使用されます。これは数値ではありませんが、かわりにベース名で始まる形式となります。ECLを取得するコマンドは、次のとおりです。
ldapsearch -h localhost -p PORT -D "cn=orclAdmin" -j PASSWORD_FILE -b "" -s base "objectclass=*" lastExternalChangelogCookie
コマンドの例とECLのサンプルを次に示します。ベース名で始まる変更ログ文字列をコピーします。通常、その文字列には、終了の前にスペースおよび/またはキャリッジ・リターンがあります。必ず文字列全体をコピーするようにしてください(ただし、文字列およびCRを除く)。
ldapsearch -h localhost -p PORT -D "cn=orclAdmin" -j PASSWORD_FILE -b "" -s base "objectclass=*" lastExternalChangelogCookie
dn:
lastExternalChangelogCookie: dc=com:00000154c04613df0001000000
1b;
Oracle Identity Managerでこれを使用するには、次のように<CR>/
スペースを削除してください(存在する場合)
dc=com:00000154c04613df00010000001b
テスト目的で、ECLの取得前に変更を行うために、いくつかのエントリを再度変更ログに設定する必要がある場合があります。
dc=us,dc=mydomain,dc=com:00000154c04613df000100000010
インストール時のLDAP同期の有効化によって、同期に必要なlibOVDまたはOVDアダプタも構成されます。最初のOracle Identity Managerのインストール後にLDAP同期を有効化する場合は、libOVDまたはOVDアダプタを手動で構成する必要があります。
libOVDとともにLDAP同期を有効化する場合は、第E.1.3.2項「Identity Virtualization Library (libOVD)アダプタの作成およびOracle Identity Managerとの統合」および第E.2.10項「Identity Virtualization Library (libOVD)アダプタの管理」を参照してください。
また、スタンドアロンOVDサーバーを構成済の場合は、ディレクトリ・サーバーITリソース・タイプの「ITリソース」ページをOVDサーバーの詳細で構成する必要があります。第E.1.4.2項「ITリソースの変更」を参照してください。さらに、各種のLDAPサーバーのOVDアダプタを作成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Identity and Access Managementインストレーション・ガイド』のOracle Virtual Directoryでのアダプタの作成に関する項を参照してください。
Oracle Identity Managerとの統合用のOVDを構成している場合は、次のトピックを参照してください。
第E.1.3.1項「Oracle Internet DirectoryおよびActive Directoryに対するOracle Virtual Directoryアダプタの作成」
第E.1.3.2項「Identity Virtualization Library (libOVD)アダプタの作成およびOracle Identity Managerとの統合」
UserManagementプラグインを使用すると、Oracle Internet DirectoryおよびActive Directory用のOracle Virtual Directoryユーザーおよび変更ログ・アダプタを作成できます。Oracle Identity Managerにはアダプタが必要です。Oracle Virtual Directoryを使用してOracle Internet Directoryに接続することを強くお薦めします。ただしこれは必須ではありません。
そのためには、次のタスクを実行します。
第D.2項「環境変数の設定」の説明に従って、必要なすべての環境変数が設定されていることを確認します。
Oracle Internet Directoryアダプタのプロパティ・ファイル(名称: ovd1.props
)を、次のように作成します。
注意: usecase.type:single パラメータは、configOVD オプションではActive Directoryに対してサポートされていません。 |
ovd.host:ovdhost1.mycompany.com ovd.port:8899 ovd.binddn:cn=orcladmin ovd.password:ovdpassword ovd.oamenabled:true ovd.ssl:true ldap1.type:OID ldap1.host:oididstore.myhost.mycompany.com ldap1.port:3060 ldap1.binddn:cn=orcladmin,cn=systemids,dc=mycompany,dc=com ldap1.password:oidpassword ldap1.ssl:false ldap1.base:dc=mycompany,dc=com ldap1.ovd.base:dc=mycompany,dc=com usecase.type: single
次の表で、プロパティ・ファイルで使用されるパラメータについて説明します。
パラメータ | 説明 |
---|---|
ovd.host |
Oracle Virtual Directoryを実行するサーバーのホスト名。 |
ovd.port |
Oracle Virtual Directoryにアクセスするために使用されるhttpsポート。 |
ovd.binddn |
Oracle Virtual Directoryに接続するために使用されるUser DN。 |
ovd.password |
Oracle Virtual Directoryに接続するために使用されるDN用のパスワード。 |
ovd.oamenabled |
次の場合は常にtrueです。
|
ovd.ssl |
httpsポートを使用している場合はtrueに設定します。 |
ldap1.type |
Oracle Internet Directoryバックエンド・ディレクトリの場合はOIDに、Active Directoryバックエンド・ディレクトリの場合はADに設定されます。 |
ldap1.host |
バックエンド・ディレクトリが存在するホスト。ロード・バランサ名を使用します。 |
ldap1.port |
バックエンド・ディレクトリとの通信に使用されるポート。 |
ldap1.binddn |
oimLDAPユーザーのバインドDN。 |
ldap1.password |
oimLDAPユーザーのパスワード。 |
ldap1.ssl |
バックエンドのSSL接続を使用している場合はtrueに、それ以外の場合はfalseに設定します。AD用にアダプタを作成する場合、このパラメータを常にtrueに設定します。 |
ldap1.base |
ディレクトリ・ツリーにおけるベースの場所。 |
ldap1.ovd.base |
Oracle Virtual Directoryでマップされた場所。 |
usecase.type |
単一ディレクトリ・タイプを使用している場合、Singleに設定します。 |
次の場所にあるidmConfigTool
コマンドを使用してアダプタを構成します。
IAM_ORACLE_HOME
/idmtools/bin
注意: idmConfigTool を実行すると、idmDomainConfig.param ファイルが作成されるか、既存のこのファイルに情報が追加されます。このファイルは、idmConfigTool を実行したディレクトリに作成されます。このツールを実行するたびに同じファイルに情報が追加されるようにするには、必ず次のディレクトリでidmConfigTool を実行します。
|
Linuxの場合、このコマンドの構文は次のとおりです。
idmConfigTool.sh -configOVD input_file=configfile [log_file=logfile]
Windowsの場合、このコマンドの構文は次のとおりです。
idmConfigTool.bat -configOVD input_file=configfile [log_file=logfile]
次に例を示します。
idmConfigTool.sh -configOVD input_file=ovd1.props
このコマンドでは、入力は必要ありません。次のように出力されます。
The tool has completed its operation. Details have been logged to logfile
プロパティ・ファイルでovd.host
に適切な値を設定して、トポロジ内の各Oracle Virtual Directoryインスタンスに対してこのコマンドを実行します。
libOVDに関連するスクリプトまたはテンプレート・ファイルを使用することでIdentity Virtualization Library (libOVD)アダプタを構成できます。表E-1は、Identity Virtualization Library (libOVD)アダプタの構成に使用するファイルを示しています。
表E-1 Identity Virtualization Library (libOVD)アダプタの構成ファイル
ファイル | 説明 |
---|---|
$MW_HOME/oracle_common/modules/oracle.ovd_11.1.1/ディレクトリ内のファイル |
Identity Virtualization Library (libOVD)に関連するファイル |
$MW_HOME/oracle_common/bin/ディレクトリ内のファイル: libovdadapterconfig.sh libovdconfig.sh libovdadapterconfig.bat libovdconfig.bat |
Identity Virtualization Library (libOVD)を構成するためのスクリプト・ファイル |
$MW_HOME/Oracle_IDM/libovd/ディレクトリのファイル: adapter_template_oim_ldap.xml adapter_template_oim.xml |
Identity Virtualization Library (libOVD)を構成するための一時ファイル |
$MW_HOME/user_projects/domains/DOMAIN_NAME/config/fmwconfig/ovd/ADAPTER_NAME/ディレクトリのファイル: adapters.os_xml デフォルトでは、ADAPTER_NAMEの値はoimです。 |
Identity Virtualization Library (libOVD)を構成した後の構成ファイル |
Identity Virtualization Library (libOVD)アダプタを構成し、Oracle Identity Managerと統合する手順は、次のとおりです。
スクリプトを実行してIdentity Virtualization Library (libOVD)を構成する前に、次の環境変数を設定します。
MW_HOMEを適切なミドルウェア・ホーム・ディレクトリに設定
ORACLE_HOMEを$MW_HOME/oracle_commonに設定
WL_HOMEを$MW_HOME/wlserver_10.3に設定
JAVA_HOMEを適切なJDKパスに設定
Identity Virtualization Library (libOVD)を構成する手順は、次のとおりです。
注意: コマンド内のホスト・コンピュータおよびディレクトリ・パスの該当する情報を置換し、Identity Virtualization Library (libOVD)を構成するためのスクリプトを実行します。 |
libOVD構成ファイルを作成し、ディレクトリ構造をレイアウトするには、次のコマンドを実行します。
sh $MW_HOME/oracle_common/bin/libovdconfig.sh -domainPath FULL_PATH_OF_DOMAIN -contextName oim -host ADMINSERVER_HOST -port ADMINSERVER_PORT -userName ADMINSERVER_USERNAME
次に例を示します。
sh $MW_HOME/oracle_common/bin/libovdconfig.sh -domainPath $MW_HOME/user_projects/domains/base_domain -contextName oim -host myhost.mycompany.com -port 7001 -userName weblogic
このコマンドによって、Oracle Identity ManagerにOVD構成ファイルを含むディレクトリ構造が作成され、構成ファイル・テンプレートがコピーされます。この例では、contextNameはoimと想定されます。したがって、OVD構成ファイルはDOMAIN_HOME/config/fmwconfig/ovd/oim/ディレクトリに作成されます。ここで、DOMAIN_HOMEは、自身のドメインのホーム・ディレクトリとして使用しているディレクトリです。
注意: Identity Virtualization Library (libOVD)はOracle Identity Managerに組み込まれているため、どちらも同じWebコンテナにデプロイされます。したがって、管理サーバー・ホストと管理サーバー・ポートは、LDAPがインストールされているコンピュータではなくOracle Identity Managerがインストールされているものと同じコンピュータのものであることが必要です。 |
コマンドを実行すると、次のものが表示されます。必要な場合にはパスワードを入力します。
Enter AdminServer Password: Successfully created OVD config files CSF Credential creation successful Permission Grant successful Successfully configured OVD MBeans
ユーザー・アダプタおよび変更ログ・アダプタを作成するには、次のコマンドを実行します。
sh $MW_HOME/oracle_common/bin/libovdadapterconfig.sh -domainPath FULL_PATH_OF_DOMAIN -contextName oim -host ADMINSERVER_HOST -port ADMINSERVER_PORT -userName ADMINSERVER_USERNAME -adapterName ADAPTER_NAME -adapterTemplate $MW_HOME/Oracle_IDM1/libovd/adapter_template_oim.xml -bindDN LDAP_BIND_DN -createChangelogAdapter -dataStore LDAP_DIRECTORY_TYPE -ldapHost LDAP_HOST -ldapPort LDAP_PORT -remoteBase REMOTE_BASE -root VIRTUAL_BASE
ここで、テンプレートはoimテンプレートです。これにより、このスクリプトを実行したときに、Oracle Identity Managerテンプレートに基づいて、指定した情報を使用してアダプタが作成されます。この手順で示すコマンドの例では、contextNameはoimであると想定しています。さらに、bindDN
パラメータには、LDAPの事前構成手順で作成されたOracle Identity Manager管理者アカウントの同じDNが含まれている必要があります。つまり、LDAPの事前構成でcn=oimAdminUser,cn=systemids,dc=mycompany,dc=com
アカウントが作成された場合は、bindDN
をcn=oimAdminUser,cn=systemids,dc=mycompany,dc=com
に設定する必要があります。
注意:
|
バックエンドLDAPサーバー・ポートがSSLを使用するように構成されている場合、Oracle Identity Managerユーザーはkeytoolを使用して信頼できる証明書をLDAPサーバーからIdentity Virtualization Library (libOVD)キーストアにインポートする必要があります。これを行うには、「Identity Virtualization Library (libOVD)とディレクトリ・サーバーの間でのSSLの有効化」を参照してください。
非SSL LDAPサーバー・ポートを使用した例:
sh $MW_HOME/oracle_common/bin/libovdadapterconfig.sh -domainPath $MW_HOME/user_projects/domains/base_domain -contextName oim -host myadminserver.mycompany.com -port 7001 -userName weblogic -adapterName LDAP1 -adapterTemplate adapter_template_oim.xml -bindDN "cn=orcladmin" -createChangelogAdapter -dataStore OID -ldapHost myldaphost.mycompany.com -ldapPort 3060 -remoteBase "dc=us,dc=oracle,dc=com" -root "dc=us,dc=oracle,dc=com" Enter AdminServer Password: Enter LDAP Server Password:
SSLを使用するように構成されたLDAPサーバー・ポートを使用した例:
注意: LDAPポートにSSLポートを使用する場合は、libovdadapterconfig.shまたはlibovdadapterconfig.batコマンドで-enableSSLパラメータを指定します。 |
sh $MW_HOME/oracle_common/bin/libovdadapterconfig.sh -domainPath $MW_HOME/user_projects/domains/base_domain -contextName oim -host myadminserver.mycompany.com -port 7001 -userName weblogic -adapterName LDAP1 -adapterTemplate adapter_template_oim.xml -bindDN "cn=orcladmin" -createChangelogAdapter -dataStore OID -ldapHost myldaphost.mycompany.com -ldapPort 3161 -enableSSL -remoteBase "dc=us,dc=oracle,dc=com" -root "dc=us,dc=oracle,dc=com" Enter AdminServer Password: Enter LDAP Server Password:
次のコマンドを実行することで、WebコンテナおよびOracle Identity Managerを再起動します。
cd $MW_HOME/user_projects/domains/DOMAIN_NAME/bin/ ./stopManagedWebLogic.sh oim_server1 ./stopWebLogic.sh ./startWebLogic.sh ./startManagedWebLogic.sh oim_server1
Oracle Identity ManagerをOracle Identity Virtualization (libOVD)に統合する手順は、次のとおりです。
Oracle Identity System Administrationにログインします。
左のペインで、構成の下の「ITリソース」をクリックします。別のウィンドウに「ITリソースの管理」ページが表示されます。
「ITリソース・タイプ」リストから「ディレクトリ・サーバー」を選択し、「検索」をクリックします。
ディレクトリ・サーバーITリソースについては、「編集」をクリックします。「ITリソースの詳細およびパラメータの編集」ページが表示されます。
「検索ベース」フィールドに、たとえばdc=oracle,dc=com
のように値を入力します。
「ユーザー予約コンテナ」フィールドに、たとえば、cn=reserve,dc=us,dc=oracle,dc=com
のように値を入力します。
Oracle Identity ManagerがデプロイされているWebLogicサーバーを再起動します。
サーバーにアクセスし、Oracle Identity System Administrationを介してユーザーおよびロールの管理を試みます。
libovdadapterconfig.sh
コマンドに-dataStore
オプションを使用して選択したLDAPサーバーでデータが管理されていることを検証するには、ldapclient
ツールを使用してLDAPサーバーに直接、接続します。
LDAP同期の有効化には、次の手順が含まれます。
デフォルトで、MDSにはLDAP同期の有効化に必要なファイルが含まれていません。したがって、MDS内に様々な構成ファイルをインポートする必要があります。初期段階でファイルはMDS内に存在しませんが、テンプレート・バージョンをOracle Identity Managerの配布内で見つけることができます。これらのファイルはインポートの前に、ユーザーのカスタマイズを反映するために編集が必要な場合もあります。
これらのファイルのテンプレート・バージョンは$IAM_ORACLE_HOME/server/metadata/ディレクトリ内にあります。
ユーザー、ロール、ロール階層およびロール・メンバーシップのファイルをMDS内にインポートする必要があります。たとえばUDFの追加などで、これらのエンティティおよび関連性を変更している場合は、変更およびインポートの前に元のファイルのバックアップを作成する必要があります。
ほとんどの新規インストールで、イベント・ハンドラを変更せずにMDSにインポートできます。場合によっては、ライフサイクル・イベントに対するOIMレスポンスをカスタマイズするために、イベント・ハンドラを変更します。
LDAPContainerRulesは、同期をユーザー環境で有効にするために、常に編集する必要があります。
カスタマイズがユーザー環境で適用された後、ファイル・システム上の元のテンプレート・バージョンは期限切れかもしれないため、アクティブ・バージョンを取得するために最初にファイルをMDSからエクスポートする必要があります。
MDSファイルを変更およびインポートする手順:
OIM_ORACLE_HOME環境変数に、Oracle Identity Managerがデプロイされているディレクトリを設定します。正確な場所はユーザーのインストールによって異なります。この一例は/u01/Oracle/Middleware/IAM
です。
次のファイルを、MDSから一時ステージング・ディレクトリ(/tmpなど)にコピーします。
注意:
|
LDAPユーザー、ロール、ロール階層およびロール・メンバーシップ・リコンシリエーションのための、リコンシリエーション・プロファイルおよびリコンシリエーション水平表エンティティ定義の構成に、次のメタデータが使用されます。
/db/LDAPUser
/db/LDAPRole
/db/LDAPRoleHierarchy
/db/LDAPRoleMembership
/db/LDAPContainerRules.xml
/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=Users,dc=us,dc=sample,dc=com
など)
$DefaultRoleContainer$
を、目的のコンテナ構造を反映する値に(cn=SomeSubContainer,cn=Groups,dc=us,dc=sample,dc=com
など)
Oracle Enterprise Managerを使用することでインポートを実行します。MDSからのメタデータ・ファイルのインポートの詳細は、『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のユーザーが修正可能なメタデータ・ファイルの移行に関する項を参照してください。
注意: MDS内へのインポート時にEventHandlers.xmlが$STAGING_DIR/db/ldapMetadata/ディレクトリ内にあることを確認します。カスタマイズおよびインポートの実行後、目的の変更とともにファイルが正しいMDSの場所にあることを確認するため、MDSからファイルをエクスポートすることをお薦めします。MDSのドキュメントに、MDSのエクスポートに関する説明があります。 |
Oracle Identity ManagerでITリソース構成を編集します。これを行うには、次の手順を実行します。
Oracle Identity System Administrationにシステム管理者としてログインするには、次のURLに移動します。
http://HOST_NAME:PORT/sysadmin
左のナビゲーション・ペインで、構成の下の「ITリソース」をクリックします。「ITリソースの管理」ページが表示されます。
Directory Server
ITリソースを探します。
このITリソースを「検索ベース」および予約コンテナの値で更新します。
「検索ベース」の推奨値は、ルート接尾辞またはベースDN(dc=us,dc=example,dc=com
など)です。
OVDサーバーでOracle Identity Managerを構成する場合は、「サーバーURL」にOVDサーバーのホストおよびポートの詳細を入力します。
Identity Virtualization Library (libOVD)でOracle Identity Managerを構成する場合は、「サーバーURL」に値を入力しないでください。空白にする必要があります。
LDAPサーバーに使用されるバインド資格証明の値を入力します。これは、idmConfigToolのIDSTORE_BINDDN
として使用される場合と同じです。
管理ログイン: cn=oimadmin
管理パスワード: 1111111111
予約コンテナの値が、cn=reserve,VALUE_OF_THE_ROOT_SUFFIXであることを確認します。次に例を示します。
予約コンテナ: cn=reserve,dc=us,dc=example,dc=com
リコンシリエーション・ジョブでは、LDAPリコンシリエーションのスケジュール済ジョブをOracle Identity Managerスキーマの一部であるクォーツ表にシードします。前提条件で行ったように、OIM_ORACLE_HOME環境変数を設定します。次に例を示します。
Microsoft Windowsの場合は、次のコマンドを実行してOIM_ORACLE_HOME環境変数をC:\Oracle\Middleware\Oracle_IDM1ディレクトリに設定します。
set OIM_ORACLE_HOME=C:\Oracle\Middleware\Oracle_IDM
UNIXでは、次のコマンドを実行します。
setenv OIM_ORACLE_HOME /u01/mwhome/Oracle_IDM
LDAPリコンシリエーション・スケジュール済ジョブのシードは、次の内の1つの方法で実行できます。
LDAPリコンシリエーション・スケジュール済ジョブのパラメータによるシード
$OIM_ORACLE_HOME/server/setup/deploy-filesディレクトリに移動します。
antのホームを設定します。次に、antのホームを設定するコマンドの例を示します。
UNIXの場合:
setenv ANT_HOME /u01/mwhome/modules/org.apache.ant_1.7.1
Microsoft Windowsの場合:
set ANT_HOME=/u01/mwhome/modules/org.apache.ant_1.7.1
注意: ANTがインストールされていない場合は、次のURLに移動してOracle Technology Network (OTN)のWebサイトからANTをダウンロードします。
ANTをインストールして、ANT_HOMEを設定します。ant実行ファイルが、$ANT_HOME/bin/ant/ディレクトリにあることを確認します。 |
パラメータを設定してantコマンドを実行します。
$ANT_HOME/bin/ant -f setup.xml seed-ldap-recon-jobs -DoperationsDB.driver=oracle.jdbc.OracleDriver -DoperationsDB.user=SCHEMA_OWNER_USERNAME -DOIM.DBPassword=SCHEMA_OWNER_PASSWORD -DoperationsDB.host=SCHEMA_HOST_ADDRESS -DoperationsDB.port=SCHEMA_PORT_NUMBER -DoperationsDB.serviceName=SCHEMA_SERVICE_NAME -Dssi.provisioning=ON -Dweblogic.server.dir=WEBLOGIC_SERVER_LOCATION -Dojdbc.location=OJDBC_LOCATION -Dwork.dir=seed_logs
次に例を示します。
$ANT_HOME/bin/ant -f setup.xml seed-ldap-recon-jobs -DoperationsDB.driver=oracle.jdbc.OracleDriver -DoperationsDB.user=schemaowner1_OIM -DOIM.DBPassword=SCHEMA_OWNER_PASSWORD -DoperationsDB.host=myhost.mycompany.com -DoperationsDB.port=1521 -DoperationsDB.serviceName=oimdb.regress.rdbms.mycompany.com -Dssi.provisioning=ON -Dweblogic.server.dir=$MW_HOME/wlserver_10.3 -Dojdbc.location=$MW_HOME/wlserver_10.3/server/lib/ojdbc6.jar -Dwork.dir=seed_logs
LDAPリコンシリエーション・スケジュール済ジョブのプロファイル・ファイルによるシード
ANT_HOME環境変数には、ANTがインストールされているディレクトリを設定します。
注意: ANTがインストールされていない場合は、次のURLのOracle Technology Network (OTN) WebサイトからANTをダウンロードします。
ANTをインストールして、ANT_HOMEを設定します。ant実行ファイルが、$ANT_HOME/bin/ant/ディレクトリにあることを確認します。 |
$OIM_ORACLE_HOME/server/bin/ディレクトリに移動します。
表E-2に示すプロパティを使用して、プロパティ・ファイルを作成します。
注意: プロパティ・ファイルを新規に作成するかわりに、appserver.profileを使用することもできます。この手順にリストされたプロパティに値が設定されていることを確認します。 |
表E-2 プロパティ・ファイルのパラメータ
パラメータ | 説明 |
---|---|
operationsDB.user |
Oracle Identity Managerデータベース・スキーマの所有者 |
operationsDB.driver |
|
operationsDB.host |
Oracle Identity Managerデータベース・スキーマのホスト・アドレス |
OIM.DBPassword |
Oracle Identity Managerデータベース・スキーマの所有者のパスワード |
operationsDB.serviceName |
Oracle Identity Managerデータベース・スキーマのサービス名。たとえば、 |
operationsDB.port |
Oracle Identity Managerデータベース・スキーマのポート番号。 |
ssi.provisioning |
値は |
weblogic.server.dir |
Oracle WebLogic Serverのインストール先のディレクトリ。たとえば、 |
ojdbc.location |
JDBCのインストール先のディレクトリ。たとえば、 |
work.dir |
ログ・ファイルを作成する任意のディレクトリ。 ターゲットの完了後に、$WORK_DIR/seed_logs/ldap/SeedSchedulerData.logファイルでログをチェックできます。 |
appserver.type |
アプリケーション・サーバー。WebLogicの場合の値は |
appserver.dir |
WebLogic Serverディレクトリへの絶対パス |
$OIM_ORACLE_HOME/server/setup/deploy-files/ディレクトリに移動します。
次のコマンドを実行します。
$ANT_HOME/bin/ant -f setup.xml seed-ldap-recon-jobs -propertyfile $OIM_ORACLE_HOME/server/bin/PROPERTY_FILE_NAME
OVDまたはlibOVDのいずれかを、すべてのサポートされるディレクトリ・サーバーに対するフロントエンドとすることができます。ただし、スタンドアロンOVDではなくlibOVDは、OUDのフロントエンドとして使用することをお薦めします。すでにOVD-OUD-OIMトポロジがあり、それをlibOVD-OUD-OIMに変換する場合は、次の手順を実行します。
増分ロールおよびユーザー・リコンシリエーションのスケジュール済ジョブを無効化します。
次のコマンドを実行して、ディレクトリ・サーバーの最新の変更ログ・エントリを記録します。
ldapsearch -h HOST -p PORT -D "cn=orcladmin" -w PASSWORD -b "" -s base "objectclass=*" lastchangenumber
スケジュール済のリコンシリエーション・ジョブを再有効化する前に、この変更ログ番号がディレクトリ・サーバーのITリソースに配置されることを確認します。
libOVDアダプタを作成します。詳細は、第E.1.3.2項「Identity Virtualization Library (libOVD)アダプタの作成およびOracle Identity Managerとの統合」を参照してください。
Oracle Identity ManagerのITリソースを編集します。詳細は、第E.1.4.2項「ITリソースの変更」を参照してください。
手順1で無効化した増分ロールおよびユーザー・リコンシリエーション・ジョブを再有効化します。
LDAP同期の管理について、次の各項で説明します。
注意:
|
LDAP構成設定後スクリプトにより、デフォルトでは無効になっているすべてのLDAP同期関連の増分リコンシリエーション・スケジューラ・ジョブが有効化されます。また、ディレクトリ・サーバーから最後の変更番号が取得され、LDAP同期の増分リコンシリエーション・ジョブがすべて更新されます。最終変更番号でLDAP同期の増分リコンシリエーション・ジョブがすべて更新されます。
注意:
|
LDAP構成後ユーティリティを実行する手順:
LDAP構成後ユーティリティを実行する前に、次の環境変数が設定されていることを確認します。
APP_SERVER: Oracle Identity Managerが実行されているアプリケーション・サーバーに設定します。APP_SERVERをweblogic
に設定します。
JAVA_HOME: JDKがマシンにインストールされているディレクトリに設定します。
MW_HOME: Oracle Identity Managerインストール中に指定したミドルウェア・ホームへのパスに設定します。
OIM_ORACLE_HOME: Oracle Identity Managerがデプロイされているディレクトリに設定します。次に例を示します。
UNIXの場合はMW_HOME/IAM_HOMEディレクトリです。
Windowsの場合はMW_HOME\IAM_HOMEディレクトリです。
WL_HOME: ミドルウェア・ホーム・ディレクトリの下のwlserver_10.3ディレクトリに設定します。次に例を示します。
UNIXの場合はMW_HOME/wlserver_10.3ディレクトリです。
Windowsの場合はMW_HOME\wlserver_10.3ディレクトリです。
DOMAIN_HOME: WebLogic Serverのドメインに設定します。次に例を示します。
UNIXの場合はMW_HOME/user_projects/domains/base_domainディレクトリです。
Windowsの場合はMW_HOME\user_projects\domains\base_domainディレクトリです。
ldapconfig.propsファイルをテキスト・エディタで開きます。このファイルは、Oracle Identity and Access ManagementのIAM_HOME下のserver/ldap_config_utilディレクトリにあります。
ldapconfig.propsファイルで、表E-3に示したパラメータの値を設定します。
表E-3 ldapconfig.propsファイルのパラメータ
パラメータ | 説明 |
---|---|
OIMServerType |
Oracle Identity Managerがデプロイされるアプリケーション・サーバーを指定します。次に例を示します。 OIMServerType=WLS |
OIMProviderURL |
Oracle Identity ManagerプロバイダのURLを指定します。OIMServerTypeがWLSの場合は、URLを次の形式で指定します。
OIMProviderURL=t3://localhost:MANAGED_SERVER_PORT
|
LDAPURL |
OVDインスタンスのURLを指定します。 OVDサーバーをOracle Identity Managerインストール中に選択した場合、LDAPURLの値を指定します。OVDサーバーをOracle Identity Managerインストール中に選択していない場合、LDAPURLの値は空欄のままにします。 URLを次の形式で指定します。 LDAPURL=ldap://OVD_SERVER:OVD_PORT 次に例を示します。 LDAPURL=ldap://OVDserver.examplehost.exampledomain.com:6501 注意: Active Directory、OID、ODSEEまたはOUDをディレクトリ・サーバーとして選択した場合は、LDAPURLパラメータの値を指定しないでください。OVDをディレクトリ・サーバーとして使用している場合は、OVDサーバーとOVDポート番号を入力し、URLを値のみとして指定します。 |
LDAPAdminUsername |
OVD管理者のユーザー名を指定します。 OVDサーバーをOracle Identity Managerインストール中に選択した場合、LDAP/OVDサーバーに接続する管理ユーザーの名前を指定します。次に例を示します。 LDAPAdminUsername=cn=oimAdminUser,cn=systemids,dc=mycompany,dc=com 注意: LDAPAdminUsernameはアイデンティティ・ストアへの接続に使用されるユーザーの名前です(例: このLDAPAdminUsernameは、顧客のユーザー・アカウントが存在するユーザー・コンテナに配置しないでください。たとえば、 注意: Active Directory、OID、ODSEEまたはOUDをディレクトリとして選択した場合は、LDAP同期を有効化した後でLDAPAdminUsernameパラメータの値を指定しないでください。OVDをディレクトリ・サーバーとして使用している場合のみ、OVDユーザー管理名を値として入力します。 |
LIBOVD_PATH_PARAM |
libOVDの構成ディレクトリ・パスを指定します。次の値をこのパラメータに指定してください。 LIBOVD_PATH_PARAM=MW_HOME/user_projects/domains/base_domain/config/fmwconfig/ovd/oim 注意: LIBOVD_PATH_PARAMパラメータの値をMicrosoft Windowsで指定する場合、値はフォワード・スラッシュ(/)文字で始まる必要があります。また、次のようにフォワード・スラッシュをパス区切り文字として使用します。
LIBOVD_PATH_PARAM=/C:/MW_HOME/user_projects/domains/base_domain/config/fmwconfig/ovd/oim
注意: Active Directory、ODSEEまたはOUDをディレクトリ・サーバーとして選択した場合、前述の例のようにこのプロパティの値を指定します。 注意: OVDサーバーをディレクトリ・サーバーとして選択した場合は、このパラメータの値を指定しないでください。 |
ChangeLogNumber |
このパラメータの値は空白のままにします。 |
手順1の説明に従って、必要な環境変数が設定されていることを確認します。
Oracle Identity Manager管理対象サーバーを起動します。『Oracle Fusion Middleware Oracle Identity and Access Managementインストレーション・ガイド』のサービスの開始に関する項を参照してください。
コマンド行でLDAP構成設定後スクリプトを次のように実行します。
UNIXの場合、次のように実行します。
LDAPConfigPostSetup.sh LOCATION_OF_THE_DIRECTORY_CONTAINING_THE_ldapconfig.props_FILE
次に例を示します。
LDAPConfigPostSetup.sh MW_HOME/IAM_HOME/server/ldap_config_util
スクリプトはデフォルトでIPv4スタックに対して実行されます。LDAPがIPv6のみと構成済のホストで設定されている場合、次のようにLDAPConfigPostSetup.shスクリプトでipv6
を最終引数として明示的に渡す必要があります。
LDAPConfigPostSetup.sh LOCATION_OF_THE_DIRECTORY_CONTAINING_THE_ldapconfig.props_FILE ipv6
Windowsの場合、次のように実行します。
LDAPConfigPostSetup.bat LOCATION_OF_THE_DIRECTORY_CONTAINING_THE_ldapconfig.props_FILE
次に例を示します。
LDAPConfigPostSetup.bat c:\Oracle\Middleware\IAM_HOME\server\ldap_config_util
プロンプトが表示されたら、必要に応じてOracle Identity Managerシステム管理者のパスワードおよびLDAP管理者のパスワードを入力します。
Active Directory、ODSEEまたはOUDをディレクトリ・サーバーとして使用している場合、Oracle Identity Managerシステム管理者のパスワードのみを求められます。
OVDをディレクトリ・サーバーとして使用している場合、Oracle Identity Managerシステム管理者のパスワードおよびLDAP管理者のパスワードの両方が求められます。
Oracle Identity ManagerのLDAPの構成を検証する手順:
WebLogic管理サーバーとOracle Identity Manager管理対象サーバーが稼働中であることを確認します。
Oracle Identity System Administrationにログインします。
「プロビジョニング構成」で、「ITリソース」をクリックします。「ITリソースの管理」ページが表示されます。「検索」をクリックします。
「検索ベース」、予約コンテナ、URLおよびバインドDNのパラメータ値を検証します。
『Oracle Identity Managerの管理』のITリソースの管理に関する項を参照してください。
Oracle Identity Self Serviceにログインして、ユーザーを作成します。
任意のLDAPクライアントを使用して、選択したLDAPストアまたはOVDに同じユーザーが作成されていることを確認します。
注意: 選択したディレクトリ・サーバーまたはOVDとOracle Identity Managerが稼働していることを確認してください。 |
ユーザー作成のカスタマイズおよびフィルタ処理は次の方法で実行できます。
様々なカスタム・オブジェクト・クラスを使用したOracle Identity Managerを介したユーザー作成のカスタマイズ
LDAP同期が有効化されている場合に、LDAPにおいてではなくOracle Identity Managerでユーザーを作成
新しいユーザーを作成する際に、カスタム属性をOracle Identity Managerのユーザー定義フィールド(UDF)として追加することで、またはMDSのLDAPUser.xmlに追加することで、カスタム・オブジェクト・クラスおよびカスタム属性を追加できます。前提条件として、1つ以上の属性を持つカスタム・オブジェクト・クラスを作成し、OIDにロードする必要があります。
カスタム属性をOracle Identity ManagerのUDFまたはMDSのLDAPUser.xmlとして追加する手順は、次のとおりです。
『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』のカスタム属性の作成に関する項に従って、Oracle Identity Managerのユーザー属性にカスタム属性を追加します。
『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のユーザーが修正可能なメタデータ・ファイルの移行に関する項に従って、リポジトリから/metadata/iam-features-ldap-sync/LDAPUser.xmlメタデータ・ファイルをエクスポートします。
LDAPUser.xmlファイルを更新し、custom attribute1
カスタム属性およびcustomObjectClass
カスタム・オブジェクト・クラスを追加します。
createでさらにオブジェクト・クラスを追加するには、LDAPUser.xmlを編集し、さらに<value>エントリを<parameter name="objectclass">ノードに追加します。次に例を示します。
<parameter name="objectclass"> <value>orclIDXPerson</value> <value>customObjectClass</value> </parameter>
カスタム属性をLDAPUser.xmlファイルの3つのセクションに追加します。これを行うには、次の手順を実行します。
その属性エントリを<entity-attributes>タグの終わりに追加します。次に例を示します。
<entity-attributes> ................... ................... <attribute name="custom attribute1"> <type>string</type> <required>false</required> <attribute-group>Basic</attribute-group> <searchable>true</searchable> </attribute> </entity-attributes>
注意: OUD LDAPディレクトリを使用している場合は、カスタム属性名に空白を含めることはできません。OUDでは、属性名に空白が含まれているカスタム属性を作成できません。 |
その属性エントリを<target-fields>タグの終わりに追加します。次に例を示します。
<target-fields> ................... ................... <field name="customattr1"> <type>string</type> <required>false</required> </field> </target-fields>
その属性エントリを<attribute-maps>タグの終わりに追加します。次に例を示します。
<attribute-maps> ................... ................... <attribute-map> <entity-attribute>custom attribute1</entity-attribute> <target-field>customattr1</target-field> </attribute-map> </attribute-maps>
LDAPUser.xmlファイルを保存して閉じます。
『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のユーザーが修正可能なメタデータ・ファイルの移行に関する項に従って、リポジトリに/metadata/iam-features-ldap-sync/LDAPUser.xmlメタデータ・ファイルをインポートします。
(オプション)cnのRDN属性を変更する場合は、<parameter name="rdnattribute">タグを新しいディレクトリ属性名に更新し、/metadata/iam-features-ldap-sync/LDAPUser.xmlメタデータ・ファイルをリポジトリに再インポートします。次に例を示します。
<parameter name="rdnattribute"> <value>companyid</value> </parameter>
Oracle Identity Managerを介して新しいユーザーを作成することで構成をテストします。
LDAP同期が有効化されると、LDAPで作成されたユーザー・エントリをフィルタで除外するために、LDAPUser.xmlファイルでフィルタ・パラメータexcludeEntityFilterを構成できます(ただしOracle Identity Managerにのみ存在可能です)。任意のOracle Identity Managerの属性およびその値に基づき、LDAP同期が有効化モードであるにもかかわらず、LDAPサーバーにプッシュすることなくOracle Identity Managerにユーザーを作成できます。
注意: この機能は、ユーザー・エンティティに対してのみサポートされます。 |
たとえば、act_key=2のOracle Identity ManagerアカウントをLDAPには作成しない場合、次の手順を実行します。
MDSからLDAPUser.xmlファイルをインポートします。
次のフィルタをLDAPUser.xmlに追加します。
<parameter name="excludeEntityFilter"> <value>act_key=2</value> </parameter> <parameter name="excludeEntityActions"> <value>ALL</value> </parameter>
LDAPUser.xmlファイルをMDSにエクスポートします。
組織のact_keyを2にして、Oracle Identity Managerにユーザーを作成します。同じユーザーはLDAPには作成されません。Oracle Identity Managerで作成され、2以外のact_keyで組織に割り当てられたユーザーは、正常にLDAPに作成されることに注意してください。
他の例は、ユーザーのロールがFull-Timeと一致する場合に、Oracle Identity Managerにのみユーザーを作成してLDAP同期が有効化モードになっているLDAPサーバーには作成しないというものです。これを行うには、次のフィルタ・パラメータを使用します。
<parameter name="excludeEntityFilter"> <value>Role=Full-Time</value> </parameter> <parameter name="excludeEntityActions"> <value>ALL</value> </parameter>
この例では、フィルタおよびアクションに基づき、一部のOracle Identity ManagerのユーザーがLDAPで許可されません。デフォルトでは、操作を無効化するためにALLが設定され、このようなユーザーにはCRUD操作はできません。これは次のようになります。
<parameter name="excludeEntityActions"> <value>ALL</value> </parameter>
LDAPUser.xmlファイルで指定したフィルタが評価され、LDAP同期ハンドラに進むかどうかを決定するためにブール値が返されます。
これらのパラメータについては、この製品ではスキーマ・ファイルが利用できます。これをカスタマイズする場合、LDAPUser.xmlファイルで構成を完了する必要があります(これをMDSにエクスポートする必要があります)。
OVDのスタンドアロン・インスタンスとの統合シナリオの場合、LDAPの同期の構成では次のプラグインを使用します。
注意: この項はOracle Virtual Directoryのスタンドアロン・インスタンスとの統合のみに適用されます。 |
このトピックでは、Oracle Virtual DirectoryがOracle Identity Manager統合のコネクタ・ターゲットである場合に使用するように設計されたプラグインについて説明します。
UserManagementプラグインは、Oracle Identity Managerの属性からLDAPディレクトリ・サーバーへのデータ・マッピングを提供します。
UserManagementプラグインには、次の構成パラメータがあります。
追加または変更リクエスト時に削除する必要のあるオブジェクト・クラスのカンマ区切りのリスト。
クライアントに戻される前にエントリから実際に削除される属性のカンマ区切りリスト。
特定のオブジェクト・クラスに対する特定の属性マッピングの除外を定義します。たとえば、値inetorgperson,uid=samaccountname
を持つパラメータを指定すると、オブジェクト・クラスinetorgperson
のエントリ上のuidからsamaccountname
へのマッピングが除外されます。このオプションの複数のインスタンスを使用すると、マッピングに対して複数の除外が可能になります。
属性言語サブタイプで使用される言語コードのカンマ区切りリスト。このパラメータは、directoryTypeパラメータがActiveDirectoryに設定されている場合にのみ機能します。
TrueまたはFalse: Oracle Access Management Access Manager (Access Manager)がOracle Identity Managerとともにデプロイされているかどうかを示します。デフォルトでは、Access Managerはデプロイされておらず、したがってこのパラメータのデフォルト設定はfalseです。
注意: UserManagementプラグインとchangelogプラグインのoamEnabledパラメータの値は同一であることが必要です。 |
ソースLDAPディレクトリ・サーバーのタイプを指定します。サポートされている値はOID、ActiveDirectoryおよびSunOneです。デフォルト値はOIDです。
注意: UserManagementプラグインとchangelogプラグインのdirectoryTypeパラメータの値は同一であることが必要です。 |
ssladapterパラメータは、directoryTypeパラメータがActiveDirectoryに設定されている場合にのみ機能し、リクエストにuserPassword
またはunicodePwd
が含まれている場合にUserManagementプラグインによってリクエストがルーティングされる先のアダプタの名前を指定します。unicodePwd
がリクエストに含まれている場合、そのリクエストには、適切な値を持つuseraccountControl属性も含まれている必要があります。
ssladapterパラメータによって指定されるアダプタは、次のようになっている必要があります。
UserManagementプラグインが構成されているアダプタと同じローカル・ベースを持つ
ルーティングの可視性がInternalに設定されている
ssladapterに値が設定されていない場合は、デフォルトで現在のアダプタが使用されます。
OVD-attribute=OIM-attributeの形式の属性変換を定義します。たとえば、orclGUID=objectGuidなどです。mapAttribute構成パラメータを複数回設定して、複数の属性の変換を定義できます。
TrueまたはFalse。directoryType構成パラメータをActiveDirectoryに設定すると、mapPasswordパラメータが、ユーザー・パスワードをunicodePwd属性に変換するかどうかを制御します。デフォルト値はfalseです。
OVD-RDNattribute=OIM-RDNattributeの形式のRDN属性変換を定義します。たとえば、uid=cnなどです。
(このプラグインがデプロイされているアダプタを介して公開されるユーザー・エントリに適用されたパスワード・ポリシーの定義に従い)ソースLDAPディレクトリ・サーバーによってアカウントがロックされるために必要な失敗ログインの最大回数を指定します。
注意: XL.MaxLoginAttempts、pwdMaxFailureおよびロックアウト回数のパラメータ値は、LDAP対応の設定と同じである必要があります。LDAP対応環境では動作を一貫させるために、ロックとロック解除に関してこれらの属性に指定された値の一貫性を保つ必要があります。たとえば、libOVDとOUDのLDAP対応環境において、XL.MaxLoginAttemptsシステム・プロパティの値を10に設定し、adapters.os_xmlのpwdMaxFailureを10に設定します。ただし、OUD lockout-failure-countは25に設定します。ロックとロック解除が一貫して動作するために、OUDおよびadapters.os_xmlの属性値は同じにする必要があります。 |
OVD-objectclass=OIM-objectclassの形式のオブジェクト・クラスの値変換を定義します。たとえば、inetorgperson=userなどです。mapObjectclass構成パラメータを複数回設定して、複数のオブジェクト・クラスの変換を定義できます。
注意: UserManagementプラグインとchangelogプラグインのmapObjectclassパラメータの値は同一であることが必要です。 |
このパラメータは、attribute=value pairsの形式でget操作結果を戻す前に追加する属性を指定します。属性名の前にobjectclass,
を追加すると、属性と値を特定のオブジェクト・クラスに追加できます。また、値を%
で囲んで他の属性を参照することもできます。たとえば、値user,samaccountname=%cn%
を指定すると、エントリがobjectclass=userである場合にcnの値がsamaccountnameに代入されます。値samaccountname=jdoe
を指定すると、値jdoeを持つ属性samaccountnameがすべてのエントリに追加されます。
この単一のChangelogプラグインをデプロイする際は、次のことが必要です。
アダプタの「リモート・ベース」を空の値に、つまり空白にします。
アダプタの「マップされたネームスペース」をcn=changelog
に設定します。
バックエンドがOracle Directory Server Enterprise Editionである場合、Oracle Directory Server Enterprise Edition上のロギングの変更を必ず有効化してください。
11.1.1.4.0より前にリリースされたバージョンのOracle Virtual Directoryを使用している場合、次のchangelogプラグインを使用して、changelog情報をソース・ディレクトリからOracle Identity Managerに適した形式に標準化してください。
注意: これらのプラグインはOracle Virtual Directoryリリース11.1.1.4.0では機能しません。 |
Oracle Internet Directoryの場合
Oracle Internet Directoryではoidchangelogプラグインを使用します。
oidchangelogプラグインをデプロイする場合は、アダプタの「リモート・ベース」を空の値に、つまり空白にします。
Oracle Directory Server Enterprise Editionの場合
Oracle Directory Server Enterprise Editionでは、sunonechangelogプラグインを使用します。
sunonechangelogプラグインをデプロイする際は、次のことが必要です。
アダプタの「リモート・ベース」を空の値に、つまり空白にします。
Oracle Directory Server Enterprise Editionで変更ログが有効化されていることを確認します。
アダプタの「マップされたネームスペース」をcn=changelog
に設定します。
Microsoft Active Directoryの場合
Microsoft Active Directoryではadchangelogプラグインを使用します。
adchangelogプラグインをデプロイする際は、次のことが必要です。
アダプタの「リモート・ベース」を空の値に、つまり空白にします。
アダプタの「マップされたネームスペース」をcn=changelog
に設定します。
各changelogプラグインには、次の構成パラメータがあります。
クライアントに戻される前にエントリから実際に削除される属性のカンマ区切りリスト。
属性言語サブタイプで使用される言語のカンマ区切りリスト。
TrueまたはFalse。falseに設定されていて、破損したchangelogエントリがプラグインによって検出された場合、プラグインはDirectoryExceptionをスローし、changelogエントリのそれ以降の処理を停止します。trueに設定されている場合、プラグインは例外をスローせずにエラーを記録し、このchangelogをスキップして、次のchangelogの処理を続行します。デフォルト値はfalseです。
TrueまたはFalse: Access ManagerがOracle Identity Managerとともにデプロイされているかどうかを示します。デフォルトでは、Access Managerはデプロイされておらず、したがってこのパラメータのデフォルト設定はfalseです。
注意: UserManagementプラグインとchangelogプラグインのoamEnabledパラメータの値は同一であることが必要です。 |
ソースLDAPディレクトリ・サーバーのタイプを指定します。サポートされている値はOID、ActiveDirectoryおよびSunOneです。デフォルト値はOIDです。
注意: UserManagementプラグインとchangelogプラグインのdirectoryTypeパラメータの値は同一であることが必要です。 |
OIM-objectclass=Source-Directory-objectclassの形式のオブジェクト・クラスの値変換を定義します。たとえば、inetorgperson=userなどです。mapObjectclass構成パラメータを複数回設定して、複数のオブジェクト・クラスの変換を定義できます。
Oracle Identity Managerのユース・ケースでは、次のパラメータがすぐに使用できるように構成されています。
Active Directoryの場合: inetorgperson=user, orclidxperson=user, and groupOfUniqueNames=group
Oracle Directory Server Enterprise Editionの場合: container=nsContainer and changelog=changelogentry
Oracle Internet Directoryの場合: container=orclContainer
注意: UserManagementプラグインとchangelogプラグインのmapObjectclassパラメータの値は同一であることが必要です。 |
戻されるchangelogエントリの最大数を指定します。
ゼロ(0)または負の値は、サイズ制限がないことを意味します。
受信する検索リクエストでサイズの制約が指定されている場合、小さい方の値が使用されます。たとえば、プラグインのsizeLimitを100に指定してあり、検索リクエストのカウント制限が200である場合は、リクエストの実際のサイズ制限は100にリセットされます。
Source-Directory-attribute=OIM-attributeの形式の属性変換を定義します。たとえば、orclGUID=objectGuidなどです。mapAttribute構成パラメータを複数回設定して、複数の属性の変換を定義できます。
変更の取得元となるコンテナを指定します。このパラメータは複数回設定して、変更の取得元となるコンテナを複数指定できます。複数回設定した場合、targetDNフィルタは次の例のようになります。このtargetDNフィルタは受信フィルタにandで結合されます。
"(|(targetDN=*cn=users,dc=mycom1)(targetDN=*,cn=groups,dc=mycom2))"
次に値の例を示します。
*,cn=xxx,dc=yyy
*cn=xxx,dc=yyy
cn=xxx,dc=yyy (virtualDITAdapterNameで指定されているアダプタのローカル・ベースの子であることが必要です。)
これらの例はすべて同じ意味を持ちます。
Oracle Virtual Directoryへのchangelog問合せに対して指定されている戻り属性リストに関係なく、ソースLDAPディレクトリ・サーバーから常に取得される属性のカンマ区切りリスト。
正規化されているchangelogエントリに追加される属性のカンマ区切りリスト。たとえば、orclContainerOC=1, changelogSupported=1などです。ここで、=1はchangelogをサポートしているソース・ディレクトリから取得される変更を示します。
TrueまたはFalse。このパラメータは、ディレクトリ固有のアカウント属性からOracle Virtual Directoryの仮想アカウント属性へのマッピングを有効化または無効化します。
modifiersNameに対するLDAPフィルタを定義する単一の値を持つ構成パラメータ。このパラメータは、受信フィルタにandで結合されます。値の例としては、(modifiersName=cn=myadmin,cn=users,dc=mycom)があります。
注意: この構成は、directoryType=ActiveDirectoryの場合は無効です。 |
対応するユーザー・プロファイル・アダプタ名を指定します。
たとえば、単一ディレクトリ・デプロイメントでは、このパラメータの値をA1に設定できます。これはユーザー・アダプタ名です。分割ユーザー・プロファイルのシナリオでは、このパラメータをJ1;A2に設定できます。ここでJ1はJoinViewアダプタ名であり、A2はJ1における対応するユーザー・アダプタです。
このパラメータは複数値を取ることができます。これは、changelogアダプタと同じバックエンド・ディレクトリ・サーバーに対して構成されている複数のベース・エントリ・アダプタがあることを意味します。
このパラメータをA1に設定する場合、このプラグインはアダプタA1のUserManagementPluginのmapAttributeおよびmapObjectclass構成をフェッチするため、ユーザーがそれらの構成を複製する必要はありません。
このトピックでは、Oracle Virtual Directoryでデバッグを有効化する方法について説明します(これは、Oracle Identity ManagerとOracle Virtual Directoryの統合のトラブルシューティングが必要な場合に役立ちます)。
デバッグを有効化するには、次の手順を実行します。
コマンド・ウィンドウを開き、次の場所に移動します。
OVD ORACLE_INSTANCE/config/OVD/ovd1
ovd-logging.xml
ファイルのコピーを保存します。
次のようにovd-logging.xml
ファイルを編集します。
25行目にある
<logger name='com.octetstring.vde' level='NOTIFICATION:1
' useParentHandlers='false'>
次のように変更します。
<logger name='com.octetstring.vde' level='TRACE:32
' useParentHandlers='false'>
28行目にある
<logger name='com.octetstring.accesslog' level='ERROR:1
' useParentHandlers='false'>
次のように変更します。
<logger name='com.octetstring.accesslog' level='NOTIFICATION:1
' useParentHandlers='false'>
次のように入力することでOracle Virtual Directoryを再起動します。
cd OVD_INSTANCE/bin
./opmnctl stopall
./opmnctl startall
LDAP同期増分リコンシリエーション・ジョブが実行されるときには、変更ログ問合せによって、変更ログ・リコンシリエーション中に、LDAPサーバーにおけるユーザー/ロール・アカウントまたはエントリの増分変更が、Oracle Identity Managerデータベースに返されます。ただしLDAP同期化増分リコンシリエーション・ジョブの実行時に、変更ログのリコンシリエーション中にルールまたはフィルタに基づき、LDAPの一部のエントリについて、Oracle Identity Managerデータベースに変更を返さないことを選択できます。これを行うために、フィルタ・タグまたはフィルタ・パラメータとしてincludeEntriesFilterをLDAPUser.xmlファイルで使用して、不要なエントリをフィルタによって除外し、ルールに基づいて必要なエントリのみを持ちこんでから、そのデータをリコンシリエーション・エンジンに送信できます(この結果、そのようなエントリはOracle Identity Managerデータベースに格納されなくなります)。すなわち、属性レベルのフィルタリングへのサポートが提供されます。
次の例は、LDAPUser.xmlファイルにおける属性レベルのフィルタリングの指定方法を示しています。
<parameter name="includeEntriesFilter"> <value>employeeNumber=123456</value> </parameter>
この<value>タグには、LDAP属性employeeNumberと、それに対応する値が含まれます。これで、LDAPサーバー内にある変更ログ・エントリまたはユーザー・エントリのうち、基準employeeNumber=123456と一致するものがすべてフィルタによって除外され、ユーザーのリコンシリエーション・エンジンに送信されて、Oracle Identity Managerデータベースでリコンサイルされます。このフィルタと一致しない他の変更ログ・エントリは、Oracle Identity Managerデータベースへリコンサイルするためのリコンシリエーション・エンジンに送信されなくなります。
次に、includeEntriesFilterフィルタ・パラメータの使用例を示します。
(!(LDAP_attribute=val1)(LDAP_attribute=val2)(LDAP_attribute=val3)...)
値が変数の場合は、フィルタはObjectClass=*とする必要があります。ユーザーごとに属性値が異なるように、LDAP_attributeに変数値を指定する必要があります。
SSLのために、次の項の説明に従って、ディレクトリ・サーバーからサーバー側の証明書をエクスポートし、Identity Virtualization Library (libOVD)にインポートする必要があります。
Active Directoryからサーバー側の証明書をエクスポートし、Identity Virtualization Library (libOVD)にインポートするには、次の手順を実行します。
次のMicrosoft TechNetのドキュメントの指示を参照して、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_VALUE_USED_FOR_EXPORT -file SERVER-CERT_FILENAME -noprompt
注意: 証明書をインポートする際は、-aliasパラメータに対して、その証明書をエクスポートしたときに指定したものと同じ証明書の別名を指定します。次に例を示します。ORACLE_HOME/jdk/jre/bin/keytool -importcert -keystore $DOMAIN_HOME/config/fmwconfig/ovd/CONTEXT/keystores/adapters.jks -storepass password -alias defaultCert -file server-cert -noprompt さらに、次のURLにあるODSEEドキュメントの説明に従って証明書をエクスポートおよびインポートします。
|
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 Fusion Middleware Oracle Identity Manager管理者ガイド』の事前定義済のスケジュール済タスクに関する項を参照してください。
Oracle Identity ManagerデプロイメントでLDAP同期を無効化するには、次の手順を実行します。
Oracle Enterprise Managerを使用してMDSから/db/ldapMetadata/EventHandlers.xmlファイルを削除します。MDSからのメタデータ・ファイルの削除の詳細は、『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のユーザーが修正可能なメタデータ・ファイルの移行に関する項を参照してください。
Oracle Identity System Administrationにシステム管理者としてログインします。
LDAP同期リコンシリエーションのスケジュール済ジョブをすべて無効化します。このジョブは次のとおりです。
LDAPユーザー作成および更新のリコンシリエーション
LDAPロール作成および更新のリコンシリエーション
LDAPロール・メンバーシップのリコンシリエーション
LDAPロール階層のリコンシリエーション
このリストには、LDAPユーザー削除リコンシリエーションおよびLDAPロール削除リコンシリエーションのスケジュール済ジョブも含まれます。これらのスケジュール済ジョブの詳細は、次のURLを参照してください。
http://docs.oracle.com/cd/E37115_01/admin.1112/e27149/scheduler.htm#OMADM2773
LDAP同期が有効でAD、iPlanet (ODSEE)またはOIDがディレクトリ・サーバーであるOracle Identity Managerデプロイメントでは、WLSTコマンドを使用してIdentity Virtualization Library (libOVD)アダプタを管理します。
関連項目: Library Oracle Virtual Directory (LibOVD)アダプタを管理するためのWLSTコマンドの詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスのLibrary Oracle Virtual Directory (LibOVD)コマンドに関する項を参照してください。 |
Virtualization Library (libOVD)を管理するには、次の手順を実行します。
WLSTコンソールを起動します。これを行うには、$FMW_ROOT/Oracle_IDM1/common/bin/wlst.shを実行します。このパスは、$OIM_ORACLE_HOME/common/bin/wlst.shとして参照できます。
ここで、$FMW_ROOTは、自身の$MW_HOMEディレクトリを指しています。たとえば、このバイナリの場所の場合、/u01/apps/mwhome/ディレクトリを指すことができます。
$OIM_ORACLE_HOMEはOracle Identity Managerがデプロイされているディレクトリを指しています。たとえば、/u01/apps/mwhome/Oracle_IDM1/はOIM_ORACLE_HOMEを指している必要があります。
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)に構成されている、既存のアダプタの詳細を表示します。
istAdapters: 指定の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でのアダプタの作成に関する説明を参照してください。 |
Identity Virtualization Library (libOVD)に対してアクセス・ログを有効化すると、Identity Virtualization Library (libOVD)を通過するすべてのリクエストおよびレスポンスを捕捉できます。これは、パフォーマンスの問題を選別する場合に大変便利です。
Identity Virtualization Library (libOVD)に対してアクセス・ログを有効化する手順は、次のとおりです。
デバッグ・モードで前に構成されたIdentity Virtualization Library (libOVD)ロガーをすべて削除します。実際のパフォーマンス数値を調べるには、これらのロガーを削除する必要があります。OVDでのデバッグの有効化の詳細は、「OVDのトラブルシューティングおよびデバッグ」を参照してください。
WLSにNOTIFICATIONレベルでoracle.ods.virtualization.accesslog
という名前のWLSロガーを作成します。
ovd-access.logに類似したファイル名を指定してWLSログ・ハンドラを作成し、そのログ・ハンドラを手順2で作成したロガーと関連付けます。
このログ・ハンドラは、すべてのOracle Virtual Directoryアクセス・ログ・メッセージを別のファイルに記録します。
DOMAIN_HOME/config/fmwconfig/ovd/default/provider.os_xmlファイルのバックアップを作成し、次のXML断片を追加します(それがまだ存在していない場合)。
<providers ..> ... <auditLogPublisher> <provider name="FMWAuditLogPublisher"> ... </provider> <provider name="AccessLogPublisher"> <configClass>oracle.ods.virtualization.config.AccessLogPublisherConfig</configClass> <properties> <property name="enabled" value="true"/> </properties> </provider> </auditLogPublisher> ... </providers>
WLS管理および管理対象サーバーを再起動します。
これで、Oracle Virtual Directoryによってovd-access.logファイルにアクセス・ログを生成できるようになります。
LDAP同期が有効な場合に認証にLDAPを使用できるようにするには、次の手順を実行します。
注意: この手順では、次の機能は有効になりません。
|
WLSでLDAPオーセンティケータを構成します。これを行うには、次の手順を実行します。
WebLogic管理コンソールにログインします。
「セキュリティ・レルム」、myrealm、「プロバイダ」に進みます。
「新規」をクリックします。名前を指定し、タイプとしてOracleInternetDirectoryAuthenticatorを選択します。
「制御フラグ」をSUFFICIENTに設定します。
「プロバイダ固有」設定をクリックし、OID接続の詳細を設定します。
「動的グループ」セクションで、次の値を入力します。
動的グループ名属性: cn
動的グループ・オブジェクト・クラス: orcldynamicgroup
動的メンバーURL属性: labeleduri
ユーザー動的グループDN属性: GroupOfUniqueNames
「プロバイダ」タブをクリックします。セキュリティ・プロバイダのリストからOIMオーセンティケータを削除します。これは、ユーザーがOracle Identity Managerデータベースでロックされないようにするためです。
そのレルムでOIMSignatureAuthenticatorセキュリティ・プロバイダを構成します。これを行うには、次の手順を実行します。
i) WebLogic管理コンソールにログインします。
ii) 「セキュリティ・レルム」→「myrealm」→「セキュリティ・プロバイダ」→「認証」→「新規」に移動します。
iii) ドロップダウンから「OIMSignatureAuthenticator」を選択し、プロバイダ名として「OIMSignatureAuthenticator」を選択します。
iv) 変更内容を保存します。
「並替え」をクリックします。次の表にリストされたとおりにセキュリティ・プロバイダを並べ替え、制御フラグを設定します。
認証プロバイダ | 制御フラグ |
---|---|
デフォルト・オーセンティケータ | SUFFICIENT |
OIMシグネチャ・オーセンティケータ | SUFFICIENT |
LDAPオーセンティケータ | SUFFICIENT |
デフォルトIDアサーション・プロバイダ | N/A |
すべてのサーバーを再起動します。
ロール・メンバーシップを検証します。
WebLogic管理コンソールにログインします。
「セキュリティ・レルム」→myrealm→「ユーザー」→「グループ」に進みます。
「ユーザー」をクリックし、LDAPユーザー検索ベースですべてのユーザーを表示します。LDAPユーザーが表示されない場合は、LDAP接続にエラーがあることを意味しており、OIDオーセンティケータで詳細が指定されます(プロバイダ固有の設定)。
任意のユーザーをクリックし、対応するグループ・エントリを表示します。リストされるエントリにOimusersが含まれている必要があります。この検証に失敗した場合は、LDAPオーセンティケータのプロバイダ固有の詳細を確認してください。
ディレクトリ・サーバーのパスワード・ポリシーによってpwdLockout
属性がTRUE
に設定されている場合、ユーザーが管理者によってロックされると正しい通知が送信されます。
管理者によってロックされたユーザーはパスワードを忘れた場合のフローによってロック解除できませんが、pwdLockout
の値がFALSE
に設定されている場合、ユーザーに送信される通知は誤解を招きます。
したがって、LDAPサーバーのパスワード・ポリシーを確認して、エントリ"cn=Password Policy,cn=config"の属性をチェックします。pwdLockout
がTRUE
に設定されていることを確認してください。
OUDとの同期時に次のタイプのエラーが発生した場合、OUDに対するACIを更新する必要があります。
<Jan 27, 2014 9:36:12 AM PST> <Warning> <oracle.ods.virtualization.engine.backend.jndi.CHANGELOG_oud1> <LIBOVD-40066> <Remote Server Failure:example.com:1234. javax.naming.NoPermissionException: [LDAP: error code 50 - The request control with Object Identifier (OID) "1.3.6.1.4.1.26027.1.5.4" cannot be used due to insufficient access rights]; remaining name 'cn=Changelog'.
insufficient access rights
のOIDのリストには次のものが含まれますが、これに限定されているわけではありません。
1.3.6.1.4.1.26027.1.5.4 1.3.6.1.4.1.26027.2.3.4 1.2.840.113556.1.4.319
この問題を解決するには:
ObjectIdentifier
が、OUD構成ファイルOUD_INSTANCE/config/config.ldif内のグローバルACIで定義されていることを確認します。
特定のObjectIdentifier
が定義されていない場合、『Oracle Fusion Middleware Oracle Unified Directory管理者ガイド』のdsconfigを使用したグローバルACIの管理に関する項の説明に従って、dsconfig
ツールを使用して欠落しているOIDをOUDに追加します。
特定のコントロールが定義されていない場合、または定義されているがgroupdn
に付与されている場合、次のコマンドがそれを定義してuserdn
に割り当てます。
$ dsconfig -h {Hostname} -p {Port} -D cn="Directory Manager" -j pwd-file -n \ set-access-control-handler-prop \ --add global-aci:\(targetcontrol=\"1.3.6.1.4.1.26027.1.5.4\" \(version 3.0; acl \"Authenticated users control access\"\; allow\(read\) userdn=\"ldap:///all\"\;\)
構成ファイルをダブルチェックして、重複行がないことを確認します。
構成ファイルを保存します。
OUDおよびOracle Identity Managerサーバーを再起動します。
LDAPConfigPostConfigスクリプトは通常、LDAP lastchangenumber
をフェッチして増分リコンシリエーション・ジョブを更新します。OUDについて、Oracle Identity Manager管理者がlastExternalChangeLogCookie
にアクセスできず、lastchangenumber
を更新できないという状況が発生する場合があり、誤った結果が生じます。これはACIが正常に付与されていないことが原因です。これが問題かどうかテストするには、次のように実行します。
ldapsearch -x -h OUD_HOST -p OUD_PORT -D OIM_ADMIN -w PASSWORD -s base -b "" "objectclass=*" lastExternalChangelogCookie
これによって結果が返されるはずです。返されない場合は、次の手順を実行して問題を修正できます。
cn=changelog
へのアクセスを拒否するACIを削除します。
cn=changelog
へのユーザーまたはグループのアクセスを許可するACIを追加します。
cookieモードでの読取りのみの場合、OUD cookieコントロールの使用をユーザーまたはグループに許可するACIを追加します。
cookieモードでの読取りのみの場合、ルート・エントリからのlastExternalChangelogCookie
の読取り(-s base -b "")をユーザーまたはグループに許可するACIを追加します。
注意: OUD変更ログ・アクセスの付与の詳細な手順は、『Oracle Fusion Middleware Oracle Identity Managementエンタープライズ・デプロイメント・ガイド』のOracle Unified Directory変更ログ・アクセスの付与に関する項を参照してください。 |
手順はすべて、idmConfigTool
によるターゲットのOUDインスタンスとその他すべてのOUDインスタンスで検証する必要があります。
一部のインスタンスで、OUDのリコンシリエーションが次のエラーで失敗する場合があります。
Caused By: oracle.ods.virtualization.service.VirtualizationException: oracle.ods.virtualization.engine.util.DirectoryException: LDAP Error 53 : [LDAP: error code 53 - Full resync required. Reason: The provided cookie is older than the start of historical in the server for the replicated domain : dc=hsgbu,dc=oracle,dc=com]
このエラーは、Oracle Identity ManagerによってLDAPの検索フィルタとの一致で変更が長期間見つからないときに発生します。
最終的には、OUDでそのchangelogがパージされ、Oracle Identity ManagerはOUD履歴より古いchangelogを検索するため、changelogベースの問合せは失敗します。結果的にOUDはエラーを返します。
この問題をトラブルシューティングするには、OUD 11.1.2.2が18495042の修正によってパッチが適用されていることを確認します。これによってパージされたcookieによる続行を可能にする新規のリクエスト・コントロールが提供されます。パッチは次のMy Oracle SupportのWebサイトでダウンロードできます。
libOVD Changelogプラグイン・コードはこの新規リクエスト・コントロールを使用するように変更して、エラー・コード53 UNWILLING TO PERFORM
を回避するためにsupportCookieExceptions
ブール値をFALSE
に設定する必要があります。
AD環境では、orclIDXGroup
オブジェクト・クラスを持たないデフォルトのADグループがあります。完全リコンシリエーションが終了すると常に、Oracle Identity Managerではこのオブジェクト・クラスがグループで求められるため、Oracle Identity ManagerはLDAPグループをオブジェクト・クラスで更新しようとします。ADスキーマではオブジェクト・クラスの変更が許可されないため、一部のリコンシリエーションが失敗して、ポスト・ハンドラがまったく実行されません。1つのグループにorclIDXGroup
オブジェクト・クラスがない場合でも、ポスト・ハンドラはバッチ内のすべてのロールについて失敗します(バルク編成で失敗時にはロールバックするため)。これによって、最上位組織にロールを公開したハンドラがその実行を妨げられるため、ロールは何も公開されず、これらのロールを持つユーザーに対する認可が失敗します。
この問題の解決策として、ユーザーおよびロールの両方のオブジェクト・クラスを追加しようとする、LDAPAddMissingObjectClasses
というOracle Identity Managerイベント・ハンドラを無効化します。これは、ADがLDAP同期に対して構成されたすぐ後、完全リコンシリエーションが実行される前に行う必要があります。
イベント・ハンドラを無効化する手順:
Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのユーザー修正可能メタデータ・ファイルの移行に関する項の説明に従って、/db/ldapMetadata/EventHandlers.xml
ファイルをMDSからエクスポートします。
EventHandlers.xmlファイルで次の行をコメント・アウトします。
<action-handler class="oracle.iam.ldapsync.impl.eventhandlers.LDAPAddMissingObjectClasses" entity-type="User" operation="CREATE" name="LDAPAddMissingObjectClasses" stage="postprocess" sync="TRUE" order="1140"/> <action-handler class="oracle.iam.ldapsync.impl.eventhandlers.LDAPAddMissingObjectClasses" entity-type="Role" operation="CREATE" name="LDAPAddMissingObjectClasses" stage="postprocess" sync="TRUE" order="1040"/>
EventHandler.xmlファイルを、MDSにインポートして戻します。更新されたファイルをインポートする間、インポート・ディレクトリ内に他のファイル(バックアップ)が存在しないことを確認します。
Oracle Identity Managerの管理対象サーバーを再起動します。
LDAP同期を設定するときは、ロード・バランサ(LBR)経由ではなく、マルチマスター・レプリケーション(MMR) のOIDノードに接続するように構成されていることを確認します。これはchangenumberがレプリカのローカルであり、グローバルではないOIDの制限によるものです。
LDAP同期が別のレプリカを指す必要がある場合は、次の手順を実行します。
増分リコンシリエーション・スケジュール済ジョブを停止します。
新しいレプリカから現在のchangenumberを取得します。
新しいレプリカから完全リコンシリエーションを実行します。新しいレプリカを指すようにディレクトリ・サーバーITリソースを更新します。
さらに、「Identity Virtualization Library (libOVD)アダプタの管理」を参照して、libOVDが新しいレプリカを指すようにします。新しいレプリカを指すために、removeLDAPHost()
とaddLDAPHost()
WLSTコマンドを実行する必要があります。
手順2で取得した変更番号の増分リコンシリエーション・スケジュール済ジョブを更新します。
増分リコンシリエーション・スケジュール済ジョブを有効にします。