プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Identity Management Suite統合ガイド
11g リリース2 (11.1.2.3.0)
E67361-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

E Oracle Identity ManagerにおけるLDAP同期の有効化

この付録では、インストール後に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同期について」を参照してください。


この付録の内容は次のとおりです。

E.1 LDAPの同期の構成

LDAPの同期を構成するには、次の手順を実行します。

  1. アイデンティティ・ストアですべての前提条件が実行されていることを確認します。詳細は、第E.1.1項「LDAP同期を有効にするための前提条件の実行」を参照してください。

  2. OVDアダプタを作成します。

    LDAP同期で、Oracle Identity ManagerはOVDの仮想化機能を使用します。これは、次のいずれかの方法で使用できます。

    • OVDのスタンドアロン・インスタンスのインストール: OVDのスタンドアロン・インスタンスを使用する際、OVDアダプタを作成する必要があります。

    • Identity Virtualization Library (libOVD)の使用: libOVDでは、ランタイム・ライブラリがOracle Identity Managerによってその固有プロセスの一部として使用され、これによってインストールと保守が簡素化されます。

    詳細は、第E.1.3項「OVDアダプタの作成」を参照してください。

  3. LDAP同期を有効化します。詳細は、第E.1.4項「LDAP同期の有効化」を参照してください。

  4. LDAP同期の構成後の手順を実行します。詳細は、第E.2.1項「LDAP構成後ユーティリティの実行」を参照してください。

  5. LDAP同期を検証します。詳細は、第E.2.2項「LDAP同期の検証」を参照してください。

E.1.1 LDAP同期を有効にするための前提条件の実行

LDAPディレクトリ・サーバーはデフォルト・コンテナ(変更ログを含む)、管理者およびAccess Control Lists (ACI)によって構成される必要があります。実際の手順はLDAPサーバーの選択によって決まります。

  • OID、OUDおよびスタンドアロンOVDの事前構成: idmConfigToolユーティリティを実行してOID、OUDおよびOVDを事前構成します。これにより、ユーザー、グループおよび予約コンテナと適切なACIが追加されます。必要な事前構成手順は次のコマンドによって実行されます。

    idmConfigTool -preConfigIDStore
    

    idmConfigToolIAM_ORACLE_HOME/idmtools/bin/ディレクトリ内にあります。preConfigIDStoreオプションはOUDまたはOID内のスキーマを拡張して、統合に必要とされるオブジェクト・クラスを追加します。ユーザーおよびグループも多数作成されます。構成ファイルで指定した情報に基づいて、このコマンドは適切なアイデンティティ・ストア上で実行されます。次に例を示します。

    ./idmConfigTool.sh -preConfigIDStore input_file=/scratch/fwadmin/ldap_scripts/prepareIDStore.properties
    

    注意:

    レプリケートされたOUDインスタンス上で、このインスタンスにディレクトリ・サーバーおよびレプリケーション・サーバーの両方のコンポーネントが含まれている(これはデフォルトです)という条件に応じて、cn=changelogがデフォルトで使用可能です。変更ログには、レプリケーションがすでに稼働中のため、追加コストはありません。

    レプリケートされていないOUDインスタンス上では、有用でなければ負担すべきではないコストがディスクおよびCPUにあるため、cn=changelogはデフォルトで使用不可です。これは、次のコマンドで簡単に有効化できます。

     $ 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コマンドの使用方法」を参照してください。


    注意:

    OUDとの同期時に発生する可能性のあるエラーとその対応手順の詳細は、第E.2.14項「OUD ACIによる権限エラーの修正」を参照してください。

  • ODSEEおよびADの事前構成: Oracle Directory Server (ODSEE)またはActive Directory (AD)が使用されている場合は、idmConfigToolユーティリティを使用しないでください。かわりに、このドキュメントの以降の項の説明に従って、手動による手順を実行してください。

次の各項では、Active DirectoryおよびODSEEのアイデンティティ・ストアを事前構成する方法について説明します。

E.1.1.1 Active Directoryの事前構成

LDAPディレクトリをアイデンティティ・ストアとして使用できるようにするには、事前構成を実行する必要があります。この項の手順により、Microsoft Active Directoryを事前構成して、LDAPアイデンティティ・ストアとして使用できます。


注意:

次に示す例で使用されているデータはサンプル・データです。例に従って、LDAPサーバーの構成に適したデータと置き換えてください。

アイデンティティ・ストアを事前構成する手順:

  1. ユーザー、グループおよび予約コンテナを次のように作成します。

    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
    
  2. Active Directoryで、Oracle Identity Managerリコンシリエーションのために使用される検索ベース外のコンテナを作成します。これによって管理ユーザーがOracle Identity Manager内にリコンサイルされることを回避できます。次に例を示します。

    dn:cn=systemids,dc=example,dc=com
    cn:systemids
    objectClass:top
    
  3. このコンテナ内にOracle Identity Managerの管理ユーザーを作成します。

    dn:cn=oimadmin,cn=systmids,dc=example,dc=com
    cn:oimadmin
    objectclass:user
    
  4. 手順1で作成したユーザー・コンテナで、uid: SYSTEM_ADMINISTRATORおよび適切なパスワードを使用してシステム管理者ユーザーを作成します。

  5. 手順1で作成したグループ・コンテナで、グループOim Administratorsを作成し、ユーザーoimadminおよびSYSTEM_ADMINISTRATORをこのグループに割り当てます。

  6. 手順2で作成したコンテナで、welcome11gR2などのパスワードを使用してユーザーoamadminを作成します。

  7. 手順1で作成したグループ・コンテナで、グループOAM Administratorsを作成し、oamadminユーザーをグループに割り当てます。

  8. 手順1で作成したユーザー・コンテナで、WLAdminなどのIDおよびwelcome11gR2などのパスワードを使用してWebLogic管理用ユーザーを作成します。

  9. 手順1で作成したグループ・コンテナで、グループWLSAdminsを作成し、WLAdminユーザーをそのグループに割り当てます。

  10. 設定が必要なACLを追加します。

    OIM Administratorsグループ - ディレクトリ内のすべてのユーザーおよびグループのエンティティに対する完全な読取り/書込み権限。このグループは、予約コンテナに対する読取り/書込み権限も必要とします。

  11. 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ファイルをロードします。

    1. 次のディレクトリに進みます。

      cd IAM_ORACLE_HOME/oam/server/oim-intg/ldif/ad/schema/
      
    2. 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
      
  12. 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でのみ動作確認されています。

  13. Active Directoryのパスワード・ポリシーを設定します。これを行うには、次の手順を実行します。

    1. DOMAIN_HOME/config/fmwconfig/ovd/oim/adapters.os_xmlファイル内のlibOVDアダプタに対するpwdMaxFailure構成パラメータの値が、10に設定されていることを検証します。

    2. Active DirectoryでlockoutThreshold値を10に設定します。lockoutThresholdの詳細は、次のURLを参照してください。

      https://technet.microsoft.com/en-us/library/cc775412%28v=ws.10%29.aspx

E.1.1.2 ODSEEの事前構成

LDAPディレクトリをアイデンティティ・ストアとして使用できるようにするには、事前構成を実行する必要があります。この項の手順では、OAMと統合している場合、したがってLDAP同期を構成している場合にOracle Directory Server Enterprise Edition (ODSEE)をLDAPアイデンティティ・ストアとして使用するため、Oracle Directory Server Enterprise Edition (ODSEE)を事前構成することができます。


注意:

  • LDAPアイデンティティ・ストア(OIM)が、スキーマ拡張子を持つコンテナおよびoimadminuserに対して構成されている場合、この項で説明されている構成手順に従う必要はありません。

  • cn=oracleAccountsはサンプル・データです。例に従って、LDAPサーバーの構成に適したデータと置き換えてください。

  • cn=oracleAccountsは、OIMと同期される情報を含むためのディレクトリ・コンテナの名前を示唆するサンプル・データです。アイデンティティ・ストアを事前構成する際には、このデータを使用しなくてもかまいません。


アイデンティティ・ストアを事前構成する手順:

  1. 新しいファイル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
    
  2. 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
    
  3. ノード間で行われるエントリの名前変更に対して、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
    
  4. 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
    
  5. 次のようにステータスをチェックします。

    ..dsee7/bin/dsccsetup status
    
  6. 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/
    
  7. 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
    
  8. 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
    
  9. OIMの一般名生成機能に対して、参照整合性を有効にします。

    DNまたはRDNが変更されたときはいつでも、OIMおよびOID/Active Directory/ODSEEで参照整合性を有効化する必要があります。

    ディレクトリ・サーバーで参照整合性が有効になっている場合、OIMプロパティXL.IsReferentialIntegrityEnabledInLDAPTRUEに設定する必要があります(デフォルトはFALSE)。XL.IsReferentialIntegrityEnabledInLDAPTRUEに設定するには、OIMにログインして、「詳細」「システム管理」「システム構成」に移動します。システム・プロパティ(XL.IsReferentialIntegrityEnabled)を検索し、プロパティの値をTRUEに設定します。

    1. 次のコマンドを使用して、参照整合性プロパティの値を表示します。

      ..dsee7/bin/dsconf get-server-prop -h <ODSEE server> -p <ODSEE port> ref-integrity-enabled
      Enter "cn=Directory Manager" password:
      ref-integrity-enabled : off
      
    2. 次のコマンドを使用して、参照整合性プロパティを有効にします。

      ./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/
      
    3. 値が正しく設定されたかどうかを確認するための問合せを実行します。

      ..dsee7/bin/dsconf get-server-prop -h <ODSEE server> -p <ODSEE port>
      ref-integrity-enabled
      Enter "cn=Directory Manager" password:
      ref-integrity-enabled : on
      
  10. OIM管理ユーザー、グループおよびACIを作成します。新しいファイルoimadminuser.ldifを開きます。このoimadminuserは、OIMのプロキシ・ユーザーとして使用されます。

    ルート接尾辞はdc=mycompany,dc=comです。これは、ODSEEサーバーの適切なルート接尾辞と置換する必要があります。

    1. 次の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");)
      
    2. 次のコマンドを使用して、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
      

E.1.2 OUDでの変更ログの構成

LDAP同期には、LDAP管理ユーザーとは異なる、プロキシ・ユーザーおよびグループのLDAPでの作成が必要となります。これは、Oracle Identity ManagerにLDAPのディレクトリ・ストアの更新を許可するために行われます。それらの更新がOracle Identity Managerにリコンサイルされることなく、変更はプロキシ・ユーザーとして行われ、プロキシ・ユーザーによって行われた変更は、リコンシリエーション中にOracle Identity Managerによってフィルタで除外されます。

OUDとのLDAP同期を使用するには、いくつかの追加要件があります。OUDの外部変更ログ(ECL)を有効にする必要があり、プロキシ・ユーザーに、それを問い合せるための権限を付与する必要があります。これを行うには、次の手順を実行します。


注意:

この項内の例は、ローカルホスト上のOUDインスタンス、および単純なバインド・パスワードがセキュアなファイル(PASSWORD_FILE)内に格納されていることが前提となっています。ローカル環境のために必要な場合は、コマンドを変更します。

  1. 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を再起動する必要があります。OUDのbinディレクトリで、stop-dsおよびstart-dsコマンドを使用します。


  2. OUDのbinディレクトリから、oudadmin.ldifファイルを使用することで、プロキシ・ユーザーおよびグループを作成します。

    ./ldapmodify -h localhost -p PORT -D cn=orcladmin -j PASSWORD_FILE -c  -f FILE_LOCATION/oudadmin.ldif
    
  3. レプリケーション・サーバーおよびドメインを作成します。次に示すように、インストールのためにレプリケーション・ポート番号およびベース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
    
  4. 次に示すように、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\"\;\)
    
  5. 次のように、コマンド・ラインで、および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から最後の変更ログ番号を取得する必要があります。これを行うには、次の手順を実行します。

      1. Oracle Identity Managerでユーザーおよび/またはロールを作成します。

      2. そのユーザーおよび/またはロールが正常にLDAPと同期されたことを確認します。

      3. LDAPでのそのユーザーおよび/またはロールについて、表示名などの安全な属性を変更します。

      4. 増分リコンシリエーション・スケジュール済タスク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
    
  6. 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
    

E.1.3 OVDアダプタの作成

インストール時の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アダプタの作成

UserManagementプラグインを使用すると、Oracle Internet DirectoryおよびActive Directory用のOracle Virtual Directoryユーザーおよび変更ログ・アダプタを作成できます。Oracle Identity Managerにはアダプタが必要です。Oracle Virtual Directoryを使用してOracle Internet Directoryに接続することを強くお薦めします。ただしこれは必須ではありません。

そのためには、次のタスクを実行します。

  1. 第D.2項「環境変数の設定」の説明に従って、必要なすべての環境変数が設定されていることを確認します。

  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です。
    • Fusion Applicationsのデプロイメント。

    • Oracle Identity ManagerとOracle Access Manager間の統合に関連するデプロイメント。たとえばOracle Access Managerによる認証のために、基礎となるディレクトリ・サーバーも使用されている場合。

    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に設定します。

  3. 次の場所にあるidmConfigToolコマンドを使用してアダプタを構成します。

    IAM_ORACLE_HOME/idmtools/bin


    注意:

    idmConfigToolを実行すると、idmDomainConfig.paramファイルが作成されるか、既存のこのファイルに情報が追加されます。このファイルは、idmConfigToolを実行したディレクトリに作成されます。このツールを実行するたびに同じファイルに情報が追加されるようにするには、必ず次のディレクトリでidmConfigToolを実行します。

    IAM_ORACLE_HOME/idmtools/bin


    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インスタンスに対してこのコマンドを実行します。

E.1.3.2 Identity Virtualization Library (libOVD)アダプタの作成およびOracle Identity Managerとの統合

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と統合する手順は、次のとおりです。

  1. スクリプトを実行してIdentity Virtualization Library (libOVD)を構成する前に、次の環境変数を設定します。

    • MW_HOMEを適切なミドルウェア・ホーム・ディレクトリに設定

    • ORACLE_HOMEを$MW_HOME/oracle_commonに設定

    • WL_HOMEを$MW_HOME/wlserver_10.3に設定

    • JAVA_HOMEを適切なJDKパスに設定

  2. Identity Virtualization Library (libOVD)を構成する手順は、次のとおりです。


    注意:

    コマンド内のホスト・コンピュータおよびディレクトリ・パスの該当する情報を置換し、Identity Virtualization Library (libOVD)を構成するためのスクリプトを実行します。

    1. 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
      
    2. ユーザー・アダプタおよび変更ログ・アダプタを作成するには、次のコマンドを実行します。

      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アカウントが作成された場合は、bindDNcn=oimAdminUser,cn=systemids,dc=mycompany,dc=comに設定する必要があります。


      注意:

      • Identity Virtualization Library (libOVD)はOracle Identity Managerに組み込まれているため、どちらも同じWebコンテナにデプロイされます。したがって、管理サーバー・ホストと管理サーバー・ポートは、LDAPサーバーがインストールされているコンピュータではなくOracle Identity Managerがインストールされているものと同じコンピュータのものであることが必要です。

      • このツールの実行中に渡すパラメータの-dataStore引数の値は、バックエンド・ディレクトリ・タイプであることが必要です。adapter_template_oim.xmlを使用している場合、このパラメータの有効な値は、OID、ACTIVE_DIRECTORY、IPLANETおよびOUDです。


      バックエンド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:
      
  3. 次のコマンドを実行することで、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
    
  4. Oracle Identity ManagerをOracle Identity Virtualization (libOVD)に統合する手順は、次のとおりです。

    1. Oracle Identity System Administrationにログインします。

    2. 左のペインで、構成の下の「ITリソース」をクリックします。別のウィンドウに「ITリソースの管理」ページが表示されます。

    3. 「ITリソース・タイプ」リストから「ディレクトリ・サーバー」を選択し、「検索」をクリックします。

    4. ディレクトリ・サーバーITリソースについては、「編集」をクリックします。「ITリソースの詳細およびパラメータの編集」ページが表示されます。

    5. 「検索ベース」フィールドに、たとえばdc=oracle,dc=comのように値を入力します。

    6. 「ユーザー予約コンテナ」フィールドに、たとえば、cn=reserve,dc=us,dc=oracle,dc=comのように値を入力します。

    7. Oracle Identity ManagerがデプロイされているWebLogicサーバーを再起動します。

    8. サーバーにアクセスし、Oracle Identity System Administrationを介してユーザーおよびロールの管理を試みます。

    9. libovdadapterconfig.shコマンドに-dataStoreオプションを使用して選択したLDAPサーバーでデータが管理されていることを検証するには、ldapclientツールを使用してLDAPサーバーに直接、接続します。

E.1.4 LDAP同期の有効化

LDAP同期の有効化には、次の手順が含まれます。

E.1.4.1 MDSの変更

デフォルトで、MDSにはLDAP同期の有効化に必要なファイルが含まれていません。したがって、MDS内に様々な構成ファイルをインポートする必要があります。初期段階でファイルはMDS内に存在しませんが、テンプレート・バージョンをOracle Identity Managerの配布内で見つけることができます。これらのファイルはインポートの前に、ユーザーのカスタマイズを反映するために編集が必要な場合もあります。

  • これらのファイルのテンプレート・バージョンは$IAM_ORACLE_HOME/server/metadata/ディレクトリ内にあります。

  • ユーザー、ロール、ロール階層およびロール・メンバーシップのファイルをMDS内にインポートする必要があります。たとえばUDFの追加などで、これらのエンティティおよび関連性を変更している場合は、変更およびインポートの前に元のファイルのバックアップを作成する必要があります。

  • ほとんどの新規インストールで、イベント・ハンドラを変更せずにMDSにインポートできます。場合によっては、ライフサイクル・イベントに対するOIMレスポンスをカスタマイズするために、イベント・ハンドラを変更します。

  • LDAPContainerRulesは、同期をユーザー環境で有効にするために、常に編集する必要があります。

  • カスタマイズがユーザー環境で適用された後、ファイル・システム上の元のテンプレート・バージョンは期限切れかもしれないため、アクティブ・バージョンを取得するために最初にファイルをMDSからエクスポートする必要があります。

MDSファイルを変更およびインポートする手順:

  1. OIM_ORACLE_HOME環境変数に、Oracle Identity Managerがデプロイされているディレクトリを設定します。正確な場所はユーザーのインストールによって異なります。この一例は/u01/Oracle/Middleware/IAMです。

  2. 次のファイルを、MDSから一時ステージング・ディレクトリ(/tmpなど)にコピーします。


    注意:

    • ファイルはルート・ディレクトリ(/tmp)にコピーしないでください。かわりに、この手順で示した構造(例: /tmp/db/LDAPUser)を維持してください。ファイルが/tmpディレクトリにコピーされてMDSにインポートされると、Oracle Identity Managerではリコンシリエーションのスケジュール済ジョブの実行が失敗します。

    • 別個のステージング・ディレクトリを作成する必要があります。$OIM_ORACLE_HOME/server/metadataディレクトリには他のファイルが含まれているため、ステージング・ディレクトリとして使用することはできません。これらのファイルを誤ってインポートすると、Oracle Identity Managerインスタンスが破損することがあります。

      OIM_ORACLE_HOMEは、Oracle Identity Managerがインストールされるディレクトリを識別する環境変数を表します。この変数は、様々なOracle Identity Managerスクリプトで使用できます。


    • 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ファイルにルールを含めることができます。外部オブジェクトからの属性またはエンティティの一部ではない属性を使用して、ルールを記述することはできません。これはユーザー・エンティティとロール・エンティティの両方に当てはまります。たとえば、「ロールの電子メール」はロールのルールには使用できず、ユーザーの「組織名」はユーザー・エンティティに使用できません。

  3. 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など)

  4. Oracle Enterprise Managerを使用することでインポートを実行します。MDSからのメタデータ・ファイルのインポートの詳細は、『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のユーザーが修正可能なメタデータ・ファイルの移行に関する項を参照してください。


    注意:

    MDS内へのインポート時にEventHandlers.xmlが$STAGING_DIR/db/ldapMetadata/ディレクトリ内にあることを確認します。

    カスタマイズおよびインポートの実行後、目的の変更とともにファイルが正しいMDSの場所にあることを確認するため、MDSからファイルをエクスポートすることをお薦めします。MDSのドキュメントに、MDSのエクスポートに関する説明があります。


E.1.4.2 ITリソースの変更

Oracle Identity ManagerでITリソース構成を編集します。これを行うには、次の手順を実行します。

  1. Oracle Identity System Administrationにシステム管理者としてログインするには、次のURLに移動します。

    http://HOST_NAME:PORT/sysadmin

  2. 左のナビゲーション・ペインで、構成の下の「ITリソース」をクリックします。「ITリソースの管理」ページが表示されます。

  3. Directory Server ITリソースを探します。

  4. このITリソースを「検索ベース」および予約コンテナの値で更新します。

    「検索ベース」の推奨値は、ルート接尾辞またはベースDN(dc=us,dc=example,dc=comなど)です。

  5. OVDサーバーでOracle Identity Managerを構成する場合は、「サーバーURL」にOVDサーバーのホストおよびポートの詳細を入力します。

    Identity Virtualization Library (libOVD)でOracle Identity Managerを構成する場合は、「サーバーURL」に値を入力しないでください。空白にする必要があります。

  6. LDAPサーバーに使用されるバインド資格証明の値を入力します。これは、idmConfigToolのIDSTORE_BINDDNとして使用される場合と同じです。

    管理ログイン: cn=oimadmin

    管理パスワード: 1111111111

  7. 予約コンテナの値が、cn=reserve,VALUE_OF_THE_ROOT_SUFFIXであることを確認します。次に例を示します。

    予約コンテナ: cn=reserve,dc=us,dc=example,dc=com

E.1.4.3 リコンシリエーション・ジョブのシード

リコンシリエーション・ジョブでは、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リコンシリエーション・スケジュール済ジョブのパラメータによるシード

    1. $OIM_ORACLE_HOME/server/setup/deploy-filesディレクトリに移動します。

    2. 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をダウンロードします。

      http://www.oracle.com/technetwork/index.html

      ANTをインストールして、ANT_HOMEを設定します。ant実行ファイルが、$ANT_HOME/bin/ant/ディレクトリにあることを確認します。


    3. パラメータを設定して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リコンシリエーション・スケジュール済ジョブのプロファイル・ファイルによるシード

    1. ANT_HOME環境変数には、ANTがインストールされているディレクトリを設定します。


      注意:

      ANTがインストールされていない場合は、次のURLのOracle Technology Network (OTN) WebサイトからANTをダウンロードします。

      http://www.oracle.com/technetwork/index.html

      ANTをインストールして、ANT_HOMEを設定します。ant実行ファイルが、$ANT_HOME/bin/ant/ディレクトリにあることを確認します。


    2. $OIM_ORACLE_HOME/server/bin/ディレクトリに移動します。

    3. 表E-2に示すプロパティを使用して、プロパティ・ファイルを作成します。


      注意:

      プロパティ・ファイルを新規に作成するかわりに、appserver.profileを使用することもできます。この手順にリストされたプロパティに値が設定されていることを確認します。

      表E-2 プロパティ・ファイルのパラメータ

      パラメータ 説明

      operationsDB.user

      Oracle Identity Managerデータベース・スキーマの所有者

      operationsDB.driver

      oracle.jdbc.OracleDriverの定数の値。

      operationsDB.host

      Oracle Identity Managerデータベース・スキーマのホスト・アドレス

      OIM.DBPassword

      Oracle Identity Managerデータベース・スキーマの所有者のパスワード

      operationsDB.serviceName

      Oracle Identity Managerデータベース・スキーマのサービス名。たとえば、oimdb.regress.rdbms.mycompany.com

      operationsDB.port

      Oracle Identity Managerデータベース・スキーマのポート番号。

      ssi.provisioning

      値はONにする必要があります。

      weblogic.server.dir

      Oracle WebLogic Serverのインストール先のディレクトリ。たとえば、MW_HOME/wlserver_10.3

      ojdbc.location

      JDBCのインストール先のディレクトリ。たとえば、MW_HOME/wlserver_10.3/server/lib/ojdbc6.jar

      work.dir

      ログ・ファイルを作成する任意のディレクトリ。

      ターゲットの完了後に、$WORK_DIR/seed_logs/ldap/SeedSchedulerData.logファイルでログをチェックできます。

      appserver.type

      アプリケーション・サーバー。WebLogicの場合の値はwls

      appserver.dir

      WebLogic Serverディレクトリへの絶対パス


    4. $OIM_ORACLE_HOME/server/setup/deploy-files/ディレクトリに移動します。

    5. 次のコマンドを実行します。

      $ANT_HOME/bin/ant -f setup.xml seed-ldap-recon-jobs -propertyfile $OIM_ORACLE_HOME/server/bin/PROPERTY_FILE_NAME 
      

E.1.4.4 LDAP同期でのOVDからlibOVDへの復旧

OVDまたはlibOVDのいずれかを、すべてのサポートされるディレクトリ・サーバーに対するフロントエンドとすることができます。ただし、スタンドアロンOVDではなくlibOVDは、OUDのフロントエンドとして使用することをお薦めします。すでにOVD-OUD-OIMトポロジがあり、それをlibOVD-OUD-OIMに変換する場合は、次の手順を実行します。

  1. 増分ロールおよびユーザー・リコンシリエーションのスケジュール済ジョブを無効化します。

  2. 次のコマンドを実行して、ディレクトリ・サーバーの最新の変更ログ・エントリを記録します。

    ldapsearch -h HOST -p PORT -D "cn=orcladmin" -w PASSWORD -b "" -s base "objectclass=*" lastchangenumber
    

    スケジュール済のリコンシリエーション・ジョブを再有効化する前に、この変更ログ番号がディレクトリ・サーバーのITリソースに配置されることを確認します。

  3. libOVDアダプタを作成します。詳細は、第E.1.3.2項「Identity Virtualization Library (libOVD)アダプタの作成およびOracle Identity Managerとの統合」を参照してください。

  4. Oracle Identity ManagerのITリソースを編集します。詳細は、第E.1.4.2項「ITリソースの変更」を参照してください。

  5. 手順1で無効化した増分ロールおよびユーザー・リコンシリエーション・ジョブを再有効化します。

E.2 LDAPの同期の管理

LDAP同期の管理について、次の各項で説明します。


注意:

  • 事後構成を通して増分リコンシリエーションを有効化する前に、この項の説明どおり、ディレクトリ・サーバー上に既存の格納されたユーザーおよびロールがある場合は、常にLDAPの完全リコンシリエーションを最初に実行します。完全リコンシリエーションが完了するまで増分リコンシリエーションを無効化するようにしてください。このアプローチの詳細は、『Oracle Identity Managerの管理』のリコンシリエーションに使用されるアプローチに関する項を参照してください。

    次のURLのスケジューラの管理に関する項に従って、LDAP統合された完全リコンシリエーションのスケジュール済ジョブを使用することをお薦めします。

    http://docs.oracle.com/cd/E37115_01/admin.1112/e27149/scheduler.htm#OMADM2773

  • ADをLDAPディレクトリとして使用する際、第E.2.15項「ユーザーおよびロールに対するLDAPAddMissingObjectClassesの無効化」の説明に従って、完全リコンシリエーションの実行前にLDAPAddMissingObjectClassesハンドラを無効化します。


E.2.1 LDAP構成後ユーティリティの実行

LDAP構成設定後スクリプトにより、デフォルトでは無効になっているすべてのLDAP同期関連の増分リコンシリエーション・スケジューラ・ジョブが有効化されます。また、ディレクトリ・サーバーから最後の変更番号が取得され、LDAP同期の増分リコンシリエーション・ジョブがすべて更新されます。最終変更番号でLDAP同期の増分リコンシリエーション・ジョブがすべて更新されます。


注意:

  • このプロシージャは、すべてのDirectory Serverオプションに適用できます。

  • LDAP設定後スクリプトとプロパティ・ファイルは、IAM_HOME下のserver/LDAP_CONFIG_UTILディレクトリに存在します。IAM_HOMEは、Oracle Identity Manager、Oracle Access Management、Oracle Adaptive Access Manager、Oracle Entitlements Server、Oracle Identity Navigator、Oracle Privileged Account ManagerおよびOracle Access Management Mobile and SocialのOracle Identity and Access Managementホーム・ディレクトリです。

  • wlfullclient.jarファイルはLDAP構成設定後の実行に必要とされます。Oracle Identity and Access Managementインストレーション・ガイドの構成後手順で説明されているように、このファイルを生成します。この項では、LDAP同期の有効化ではなくその他の目的でDesign Consoleが必要な場合は、Design Consoleを構成するマシン上でwlfullclient.jarファイルをIAM_HOME\designconsole\ext\ディレクトリにコピーする手順のみが必要となります。Design Consoleの構成は、LDAP同期の目的のためには必要ありません。


LDAP構成後ユーティリティを実行する手順:

  1. 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ディレクトリです。

  2. ldapconfig.propsファイルをテキスト・エディタで開きます。このファイルは、Oracle Identity and Access ManagementのIAM_HOME下のserver/ldap_config_utilディレクトリにあります。

  3. 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はアイデンティティ・ストアへの接続に使用されるユーザーの名前です(例: cn=oimAdminUser,cn=systemids,dc=mycompany,dc=com)。

    このLDAPAdminUsernameは、顧客のユーザー・アカウントが存在するユーザー・コンテナに配置しないでください。たとえば、cn=Users,cn=mycompanyAccounts,dc=mycompany,dc=comは使用しないでください。Oracle Identity Managerへのこのユーザーのリコンシリエーションを防ぐため、このユーザーは検索対象範囲外に存在する必要があります。

    注意: 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

    このパラメータの値は空白のままにします。


  4. 手順1の説明に従って、必要な環境変数が設定されていることを確認します。

  5. Oracle Identity Manager管理対象サーバーを起動します。『Oracle Fusion Middleware Oracle Identity and Access Managementインストレーション・ガイド』のサービスの開始に関する項を参照してください。

  6. コマンド行で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
    
  7. プロンプトが表示されたら、必要に応じてOracle Identity Managerシステム管理者のパスワードおよびLDAP管理者のパスワードを入力します。

    Active Directory、ODSEEまたはOUDをディレクトリ・サーバーとして使用している場合、Oracle Identity Managerシステム管理者のパスワードのみを求められます。

    OVDをディレクトリ・サーバーとして使用している場合、Oracle Identity Managerシステム管理者のパスワードおよびLDAP管理者のパスワードの両方が求められます。

E.2.2 LDAP同期の検証

Oracle Identity ManagerのLDAPの構成を検証する手順:

  1. WebLogic管理サーバーとOracle Identity Manager管理対象サーバーが稼働中であることを確認します。

  2. Oracle Identity System Administrationにログインします。

  3. 「プロビジョニング構成」で、「ITリソース」をクリックします。「ITリソースの管理」ページが表示されます。「検索」をクリックします。

    「検索ベース」、予約コンテナ、URLおよびバインドDNのパラメータ値を検証します。

    『Oracle Identity Managerの管理』のITリソースの管理に関する項を参照してください。

  4. Oracle Identity Self Serviceにログインして、ユーザーを作成します。

  5. 任意のLDAPクライアントを使用して、選択したLDAPストアまたはOVDに同じユーザーが作成されていることを確認します。


    注意:

    選択したディレクトリ・サーバーまたはOVDとOracle Identity Managerが稼働していることを確認してください。

E.2.3 ユーザーのカスタマイズおよびフィルタ処理

ユーザー作成のカスタマイズおよびフィルタ処理は次の方法で実行できます。

E.2.3.1 様々なカスタム・オブジェクト・クラスを使用したOracle Identity Managerを介したユーザー作成のカスタマイズ

新しいユーザーを作成する際に、カスタム属性をOracle Identity Managerのユーザー定義フィールド(UDF)として追加することで、またはMDSのLDAPUser.xmlに追加することで、カスタム・オブジェクト・クラスおよびカスタム属性を追加できます。前提条件として、1つ以上の属性を持つカスタム・オブジェクト・クラスを作成し、OIDにロードする必要があります。

カスタム属性をOracle Identity ManagerのUDFまたはMDSのLDAPUser.xmlとして追加する手順は、次のとおりです。

  1. 『Oracle Fusion Middleware Oracle Identity Manager管理者ガイド』のカスタム属性の作成に関する項に従って、Oracle Identity Managerのユーザー属性にカスタム属性を追加します。

  2. 『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のユーザーが修正可能なメタデータ・ファイルの移行に関する項に従って、リポジトリから/metadata/iam-features-ldap-sync/LDAPUser.xmlメタデータ・ファイルをエクスポートします。

  3. LDAPUser.xmlファイルを更新し、custom attribute1カスタム属性およびcustomObjectClassカスタム・オブジェクト・クラスを追加します。

  4. createでさらにオブジェクト・クラスを追加するには、LDAPUser.xmlを編集し、さらに<value>エントリを<parameter name="objectclass">ノードに追加します。次に例を示します。

    <parameter name="objectclass">
    <value>orclIDXPerson</value>
    <value>customObjectClass</value>
    </parameter>
    
  5. カスタム属性をLDAPUser.xmlファイルの3つのセクションに追加します。これを行うには、次の手順を実行します。

    1. その属性エントリを<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では、属性名に空白が含まれているカスタム属性を作成できません。

    2. その属性エントリを<target-fields>タグの終わりに追加します。次に例を示します。

      <target-fields>
      ...................
      ...................
      <field name="customattr1">
      <type>string</type>
      <required>false</required>
      </field>
      </target-fields>
      
    3. その属性エントリを<attribute-maps>タグの終わりに追加します。次に例を示します。

      <attribute-maps>
      ...................
      ...................
      <attribute-map>
      <entity-attribute>custom attribute1</entity-attribute>
      <target-field>customattr1</target-field>
      </attribute-map>
      </attribute-maps>
      
    4. LDAPUser.xmlファイルを保存して閉じます。

  6. 『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のユーザーが修正可能なメタデータ・ファイルの移行に関する項に従って、リポジトリに/metadata/iam-features-ldap-sync/LDAPUser.xmlメタデータ・ファイルをインポートします。

  7. (オプション)cnのRDN属性を変更する場合は、<parameter name="rdnattribute">タグを新しいディレクトリ属性名に更新し、/metadata/iam-features-ldap-sync/LDAPUser.xmlメタデータ・ファイルをリポジトリに再インポートします。次に例を示します。

    <parameter name="rdnattribute">
    <value>companyid</value>
    </parameter>
    
  8. Oracle Identity Managerを介して新しいユーザーを作成することで構成をテストします。

E.2.3.2 LDAP同期が有効化されている場合に、LDAPにおいてではなく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には作成しない場合、次の手順を実行します。

  1. MDSからLDAPUser.xmlファイルをインポートします。

  2. 次のフィルタをLDAPUser.xmlに追加します。

    <parameter name="excludeEntityFilter">
    <value>act_key=2</value>
    </parameter>
    <parameter name="excludeEntityActions">
    <value>ALL</value>
    </parameter>
    
  3. LDAPUser.xmlファイルをMDSにエクスポートします。

  4. 組織の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にエクスポートする必要があります)。

E.2.4 プラグインを使用したLDAPの同期の構成

OVDのスタンドアロン・インスタンスとの統合シナリオの場合、LDAPの同期の構成では次のプラグインを使用します。


注意:

この項はOracle Virtual Directoryのスタンドアロン・インスタンスとの統合のみに適用されます。

E.2.4.1 UserManagementプラグインの使用方法

このトピックでは、Oracle Virtual DirectoryがOracle Identity Manager統合のコネクタ・ターゲットである場合に使用するように設計されたプラグインについて説明します。

UserManagementプラグインは、Oracle Identity Managerの属性からLDAPディレクトリ・サーバーへのデータ・マッピングを提供します。

E.2.4.1.1 構成パラメータ

UserManagementプラグインには、次の構成パラメータがあります。

filterObjectclass

追加または変更リクエスト時に削除する必要のあるオブジェクト・クラスのカンマ区切りのリスト。

removeAttribute

クライアントに戻される前にエントリから実際に削除される属性のカンマ区切りリスト。

exclusionMapping

特定のオブジェクト・クラスに対する特定の属性マッピングの除外を定義します。たとえば、値inetorgperson,uid=samaccountnameを持つパラメータを指定すると、オブジェクト・クラスinetorgpersonのエントリ上のuidからsamaccountnameへのマッピングが除外されます。このオプションの複数のインスタンスを使用すると、マッピングに対して複数の除外が可能になります。

oimLanguages

属性言語サブタイプで使用される言語コードのカンマ区切りリスト。このパラメータは、directoryTypeパラメータがActiveDirectoryに設定されている場合にのみ機能します。

oamEnabled

TrueまたはFalse: Oracle Access Management Access Manager (Access Manager)がOracle Identity Managerとともにデプロイされているかどうかを示します。デフォルトでは、Access Managerはデプロイされておらず、したがってこのパラメータのデフォルト設定はfalseです。


注意:

UserManagementプラグインとchangelogプラグインのoamEnabledパラメータの値は同一であることが必要です。

directoryType

ソースLDAPディレクトリ・サーバーのタイプを指定します。サポートされている値はOID、ActiveDirectoryおよびSunOneです。デフォルト値はOIDです。


注意:

UserManagementプラグインとchangelogプラグインのdirectoryTypeパラメータの値は同一であることが必要です。

ssladapter

ssladapterパラメータは、directoryTypeパラメータがActiveDirectoryに設定されている場合にのみ機能し、リクエストにuserPasswordまたはunicodePwdが含まれている場合にUserManagementプラグインによってリクエストがルーティングされる先のアダプタの名前を指定します。unicodePwdがリクエストに含まれている場合、そのリクエストには、適切な値を持つuseraccountControl属性も含まれている必要があります。

ssladapterパラメータによって指定されるアダプタは、次のようになっている必要があります

  • UserManagementプラグインが構成されているアダプタと同じローカル・ベースを持つ

  • ルーティングの可視性がInternalに設定されている

ssladapterに値が設定されていない場合は、デフォルトで現在のアダプタが使用されます。

mapAttribute

OVD-attribute=OIM-attributeの形式の属性変換を定義します。たとえば、orclGUID=objectGuidなどです。mapAttribute構成パラメータを複数回設定して、複数の属性の変換を定義できます。

mapPassword

TrueまたはFalse。directoryType構成パラメータをActiveDirectoryに設定すると、mapPasswordパラメータが、ユーザー・パスワードをunicodePwd属性に変換するかどうかを制御します。デフォルト値はfalseです。

mapRDNAttribute

OVD-RDNattribute=OIM-RDNattributeの形式のRDN属性変換を定義します。たとえば、uid=cnなどです。

pwdMaxFailure

(このプラグインがデプロイされているアダプタを介して公開されるユーザー・エントリに適用されたパスワード・ポリシーの定義に従い)ソース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の属性値は同じにする必要があります。

mapObjectclass

OVD-objectclass=OIM-objectclassの形式のオブジェクト・クラスの値変換を定義します。たとえば、inetorgperson=userなどです。mapObjectclass構成パラメータを複数回設定して、複数のオブジェクト・クラスの変換を定義できます。


注意:

UserManagementプラグインとchangelogプラグインのmapObjectclassパラメータの値は同一であることが必要です。

addAttribute

このパラメータは、attribute=value pairsの形式でget操作結果を戻す前に追加する属性を指定します。属性名の前にobjectclass,を追加すると、属性と値を特定のオブジェクト・クラスに追加できます。また、値を%で囲んで他の属性を参照することもできます。たとえば、値user,samaccountname=%cn%を指定すると、エントリがobjectclass=userである場合にcnの値がsamaccountnameに代入されます。値samaccountname=jdoeを指定すると、値jdoeを持つ属性samaccountnameがすべてのエントリに追加されます。

E.2.4.2 Changelogプラグインの使用方法


注意:

リリース11.1.1.4.0より前のOracle Virtual Directoryには、次の3つのchangelogプラグインがありました。
  • Oracle Internet Directoryとともに使用するためのoidchangelog

  • Oracle Directory Server Enterprise Editionとともに使用するためのsunonechangelog

  • Microsoft Active Directoryとともに使用するためのadchangelog

これらの3つのプラグインはリリース11.1.1.4.0では非推奨となり、新しい単一のChangelogプラグインが使用可能になっています。このプラグインは、Oracle Internet Directory、Oracle Directory Server Enterprise Edition、およびMicrosoft Active Directoryで使用できます。


E.2.4.2.1 リリース11.1.1.4.0 Changelogプラグインのデプロイ

この単一のChangelogプラグインをデプロイする際は、次のことが必要です。

  • アダプタの「リモート・ベース」を空の値に、つまり空白にします。

  • アダプタの「マップされたネームスペース」をcn=changelogに設定します。

  • バックエンドがOracle Directory Server Enterprise Editionである場合、Oracle Directory Server Enterprise Edition上のロギングの変更を必ず有効化してください。

E.2.4.2.2 前のリリースからのChangelogプラグインのデプロイ

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に設定します。

E.2.4.2.3 構成パラメータ

各changelogプラグインには、次の構成パラメータがあります。

removeAttribute

クライアントに戻される前にエントリから実際に削除される属性のカンマ区切りリスト。

oimLanguages

属性言語サブタイプで使用される言語のカンマ区切りリスト。

skipErrorChangelog

TrueまたはFalse。falseに設定されていて、破損したchangelogエントリがプラグインによって検出された場合、プラグインはDirectoryExceptionをスローし、changelogエントリのそれ以降の処理を停止します。trueに設定されている場合、プラグインは例外をスローせずにエラーを記録し、このchangelogをスキップして、次のchangelogの処理を続行します。デフォルト値はfalseです。

oamEnabled

TrueまたはFalse: Access ManagerがOracle Identity Managerとともにデプロイされているかどうかを示します。デフォルトでは、Access Managerはデプロイされておらず、したがってこのパラメータのデフォルト設定はfalseです。


注意:

UserManagementプラグインとchangelogプラグインのoamEnabledパラメータの値は同一であることが必要です。

directoryType

ソースLDAPディレクトリ・サーバーのタイプを指定します。サポートされている値はOID、ActiveDirectoryおよびSunOneです。デフォルト値はOIDです。


注意:

UserManagementプラグインとchangelogプラグインのdirectoryTypeパラメータの値は同一であることが必要です。

mapObjectclass

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パラメータの値は同一であることが必要です。

sizeLimit

戻されるchangelogエントリの最大数を指定します。

ゼロ(0)または負の値は、サイズ制限がないことを意味します。

受信する検索リクエストでサイズの制約が指定されている場合、小さい方の値が使用されます。たとえば、プラグインのsizeLimitを100に指定してあり、検索リクエストのカウント制限が200である場合は、リクエストの実際のサイズ制限は100にリセットされます。

mapAttribute

Source-Directory-attribute=OIM-attributeの形式の属性変換を定義します。たとえば、orclGUID=objectGuidなどです。mapAttribute構成パラメータを複数回設定して、複数の属性の変換を定義できます。

targetDNFilter

変更の取得元となるコンテナを指定します。このパラメータは複数回設定して、変更の取得元となるコンテナを複数指定できます。複数回設定した場合、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で指定されているアダプタのローカル・ベースの子であることが必要です。)

これらの例はすべて同じ意味を持ちます。

requiredAttribute

Oracle Virtual Directoryへのchangelog問合せに対して指定されている戻り属性リストに関係なく、ソースLDAPディレクトリ・サーバーから常に取得される属性のカンマ区切りリスト。

addAttribute

正規化されているchangelogエントリに追加される属性のカンマ区切りリスト。たとえば、orclContainerOC=1, changelogSupported=1などです。ここで、=1はchangelogをサポートしているソース・ディレクトリから取得される変更を示します。

mapUserState

TrueまたはFalse。このパラメータは、ディレクトリ固有のアカウント属性からOracle Virtual Directoryの仮想アカウント属性へのマッピングを有効化または無効化します。

modifierDNFilter

modifiersNameに対するLDAPフィルタを定義する単一の値を持つ構成パラメータ。このパラメータは、受信フィルタにandで結合されます。値の例としては、(modifiersName=cn=myadmin,cn=users,dc=mycom)があります。


注意:

この構成は、directoryType=ActiveDirectoryの場合は無効です。

virtualDITAdapterName

対応するユーザー・プロファイル・アダプタ名を指定します。

たとえば、単一ディレクトリ・デプロイメントでは、このパラメータの値をA1に設定できます。これはユーザー・アダプタ名です。分割ユーザー・プロファイルのシナリオでは、このパラメータをJ1;A2に設定できます。ここでJ1はJoinViewアダプタ名であり、A2はJ1における対応するユーザー・アダプタです。

このパラメータは複数値を取ることができます。これは、changelogアダプタと同じバックエンド・ディレクトリ・サーバーに対して構成されている複数のベース・エントリ・アダプタがあることを意味します。

このパラメータをA1に設定する場合、このプラグインはアダプタA1のUserManagementPluginのmapAttributeおよびmapObjectclass構成をフェッチするため、ユーザーがそれらの構成を複製する必要はありません。

E.2.5 OVDのトラブルシューティングおよびデバッグ

このトピックでは、Oracle Virtual Directoryでデバッグを有効化する方法について説明します(これは、Oracle Identity ManagerとOracle Virtual Directoryの統合のトラブルシューティングが必要な場合に役立ちます)。

デバッグを有効化するには、次の手順を実行します。

  1. コマンド・ウィンドウを開き、次の場所に移動します。

    OVD ORACLE_INSTANCE/config/OVD/ovd1
    
  2. ovd-logging.xmlファイルのコピーを保存します。

  3. 次のように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'>
      
  4. 次のように入力することでOracle Virtual Directoryを再起動します。

    cd OVD_INSTANCE/bin
    ./opmnctl stopall
    ./opmnctl startall
    

E.2.6 増分リコンシリエーション時にデータをフィルタリング

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に変数値を指定する必要があります。

E.2.7 Identity Virtualization Library (libOVD)とディレクトリ・サーバーの間でのSSLの有効化

SSLのために、次の項の説明に従って、ディレクトリ・サーバーからサーバー側の証明書をエクスポートし、Identity Virtualization Library (libOVD)にインポートする必要があります。

E.2.7.1 Identity Virtualization Library (libOVD)とMicrosoft Active Directoryの間でのSSLの有効化

Active Directoryからサーバー側の証明書をエクスポートし、Identity Virtualization Library (libOVD)にインポートするには、次の手順を実行します。

  1. 次の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
    
  2. CA署名証明書を取得し、ファイルに保存します。これを行うには、次の手順を実行します。

    1. ドメイン管理者としてActive Directoryドメイン・サーバーにログインします。

    2. 「スタート」「コントロール パネル」「管理ツール」「証明機関」の順にクリックし、証明機関用のMicrosoft管理コンソール(MMC)を表示します。

    3. CAコンピュータを右クリックし、CAのプロパティを選択します。

    4. 「全般」メニューから、「証明書の表示」を選択します。

    5. 「詳細」ビューを選択し、ウィンドウの右下隅にある「ファイルにコピー」をクリックします。

    6. 次のコマンドを実行して、証明書のエクスポート・ウィザードを使用し、CA証明書をファイルに保存します。

      certutil -ca.cert OutCACertFile
      

      注意:

      CA証明書は、DER Encoded Binary X-509形式またはBased-64 Encoded X-509形式で保存できます。

  3. 次のコマンドを実行して、手順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
    

E.2.7.2 Identity Virtualization Library (libOVD)とiPlanetの間でのSSLの有効化

Identity Virtualization Library (libOVD)とiPlanet (ODSEE)の間でのSSLを有効化するために、iPlanet (ODSEE)から証明書をエクスポートしてIdentity Virtualization Library (libOVD)にインポートするには、次の手順を実行します。

  1. 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
    
  2. ステップ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ドキュメントの説明に従って証明書をエクスポートおよびインポートします。

    http://docs.oracle.com/cd/E19656-01/821-1504/gcvhu/index.html


E.2.7.3 Identity Virtualization Library (libOVD)とOIDの間でのSSLの有効化

OIDからサーバー側の証明書をエクスポートしてIdentity Virtualization Library (libOVD)にインポートするには、次の手順を実行します。

  1. 次のコマンドを使用して、Oracle Internet Directoryサーバーの証明書をBase64形式でエクスポートします。

    orapki wallet export -wallet LOCATION_OF_OID_WALLET -dn DN_FOR_OID_SERVER_CERTIFICATE -cert ./b64certificate.txt
    

    注意:

    orapkiコマンドで証明書別名を使用する場合、その別名がすべて小文字でないと、エラーが生成されます。

  2. 次のコマンドを使用して、ステップ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
    

E.2.8 LDAP同期を有効化する前に作成したユーザーおよびロールのLDAPへのプロビジョニング

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管理者ガイド』の事前定義済のスケジュール済タスクに関する項を参照してください。

E.2.9 LDAP同期の無効化

Oracle Identity ManagerデプロイメントでLDAP同期を無効化するには、次の手順を実行します。

  1. Oracle Enterprise Managerを使用してMDSから/db/ldapMetadata/EventHandlers.xmlファイルを削除します。MDSからのメタデータ・ファイルの削除の詳細は、『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のユーザーが修正可能なメタデータ・ファイルの移行に関する項を参照してください。

  2. Oracle Identity System Administrationにシステム管理者としてログインします。

  3. LDAP同期リコンシリエーションのスケジュール済ジョブをすべて無効化します。このジョブは次のとおりです。

    • LDAPユーザー作成および更新のリコンシリエーション

    • LDAPロール作成および更新のリコンシリエーション

    • LDAPロール・メンバーシップのリコンシリエーション

    • LDAPロール階層のリコンシリエーション

    このリストには、LDAPユーザー削除リコンシリエーションおよびLDAPロール削除リコンシリエーションのスケジュール済ジョブも含まれます。これらのスケジュール済ジョブの詳細は、次のURLを参照してください。

    http://docs.oracle.com/cd/E37115_01/admin.1112/e27149/scheduler.htm#OMADM2773

E.2.10 Identity Virtualization Library (libOVD)アダプタの管理

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)を管理するには、次の手順を実行します。

  1. 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を指している必要があります。

  2. WLSTコマンド行で、次のコマンドを実行します。

    connect()
    

    入力を求められたときに、WLSTのユーザー名、パスワードおよびt3 URLを入力します。

  3. 次のコマンドを実行し、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: 構成済のアダプタ・レベルのプラグインまたはグローバル・プラグインから、既存のパラメータを削除します。

  4. 使用方法を表示するには、次のように個々のコマンドに対して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でのアダプタの作成に関する説明を参照してください。

E.2.11 Identity Virtualization Library (libOVD)に対するアクセス・ログの有効化

Identity Virtualization Library (libOVD)に対してアクセス・ログを有効化すると、Identity Virtualization Library (libOVD)を通過するすべてのリクエストおよびレスポンスを捕捉できます。これは、パフォーマンスの問題を選別する場合に大変便利です。

Identity Virtualization Library (libOVD)に対してアクセス・ログを有効化する手順は、次のとおりです。

  1. デバッグ・モードで前に構成されたIdentity Virtualization Library (libOVD)ロガーをすべて削除します。実際のパフォーマンス数値を調べるには、これらのロガーを削除する必要があります。OVDでのデバッグの有効化の詳細は、「OVDのトラブルシューティングおよびデバッグ」を参照してください。

  2. WLSにNOTIFICATIONレベルでoracle.ods.virtualization.accesslogという名前のWLSロガーを作成します。

  3. ovd-access.logに類似したファイル名を指定してWLSログ・ハンドラを作成し、そのログ・ハンドラを手順2で作成したロガーと関連付けます。

    このログ・ハンドラは、すべてのOracle Virtual Directoryアクセス・ログ・メッセージを別のファイルに記録します。

  4. 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>
    
  5. WLS管理および管理対象サーバーを再起動します。

これで、Oracle Virtual Directoryによってovd-access.logファイルにアクセス・ログを生成できるようになります。

E.2.12 LDAP同期が有効な場合のLDAP認証の構成

LDAP同期が有効な場合に認証にLDAPを使用できるようにするには、次の手順を実行します。


注意:

この手順では、次の機能は有効になりません。
  • 最初のログイン、管理者パスワードのリセット、期限切れパスワードなどのパスワード変更の強制

  • チャレンジ・レスポンスの強制設定


  1. WLSでLDAPオーセンティケータを構成します。これを行うには、次の手順を実行します。

    1. WebLogic管理コンソールにログインします。

    2. 「セキュリティ・レルム」、myrealm、「プロバイダ」に進みます。

    3. 「新規」をクリックします。名前を指定し、タイプとしてOracleInternetDirectoryAuthenticatorを選択します。

    4. 「制御フラグ」をSUFFICIENTに設定します。

    5. 「プロバイダ固有」設定をクリックし、OID接続の詳細を設定します。

    6. 「動的グループ」セクションで、次の値を入力します。

      動的グループ名属性: cn

      動的グループ・オブジェクト・クラス: orcldynamicgroup

      動的メンバーURL属性: labeleduri

      ユーザー動的グループDN属性: GroupOfUniqueNames

    7. 「プロバイダ」タブをクリックします。セキュリティ・プロバイダのリストからOIMオーセンティケータを削除します。これは、ユーザーがOracle Identity Managerデータベースでロックされないようにするためです。

    8. そのレルムでOIMSignatureAuthenticatorセキュリティ・プロバイダを構成します。これを行うには、次の手順を実行します。

      i) WebLogic管理コンソールにログインします。

      ii) 「セキュリティ・レルム」「myrealm」「セキュリティ・プロバイダ」「認証」「新規」に移動します。

      iii) ドロップダウンから「OIMSignatureAuthenticator」を選択し、プロバイダ名として「OIMSignatureAuthenticator」を選択します。

      iv) 変更内容を保存します。

    9. 「並替え」をクリックします。次の表にリストされたとおりにセキュリティ・プロバイダを並べ替え、制御フラグを設定します。

      認証プロバイダ 制御フラグ
      デフォルト・オーセンティケータ SUFFICIENT
      OIMシグネチャ・オーセンティケータ SUFFICIENT
      LDAPオーセンティケータ SUFFICIENT
      デフォルトIDアサーション・プロバイダ N/A

  2. すべてのサーバーを再起動します。

  3. ロール・メンバーシップを検証します。

    1. WebLogic管理コンソールにログインします。

    2. 「セキュリティ・レルム」→myrealm→「ユーザー」→「グループ」に進みます。

    3. 「ユーザー」をクリックし、LDAPユーザー検索ベースですべてのユーザーを表示します。LDAPユーザーが表示されない場合は、LDAP接続にエラーがあることを意味しており、OIDオーセンティケータで詳細が指定されます(プロバイダ固有の設定)。

    4. 任意のユーザーをクリックし、対応するグループ・エントリを表示します。リストされるエントリにOimusersが含まれている必要があります。この検証に失敗した場合は、LDAPオーセンティケータのプロバイダ固有の詳細を確認してください。

E.2.13 ディレクトリ・パスワード・ポリシーでのpwdLockout値の検証

ディレクトリ・サーバーのパスワード・ポリシーによってpwdLockout属性がTRUEに設定されている場合、ユーザーが管理者によってロックされると正しい通知が送信されます。

管理者によってロックされたユーザーはパスワードを忘れた場合のフローによってロック解除できませんが、pwdLockoutの値がFALSEに設定されている場合、ユーザーに送信される通知は誤解を招きます。

したがって、LDAPサーバーのパスワード・ポリシーを確認して、エントリ"cn=Password Policy,cn=config"の属性をチェックします。pwdLockoutTRUEに設定されていることを確認してください。

E.2.14 OUD ACIによる権限エラーの修正

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

この問題を解決するには:

  1. ObjectIdentifierが、OUD構成ファイルOUD_INSTANCE/config/config.ldif内のグローバルACIで定義されていることを確認します。

  2. 特定の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\"\;\)
    
  3. 構成ファイルをダブルチェックして、重複行がないことを確認します。

  4. 構成ファイルを保存します。

  5. OUDおよびOracle Identity Managerサーバーを再起動します。

E.2.14.1 OUD用のlastExternalChangelogCookieによるACIの確認および修正

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

これによって結果が返されるはずです。返されない場合は、次の手順を実行して問題を修正できます。

  1. cn=changelogへのアクセスを拒否するACIを削除します。

  2. cn=changelogへのユーザーまたはグループのアクセスを許可するACIを追加します。

  3. cookieモードでの読取りのみの場合、OUD cookieコントロールの使用をユーザーまたはグループに許可するACIを追加します。

  4. cookieモードでの読取りのみの場合、ルート・エントリからのlastExternalChangelogCookieの読取り(-s base -b "")をユーザーまたはグループに許可するACIを追加します。


注意:

OUD変更ログ・アクセスの付与の詳細な手順は、『Oracle Fusion Middleware Oracle Identity Managementエンタープライズ・デプロイメント・ガイド』のOracle Unified Directory変更ログ・アクセスの付与に関する項を参照してください。

手順はすべて、idmConfigToolによるターゲットのOUDインスタンスとその他すべてのOUDインスタンスで検証する必要があります。

E.2.14.2 OUDのリコンシリエーション実行時における外部Changelog Cookieの期限切れ問題の修正

一部のインスタンスで、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サイトでダウンロードできます。

https://support.oracle.com

libOVD Changelogプラグイン・コードはこの新規リクエスト・コントロールを使用するように変更して、エラー・コード53 UNWILLING TO PERFORMを回避するためにsupportCookieExceptionsブール値をFALSEに設定する必要があります。

E.2.15 ユーザーおよびロールに対するLDAPAddMissingObjectClassesの無効化

AD環境では、orclIDXGroupオブジェクト・クラスを持たないデフォルトのADグループがあります。完全リコンシリエーションが終了すると常に、Oracle Identity Managerではこのオブジェクト・クラスがグループで求められるため、Oracle Identity ManagerはLDAPグループをオブジェクト・クラスで更新しようとします。ADスキーマではオブジェクト・クラスの変更が許可されないため、一部のリコンシリエーションが失敗して、ポスト・ハンドラがまったく実行されません。1つのグループにorclIDXGroupオブジェクト・クラスがない場合でも、ポスト・ハンドラはバッチ内のすべてのロールについて失敗します(バルク編成で失敗時にはロールバックするため)。これによって、最上位組織にロールを公開したハンドラがその実行を妨げられるため、ロールは何も公開されず、これらのロールを持つユーザーに対する認可が失敗します。

この問題の解決策として、ユーザーおよびロールの両方のオブジェクト・クラスを追加しようとする、LDAPAddMissingObjectClassesというOracle Identity Managerイベント・ハンドラを無効化します。これは、ADがLDAP同期に対して構成されたすぐ後、完全リコンシリエーションが実行される前に行う必要があります。

イベント・ハンドラを無効化する手順:

  1. Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのユーザー修正可能メタデータ・ファイルの移行に関する項の説明に従って、/db/ldapMetadata/EventHandlers.xmlファイルをMDSからエクスポートします。

  2. 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"/>
    
  3. EventHandler.xmlファイルを、MDSにインポートして戻します。更新されたファイルをインポートする間、インポート・ディレクトリ内に他のファイル(バックアップ)が存在しないことを確認します。

  4. Oracle Identity Managerの管理対象サーバーを再起動します。

E.2.16 HAマルチマスター・レプリケーション(MMR)とのLDAP同期の設定

LDAP同期を設定するときは、ロード・バランサ(LBR)経由ではなく、マルチマスター・レプリケーション(MMR) のOIDノードに接続するように構成されていることを確認します。これはchangenumberがレプリカのローカルであり、グローバルではないOIDの制限によるものです。

LDAP同期が別のレプリカを指す必要がある場合は、次の手順を実行します。

  1. 増分リコンシリエーション・スケジュール済ジョブを停止します。

  2. 新しいレプリカから現在のchangenumberを取得します。

  3. 新しいレプリカから完全リコンシリエーションを実行します。新しいレプリカを指すようにディレクトリ・サーバーITリソースを更新します。

    さらに、「Identity Virtualization Library (libOVD)アダプタの管理」を参照して、libOVDが新しいレプリカを指すようにします。新しいレプリカを指すために、removeLDAPHost()addLDAPHost() WLSTコマンドを実行する必要があります。

  4. 手順2で取得した変更番号の増分リコンシリエーション・スケジュール済ジョブを更新します。

  5. 増分リコンシリエーション・スケジュール済ジョブを有効にします。