Oracle® Exalogic Elastic Cloud Oracle Identity and Access Managementエンタープライズ・デプロイメント・ガイド リリースEL X2-2、X3-2、X4-2およびX5-2 E51446-03 |
|
![]() 前 |
![]() 次 |
この章では、Oracle Identity Managementエンタープライズ・デプロイメントでアイデンティティ・ストアおよびポリシー・ストアを準備する方法について説明します。
内容は次のとおりです。
アイデンティティ・ストアの準備として、Oracle Access Management Access ManagerおよびOracle Identity Managerをサポートするためのディレクトリのスキーマの拡張と、アイデンティティ管理トポロジの構築で使用されるシステム・ユーザーのアイデンティティ・ストアへのシードを行う必要があります。
この章で説明する手順では、アイデンティティ・ストアをホストするLDAPディレクトリの構成を変更します。これらのタスクを実行する前に、LDAPディレクトリをバックアップします。LDAPのバックアップ手順は、WebLogic Serverサーバーの起動と停止の管理を参照してください。
手順を進める前に、Oracle Identity Management 11gがIDMHOST1にインストールされていることを確認します。
この項では、アイデンティティ・ストアを準備する方法を説明します。この項の内容は次のとおりです。
Access Managerをサポートするディレクトリを使用できるようにするには、ディレクトリを拡張してこれらのアプリケーションで必要なオブジェクト・クラスを含める必要があります。
ディレクトリ・スキーマの拡張に加えて、いくつかのユーザーを作成する必要があります。これらのユーザーは、このガイドの後半で次のような目的で使用されます。
専用ユーザーによるディレクトリへのアクセス
Access Manager、Oracle Identity ManagerおよびWebLogicが外部ディレクトリに認証をオフロードした後の、これらの製品へのアクセス
アイデンティティ・ストアの準備に使用するプロパティ・ファイル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_HOST
とOUDINTERNAL_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エントリを使用してください。
この項では、Oracle Unified DirectoryをOracle Access ManagerとOracle Identity Managerで使用するために構成する方法を説明します。
アイデンティティ・ストアを事前構成すると、Oracle Unified Directoryのスキーマが拡張されます。
注意: Access ManagerやOracle Identity Managerを使用していない場合は、アイデンティティ・ストアを事前構成する必要はありません。 |
このためには、IDMHOST1で次のタスクを実行します。
MW_HOME
をIAM_MW_HOME
に設定します。
ORACLE_HOME
をIAM_ORACLE_HOME
に設定します。
JAVA_HOME
をJAVA_HOME
に設定します。
次の場所にあるコマンド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
ログ・ファイルでエラーや警告を確認し、修正します。automation.logという名前のファイルが、ツールを実行したディレクトリ内に作成されます。
注意:
|
関連項目:
|
アイデンティティ管理コンポーネントで必要なユーザーとグループを、アイデンティティ・ストアにシードする必要があります。
アイデンティティ・ストアにシードするには、IDMHOST1で次のタスクを実行します。
MW_HOME
をIAM_MW_HOME
に設定します。
ORACLE_HOME
をIAM_ORACLE_HOME
に設定します。
JAVA_HOME
をJAVA_HOME
に設定します。
次の場所にあるコマンドidmConfigTool
を使用して、アイデンティティ・ストアを構成します。
IAM_ORACLE_HOME
/idmtools/bin
注意:
|
Linuxでのコマンドの構文は次のとおりです。
idmConfigTool.sh -prepareIDStore mode=MODE input_file=configfile
MODE
で選択された値によって、作成されるユーザーのタイプが決定します。MODEで使用可能な値は、OAM
、OIM
および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
注意: このコマンドは、アイデンティティ・ストアに予約用コンテナも作成します。 |
コマンドが実行されると、アイデンティティ・ストアに接続しているアカウントのパスワードを入力するよう求められます。
各コマンドの実行後に、ログ・ファイルでエラーや警告を確認し、修正します。automation.log
という名前のファイルが、ツールを実行したディレクトリ内に作成されます。
関連項目:
|
この項では、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
Oracle Unified DirectoryとOracle Identity Managerを使用している場合は、この時点で変更ログへのアクセス権を付与する必要があります。このためには、すべてのOUDホスト、すなわちIDMHOST1とIDMHOST2で、次の手順を実行します。
OUDが実行されているホスト(たとえばIDMHOST)で、OUDへの接続に使用するパスワードを含むmypasswordfile
というファイルを作成します。
レプリケートされた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
続いて、次の新しい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
続いて、次の新しい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
続いて、次の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
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で索引が作成されたら、次の手順で索引を再構築します。
次のコマンドを発行して、Oracle Unified Directoryを停止します。
OUD_ORACLE_INSTANCE/OUD/bin/stop-ds
次のコマンドを実行します。
OUD_ORACLE_INSTANCE/OUD/bin/rebuild-index --rebuildAll -b "dc=mycompany,dc=com"
次のコマンドを発行して、Oracle Unified Directoryを再起動します。
OUD_ORACLE_INSTANCE/OUD/bin/start-ds
手順1から3を繰り返して、idmConfigTool
の実行対象であるホストを含むすべてのIDMHOSTの索引を再構築します。索引を再構築しているディレクトリのみを停止することで可用性を維持します。