ヘッダーをスキップ
Oracle® Exalogic Elastic Cloud Oracle Identity and Access Managementエンタープライズ・デプロイメント・ガイド
リリースEL X2-2、X3-2、X4-2およびX5-2
E51446-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 アイデンティティ・ストアの準備

この章では、Oracle Identity Managementエンタープライズ・デプロイメントでアイデンティティ・ストアおよびポリシー・ストアを準備する方法について説明します。

内容は次のとおりです。

10.1 アイデンティティ・ストアの準備の概要

アイデンティティ・ストアの準備として、Oracle Access Management Access ManagerおよびOracle Identity Managerをサポートするためのディレクトリのスキーマの拡張と、アイデンティティ管理トポロジの構築で使用されるシステム・ユーザーのアイデンティティ・ストアへのシードを行う必要があります。

10.2 LDAPディレクトリのバックアップ

この章で説明する手順では、アイデンティティ・ストアをホストするLDAPディレクトリの構成を変更します。これらのタスクを実行する前に、LDAPディレクトリをバックアップします。LDAPのバックアップ手順は、WebLogic Serverサーバーの起動と停止の管理を参照してください。

10.3 前提条件

手順を進める前に、Oracle Identity Management 11gがIDMHOST1にインストールされていることを確認します。


注意:

すべての必須パッチを取得済であることを確認してください。詳細は、第2.5.3項「パッチおよび回避策の適用」を参照してください。


10.4 アイデンティティ・ストアの準備

この項では、アイデンティティ・ストアを準備する方法を説明します。この項の内容は次のとおりです。

10.4.1 アイデンティティ・ストアの準備の概要

Access Managerをサポートするディレクトリを使用できるようにするには、ディレクトリを拡張してこれらのアプリケーションで必要なオブジェクト・クラスを含める必要があります。

ディレクトリ・スキーマの拡張に加えて、いくつかのユーザーを作成する必要があります。これらのユーザーは、このガイドの後半で次のような目的で使用されます。

  • 専用ユーザーによるディレクトリへのアクセス

  • Access Manager、Oracle Identity ManagerおよびWebLogicが外部ディレクトリに認証をオフロードした後の、これらの製品へのアクセス

10.4.2 構成ファイルの作成

アイデンティティ・ストアの準備に使用するプロパティ・ファイルoudinternal.propsを作成します。ファイルの構造は次のとおりです。

Oracle Unified Directoryの例

# Common
IDSTORE_HOST: IDMHOST1.mycompany.com
IDSTORE_PORT: 1389
IDSTORE_ADMIN_PORT: 4444
IDSTORE_KEYSTORE_FILE: OUD_ORACLE_INSTANCE/OUD/config/admin-keystore
IDSTORE_KEYSTORE_PASSWORD: Password key
IDSTORE_BINDDN: cn=oudadmin 
IDSTORE_GROUPSEARCHBASE: cn=Groups,dc=mycompany,dc=com
IDSTORE_SEARCHBASE: dc=mycompany,dc=com
IDSTORE_USERNAMEATTRIBUTE: cn
IDSTORE_LOGINATTRIBUTE: uid
IDSTORE_USERSEARCHBASE: cn=Users,dc=mycompany,dc=com
OUDINTERNAL_NEW_SETUP: true
POLICYSTORE_SHARES_oudinternal: true
# OAM
OUDINTERNAL_OAMADMINUSER:oamadmin
OUDINTERNAL_OAMSOFTWAREUSER:oamLDAP
OAM11G_OUDINTERNAL_ROLE_SECURITY_ADMIN:OAMAdministrators
# OAM and OIM
OUDINTERNAL_SYSTEMIDBASE: cn=systemids,dc=mycompany,dc=com
# OIM
OUDINTERNAL_OIMADMINGROUP: OIMAdministrators
OUDINTERNAL_OIMADMINUSER: oimLDAP
# WebLogic
OUDINTERNAL_WLSADMINUSER : weblogic_idm
OUDINTERNAL_WLSADMINGROUP : WLSAdmins

各パラメータの意味は次のとおりです。

  • OUDINTERNAL_HOSTOUDINTERNAL_PORTはそれぞれアイデンティティ・ストア・ディレクトリのホストとポートです。バックエンド・ディレクトリはここで指定します。OUDの場合は、それぞれOracle Unified Directoryインスタンスを指定します。次に例を示します。

    OUD: IDMHOST1および1389

  • OUDINTERNAL_ADMIN_PORTはOracle Unified Directoryインスタンスの管理ポートです。Oracle Unified Directoryを使用していない場合は、このパラメータを除外できます。

  • OUDINTERNAL_KEYSTORE_FILEは、Oracle Unified Directoryのキーストア・ファイルの場所です。Oracle Unified Directory管理ポートを使用したOracle Unified Directoryとの通信を有効にするために使用されます。admin-keystoreと呼ばれ、OUD_ORACLE_INSTANCE/OUD/configに配置されます。Oracle Unified Directoryを使用していない場合は、このパラメータを除外できます。

  • OUDINTERNAL_KEYSTORE_PASSWORDは、暗号化されたOracle Unified Directoryキーストアのパスワードです。この値は、ファイルOUD_ORACLE_INSTANCE/OUD/config/admin-keystore.pin内にあります。Oracle Unified Directoryを使用していない場合は、このパラメータを除外できます。

  • OUDINTERNAL_BINDDNはアイデンティティ・ストア・ディレクトリの管理ユーザーです。

  • OUDINTERNAL_GROUPSEARCHBASEは、グループが格納されているディレクトリ内の場所です。

  • OUDINTERNAL_SEARCHBASEは、ユーザーとグループが格納されているディレクトリ内の場所です。

  • OUDINTERNAL_USERNAMEATTRIBUTEは、ユーザー名を含むディレクトリ属性の名前です。これは、ログイン名とは異なります。

  • OUDINTERNAL_LOGINATTRIBUTEは、ユーザーのログイン名を含むLDAP属性です。

  • OUDINTERNAL_USERSEARCHBASEは、ユーザーが格納されているディレクトリ内の場所です。

  • OUDINTERNAL_NEW_SETUPは、Oracle Unified Directoryでは常にtrueに設定します。OUDを使用していない場合は、この属性を指定する必要はありません。

  • POLICYSTORE_SHARES_IDSTOREは、IDM 11gではtrueに設定します。

  • OUDINTERNAL_OAMADMINUSERは、Access Managerの管理者として作成するユーザーの名前です。

  • OUDINTERNAL_OAMSOFTWAREUSERは、Access Managerの稼働中にLDAPサーバーに接続するために使用される、LDAP内で作成されるユーザーです。

  • OAM11G_OUDINTERNAL_ROLE_SECURITY_ADMINは、OAMコンソールに対してアクセスを許可するために使用されるグループの名前です。

  • OUDINTERNAL_SYSTEMIDBASEは、メイン・ユーザー・コンテナにユーザーを配置しない場合に配置できるディレクトリ内のコンテナの場所です。このようなことはまれですが、Oracle Identity Managerのリコンシリエーション・ユーザーなどが該当します。

  • OUDINTERNAL_OIMADMINGROUPは、Oracle Identity Manager管理ユーザーを保持するために作成するグループの名前です。

  • OUDINTERNAL_OIMADMINUSERは、Oracle Identity Managerのアイデンティティ・ストアへの接続に使用されるユーザーです。

  • OUDINTERNAL_WLSADMINUSERは、WebLogicドメインがSSOによって有効にされた場合に、そのWebLogicドメインへのログインに使用されるユーザー名です。前述の例ではweblogic_idmが使用されます。

  • OUDINTERNAL_WLSADMINGROUPは、WLSコンソールやEMなどのWebLogicシステム・コンポーネントへのログインが許可されたユーザーが属する、グループの名前です。

トポロジにOracle Identity Managerが含まれている場合にのみOIMエントリを使用してください。トポロジにAccess Managerが含まれている場合にのみOAMエントリを使用してください。

10.4.3 Oracle Access ManagerおよびOracle Identity Managerで使用するためのOracle Unified Directoryの構成

この項では、Oracle Unified DirectoryをOracle Access ManagerとOracle Identity Managerで使用するために構成する方法を説明します。

アイデンティティ・ストアを事前構成すると、Oracle Unified Directoryのスキーマが拡張されます。


注意:

Access ManagerやOracle Identity Managerを使用していない場合は、アイデンティティ・ストアを事前構成する必要はありません。


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

  1. MW_HOMEIAM_MW_HOMEに設定します。

    ORACLE_HOMEIAM_ORACLE_HOMEに設定します。

    JAVA_HOMEJAVA_HOMEに設定します。

  2. 次の場所にあるコマンドidmConfigToolを使用して、アイデンティティ・ストアを構成します。

    IAM_ORACLE_HOME/idmtools/bin


    注意:

    idmConfigToolを実行すると、ファイルidmDomainConfig.paramが作成されるか、このファイルへの追加が行われます。このファイルは、idmConfigToolが実行されるディレクトリと同じディレクトリに生成されます。このツールが実行されるたびに同じファイルが追加されるように、idmConfigToolは常に次のディレクトリから実行してください。

    IAM_ORACLE_HOME/idmtools/bin


    idmConfigTool.sh -preConfigIDStore input_file=configfile 
    

    次に例を示します。

    idmConfigTool.sh -preConfigIDStore input_file=oudinternal.props
    

    コマンドが実行されると、アイデンティティ・ストアに接続しているアカウントのパスワードを入力するよう求められます。このコマンドは、完了するまでに時間がかかる場合があります。

    コマンドのサンプル出力:

    Enter ID Store Bind DN password:
    Apr 3, 2013 3:47:37 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/idmtools/templates/oud/oud_schema_extn.ldif
    Apr 3, 2013 3:47:38 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/oam/server/oim-intg/ldif/ojd/schema/ojd_oam_pwd_schema_add.ldif
    Apr 3, 2013 3:47:38 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/oam/server/oim-intg/ldif/ojd/schema/ojd_user_schema_add.ldif
    Apr 3, 2013 3:47:38 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/oam/server/oim-intg/ldif/ojd/schema/ojd_user_index_generic.ldif
    Apr 3, 2013 3:47:39 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/idmtools/templates/oud/add_oraclecontext_container.ldif
    Apr 3, 2013 3:47:39 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/idmtools/templates/oud/oud_indexes_extn.ldif
    Apr 3, 2013 3:47:39 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/idmtools/templates/oud/idm_idstore_groups_template.ldif
    Apr 3, 2013 3:47:39 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/idmtools/templates/oud/idm_idstore_groups_acl_template.ldif
    Apr 3, 2013 3:47:39 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/idmtools/templates/oud/systemid_pwdpolicy.ldif
    Apr 3, 2013 3:47:39 AM oracle.ldap.util.LDIFLoader loadOneLdifFile
    INFO: -> LOADING: /u01/oracle/products/access/iam/idmtools/templates/oud/fa_pwdpolicy.ldif
    The tool has completed its operation. Details have been logged to automation.log
    
  3. ログ・ファイルでエラーや警告を確認し、修正します。automation.logという名前のファイルが、ツールを実行したディレクトリ内に作成されます。


注意:

idmConfigToolにより、ユーザーとともに次のグループが作成されます。

  • orclFAUserReadPrivilegeGroup

  • orclFAUserWritePrivilegeGroup

  • orclFAUserWritePrefsPrivilegeGroup

  • orclFAGroupReadPrivilegeGroup

  • orclFAGroupWritePrivilegeGroup



関連項目:

idmConfigToolコマンドの詳細は、『Oracle Fusion Middleware Oracle Identity Management Suite統合概要』を参照してください。


10.4.4 ユーザーおよびグループの作成

アイデンティティ管理コンポーネントで必要なユーザーとグループを、アイデンティティ・ストアにシードする必要があります。

アイデンティティ・ストアにシードするには、IDMHOST1で次のタスクを実行します。

  1. MW_HOMEIAM_MW_HOMEに設定します。

    ORACLE_HOMEIAM_ORACLE_HOMEに設定します。

    JAVA_HOMEJAVA_HOMEに設定します。

  2. 次の場所にあるコマンドidmConfigToolを使用して、アイデンティティ・ストアを構成します。

    IAM_ORACLE_HOME/idmtools/bin


    注意:

    idmConfigToolを実行すると、ファイルidmDomainConfig.paramが作成されるか、このファイルへの追加が行われます。このファイルは、idmConfigToolが実行されるディレクトリと同じディレクトリに生成されます。このツールが実行されるたびに同じファイルが追加されるように、idmConfigToolは常に次のディレクトリから実行してください。

    IAM_ORACLE_HOME/idmtools/bin


    Linuxでのコマンドの構文は次のとおりです。

    idmConfigTool.sh -prepareIDStore mode=MODE input_file=configfile 
    

    MODEで選択された値によって、作成されるユーザーのタイプが決定します。MODEで使用可能な値は、OAMOIMおよびWLSです。

    トポロジ内のコンポーネントごとに1回ずつコマンドを実行します。

    • 管理コンソールのシングル・サインオンを有効にすると、すべてのトポロジで、WebLogic管理コンソールとOracle Enterprise Manager Fusion Middleware Controlへのログイン権限を持つユーザーをアイデンティティ・ストアに保持する必要があります。次のように入力します。

      idmConfigTool.sh -prepareIDStore mode=WLS input_file=oudinternal.props
      

      最初にこのコマンドを実行します。

    • トポロジにAccess Managerが含まれる場合、アイデンティティ・ストアにAccess Managerで必要なユーザーをシードする必要があります。次のように入力します。

      idmConfigTool.sh -prepareIDStore mode=OAM input_file=oudinternal.props
      
    • トポロジにOracle Identity Managerが含まれる場合、アイデンティティ・ストアにxelsysadmユーザーをシードしてOracle Identity Manager管理グループに割り当てる必要があります。また、リコンシリエーションを実行できるようにするには、標準のcn=Usersの場所以外にユーザーを作成する必要があります。このユーザーは、Oracle Virtual Directoryを使用してディレクトリに接続する際のバインドDNとしても使用されます。次のように入力します。

      idmConfigTool.sh -prepareIDStore mode=OIM input_file=oudinternal.props
      

      注意:

      このコマンドは、アイデンティティ・ストアに予約用コンテナも作成します。


    コマンドが実行されると、アイデンティティ・ストアに接続しているアカウントのパスワードを入力するよう求められます。

  3. 各コマンドの実行後に、ログ・ファイルでエラーや警告を確認し、修正します。automation.logという名前のファイルが、ツールを実行したディレクトリ内に作成されます。


関連項目:

idmConfigToolコマンドの詳細は、『Oracle Fusion Middleware Oracle Identity Management Suite統合概要』を参照してください。


10.4.5 不足しているOracle Unified Directory権限の追加

この項では、Oracle Unified Directoryで不足している権限に対する回避策について説明します。

add_aci.ldifというファイルを次の内容で作成します。

dn: cn=Reserve,dc=mycompany,dc=com
changetype: modify
delete: aci
aci: (version 3.0; acl "oim reserve group container acl"; allow (read,add,delete) groupdn="ldap:///cn=OIMAdministrators,cn=Groups,dc=mycompany,dc=com"; deny (all) userdn="ldap:///anyone";)
dn: cn=Reserve,dc=mycompany,dc=com
changetype: modify
add: aci
aci: (target = "ldap:///cn=Reserve,dc=mycompany,dc=com")(targetattr = "*")(version 3.0; acl "Allow OIMAdministrators Group add, read and write access to all attributes"; allow (add, read, search, compare,write, delete, import,export) (groupdn = "ldap:///cn=OIMAdministrators,cn=Groups,dc=mycompany,dc=com");)

次のコマンドを使用して、Oracle Unified Directoryを更新します。

ldapmodify –D cn=oudadmin –h IDMHOST1.mycompany.com –p 1389 –f add_aci.ldif

10.4.6 Oracle Unified Directoryの変更ログへのアクセス権の付与

Oracle Unified DirectoryとOracle Identity Managerを使用している場合は、この時点で変更ログへのアクセス権を付与する必要があります。このためには、すべてのOUDホスト、すなわちIDMHOST1とIDMHOST2で、次の手順を実行します。

  1. OUDが実行されているホスト(たとえばIDMHOST)で、OUDへの接続に使用するパスワードを含むmypasswordfileというファイルを作成します。

  2. レプリケートされたOUDホストの1つで次のコマンドを発行して、既存の変更ログ権限を削除します。

    OUD_ORACLE_INSTANCE/bin/dsconfig set-access-control-handler-prop \
    --remove global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; deny (all) userdn=\"ldap:///anyone\";)" \
            --hostname OUD_HOST \
            --port OUD_ADMIN_PORT \
            --trustAll \
            --bindDN cn=oudadmin \
            --bindPasswordFile passwordfile \
            --no-prompt 
    

    次に例を示します。

    OUD_ORACLE_INSTANCE/bin/dsconfig set-access-control-handler-prop \
    --remove global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; deny (all) userdn=\"ldap:///anyone\";)" \
            --hostname IDMHOST1.mycompany.com \
            --port 4444 \
            --trustAll  \
            --bindDN cn=oudadmin \
            --bindPasswordFile mypasswordfile \
            --no-prompt
    
  3. 続いて、次の新しいACIを追加します。

    OUD_ORACLE_INSTANCE/bin/dsconfig set-access-control-handler-prop \
    --add 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=OIMAdministrators,cn=groups,dc=mycompany,dc=com\";)" \
            --hostname OUD_HOST \
            --port OUD_ADMIN_PORT \
            --trustAll \
            --bindDN cn=oudadmin \
            --bindPasswordFile passwordfile \
            --no-prompt
    

    次に例を示します。

    OUD_ORACLE_INSTANCE/bin/dsconfig set-access-control-handler-prop \
    --add 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=OIMAdministrators,cn=groups,dc=mycompany,dc=com\";)" \
            --hostname IDMHOST1.mycompany.com \
            --port 4444 \
            --trustAll \
            --bindDN cn=oudadmin \
            --bindPasswordFile mypasswordfile \
            --no-prompt
    
  4. 続いて、次の新しいACIを追加します。

    OUD_ORACLE_INSTANCE/bin/dsconfig set-access-control-handler-prop \
    --add ds-cfg-global-aci: (targetcontrol=1.3.6.1.4.1.26027.1.5.4)(version 3.0; acl "OIMAdministrators control access"; allow(read) userdn="ldap:///anyone";) \
            --hostname OUD_HOST \
            --port OUD_ADMIN_PORT \
            --trustAll \
            --bindDN cn=oudadmin \
            --bindPasswordFile passwordfile \
            --no-prompt
    

    次に例を示します。

    OUD_ORACLE_INSTANCE/bin/dsconfig set-access-control-handler-prop \
    --add ds-cfg-global-aci: (targetcontrol=1.3.6.1.4.1.26027.1.5.4)(version 3.0; acl "OIMAdministrators control access"; allow(read) userdn="ldap:///anyone";) \
            --hostname IDMHOST1.mycompany.com \
            --port 4444 \
            --trustAll \
            --bindDN cn=oudadmin \
            --bindPasswordFile mypasswordfile \
            --no-prompt
    
  5. 続いて、次のACIを追加します。

    OUD_ORACLE_INSTANCE/bin/dsconfig set-access-control-handler-prop \
    --add global-aci:"(target=\"ldap:///\")(targetscope=\"base\")(targetattr=\"lastExternalChangelogCookie\")(version 3.0; acl \"User-Visible lastExternalChangelog\"; allow (read,search,compare) groupdn=\"ldap:///cn=OIMAdministrators,cn=groups,dc=mycompany,dc=com\";)" \
            --hostname OUD_HOST \
            --port OUD_ADMIN_PORT \
            --trustAll \
            --bindDN cn=oudadmin \
            --bindPasswordFile passwordfile \
            --no-prompt
    

    次に例を示します。

    OUD_ORACLE_INSTANCE/bin/dsconfig set-access-control-handler-prop \
    --add global-aci:"(target=\"ldap:///\")(targetscope=\"base\")(targetattr=\"lastExternalChangelogCookie\")(version 3.0; acl \"User-Visible lastExternalChangelog\"; allow (read,search,compare) groupdn=\"ldap:///cn=OIMAdministrators,cn=groups,dc=mycompany,dc=com\";)" \
            --hostname IDMHOST1.mycompany.com \
            --port 4444 \
            --trustAll \
            --bindDN cn=oudadmin \
            --bindPasswordFile mypasswordfile \
            --no-prompt
    

10.4.7 Oracle Unified Directory索引の作成

Oracle Unified Directoryアイデンティティ・ストアを準備するためのidmConfigToolを実行すると、このツールの実行対象であるインスタンス上のデータの索引が作成されます。構成内の残りの各Oracle Unified Directoryインスタンスに対して、これらの索引を手動で作成する必要があります。

そのためには、IDMHOST2で次のコマンドを発行します。

ORACLE_INSTANCE/OUD/bin/ldapmodify -h IDMHOST2.mycompany.com -Z -X -p 4444 -a -D "cn=oudadmin" -j mypasswordfile -c  -f IAM_ORACLE_HOME/oam/server/oim-intg/ldif/ojd/schema/ojd_user_index_generic.ldif
ORACLE_INSTANCE/OUD/bin/ldapmodify -h IDMHOST2.mycompany.com -Z -X -p 4444 -a -D "cn=oudadmin" -j mypasswordfile -c  -f IAM_ORACLE_HOME/idmtools/templates/oud/oud_indexes_extn.ldif

すべてのIDMHOSTで索引が作成されたら、次の手順で索引を再構築します。

  1. 次のコマンドを発行して、Oracle Unified Directoryを停止します。

    OUD_ORACLE_INSTANCE/OUD/bin/stop-ds
    
  2. 次のコマンドを実行します。

    OUD_ORACLE_INSTANCE/OUD/bin/rebuild-index --rebuildAll -b "dc=mycompany,dc=com"
    
  3. 次のコマンドを発行して、Oracle Unified Directoryを再起動します。

    OUD_ORACLE_INSTANCE/OUD/bin/start-ds
    

手順1から3を繰り返して、idmConfigToolの実行対象であるホストを含むすべてのIDMHOSTの索引を再構築します。索引を再構築しているディレクトリのみを停止することで可用性を維持します。

10.4.8 アイデンティティ・ストアのバックアップ

第16.6項「Oracle IDMエンタープライズ・デプロイメントのバックアップ」の説明に従って、LDAPディレクトリをバックアップします。