2 LDAP IDStoreの準備
OIG-OAM統合のためのOIGOAMIntegration.sh
自動スクリプトを使用して、IDStoreを準備します。
グループを作成し、ACIを様々なコンテナに設定することで、アイデンティティ・ストアおよびポリシー・ストアを構成します。必要なユーザーおよびグループとの関連ユーザーをアイデンティティ・ストアに追加します。このステップは、idmConfigTool.sh -prepareIDStore
およびidmConfigTool.sh -prepareIDStore -mode=ALL
コマンドの実行に似ています。「prepareIDStoreコマンド」を参照してください。
- 次の内容で
prepareLDAP.props
というファイルを作成します。Oracle Internet Directoryの
prepareLDAP.props
ファイルの例IDSTORE_PORT: 1636 IDSTORE_SSL_ENABLED: true IDSTORE_ADMIN_PORT: 4444 IDSTORE_KEYSTORE_FILE: /u01/oracle/config/keystores/idmcerts.p12 IDSTORE_KEYSTORE_PASSWORD: mytruststorepassword IDSTORE_ADMIN_KEYSTORE_FILE: /u01/oracle/config/instances/oud1/config/admin-keystore IDSTORE_ADMIN_KEYSTORE_PASSWORD: myadmintruststorepassword IDSTORE_BINDDN: cn=oudadmin IDSTORE_GROUPSEARCHBASE: cn=Groups,dc=example,dc=com IDSTORE_SEARCHBASE: dc=example,dc=com IDSTORE_USERNAMEATTRIBUTE: cn IDSTORE_LOGINATTRIBUTE: uid OAM11G_SERVER_LOGIN_ATTRIBUTE: uid IDSTORE_USERSEARCHBASE: cn=Users,dc=example,dc=com IDSTORE_NEW_SETUP: true IDSTORE_DIRECTORYTYPE: OUD IDSTORE_OAMADMINUSER: oamadmin IDSTORE_OAMSOFTWAREUSER: oamLDAP OAM11G_IDSTORE_ROLE_SECURITY_ADMIN: OAMAdministrators IDSTORE_SYSTEMIDBASE: cn=SystemIDs,dc=example,dc=com IDSTORE_OIMADMINGROUP: OIMAdministrators IDSTORE_OIMADMINUSER: oimLDAP # WebLogic IDSTORE_WLSADMINUSER : weblogic_iam IDSTORE_WLSADMINGROUP : WLSAdministrators
次の表では、
prepareLDAP.props
ファイルで設定できるパラメータについて説明します。表2-1
prepareLDAP.props
ファイルのパラメータプロパティ 説明 値の例 IDSTORE_DIRECTORYTYPE
アイデンティティ・ストアのディレクトリ・タイプを入力します。有効なオプションは、OID、OUDおよびADです。
OUD or OID
IDSTORE_HOST
アイデンティティ・ストアのホスト名を入力します。
idstore.example.com
IDSTORE_PORT
アイデンティティ・ストアのポートを入力します。
1389
IDSTORE_ADMIN_PORT
OUDインストール管理機能は、専用の管理ポートで実行されます。 4444
IDSTORE_SSL_ENABLED
SSLを使用してLDAPディレクトリに接続する場合は、このパラメータをtrueに設定します。前述の IDSTORE_PORT
は、ディレクトリのSSLポートである必要があります。true
IDSTORE_KEYSTORE_FILE
ディレクトリがSSL有効の場合、ツールは、含まれるディレクトリのCAを使用して有効なトラスト・ストアにアクセスできる必要があります。これをそのトラスト・ストアの場所に設定します。 IDSTORE_KEYSTORE_PASSWORD
ID_KEYSTORE_FILEのパスワードが指定されていない場合は、スクリプトによって入力が求められます。 password
IDSTORE_ADMIN_KEYSTORE_FILE
OUDを使用している場合は、OUD管理トラスト・ストア・ファイルの場所を指定する必要があります。 OUD_INSTANCE//config/admin-keystore
IDSTORE_ADMIN_KEYSTORE_PASSWORD
IDSTORE_ADMIN_KEYSTORE_FILE
のパスワードが指定されていない場合は、スクリプトによって入力が求められます。このパスワードを取得するには、次のコマンドを発行します:dsconfig -h ldaphost1 -p 4444 -D cn=oudadmin -j ~/oud.pwd -X -n
get-key-manager-provider-prop --provider-name Administration --property key-store-pin --showKeystorePassword
Oracle Unified Directoryを使用していない場合、このパラメータを無視できます。このファイルは、OIGOAMIntegration.shコマンドが実行されているホストと同じホストに配置する必要があります。コマンドは、このファイルを使用してOUDで自己認証します。
password
IDSTORE_BINDDN
Oracle Internet Directory、Oracle Unified Directory、またはActive Directory内の管理ユーザー。
- OID:
cn=orcladmin
- OUD:
cn=oudadmin
- AD:
CN=Administrator,CN=Users,DC=example.com,DC=example,dc=com
IDSTORE_BINDDN_PWD
Oracle Internet Directory、Oracle Unified DirectoryまたはMicrosoft Active Directory内の管理ユーザーのパスワードを入力します。
password
IDSTORE_USERNAMEATTRIBUTE
アイデンティティ・ストア内のユーザーを設定および検索するために使用するusername属性を入力します。
cn
IDSTORE_LOGINATTRIBUTE
ユーザーのログイン名が含まれているアイデンティティ・ストアのログイン属性を入力します。
uid
IDSTORE_SEARCHBASE
ユーザーおよびグループが保存されるディレクトリの場所を入力します。
dc=example,dc=com
IDSTORE_USERSEARCHBASE
Access Managerがユーザーを検索するコンテナを入力します。
cn=users,dc=example,dc=com
IDSTORE_GROUPSEARCHBASE
グループが保存されているディレクトリの場所を入力します。
cn=groups,dc=example,dc=com
IDSTORE_SYSTEMIDBASE
システム処理ユーザーが保存されるディレクトリ内のコンテナの場所を入力します。システム処理ユーザーは限られており、メイン・ユーザー・コンテナに格納されているエンタープライズ・ユーザーとは区別しておきます。
たとえば、Oracle Virtual DirectoryアダプタのバインドDNユーザーにも使用されるOracle Identity Governanceリコンシリエーション・ユーザーがあげられます。
cn=systemids,dc=example,dc=com
IDSTORE_READONLYUSER
アイデンティティ・ストアに対する読取り専用権限を持つユーザーを入力します。
このパラメータは省略可能です。
IDROUser
IDSTORE_READWRITEUSER
アイデンティティ・ストアに対する読取り/書込み権限を持つユーザーを入力します。
このパラメータは省略可能です。
IDRWUser
IDSTORE_SUPERUSER
アイデンティティ・ストア内のOracle Fusion Applicationsスーパーユーザーを入力します。
このパラメータは省略可能です。
weblogic_fa
IDSTORE_OAMSOFTWAREUSER
OAMがLDAPとの対話に使用するLDAPユーザーを入力します。
oamLDAP
IDSTORE_OAMADMINUSER
Oracle Access Managementコンソールへのアクセスに使用するユーザーを入力します。
oamadmin
IDSTORE_OAMADMINUSER_PWD
Oracle Access Managementコンソールへのアクセスに使用するユーザーのパスワードを入力します。
ノート:
パスワード・フィールドはすべてオプションです。ファイルに入力しない場合(セキュリティの問題)、スクリプトの実行時に入力を求められます。
password
IDSTORE_OIMADMINUSER
アイデンティティ・ストアに接続するために、Oracle Identity Governanceにより使用されるユーザーを入力します。
oimLDAP
IDSTORE_OIMADMINUSER_PWD
Oracle Identity Governanceがアイデンティティ・ストアに接続するために使用するユーザーのパスワードを入力します。
password
IDSTORE_OIMADMINGROUP
Oracle Identity Governance管理ユーザーを保持するために作成するグループを入力します。
OIMAdministrators
IDSTORE_WLSADMINUSER
Oracle WebLogic Serverのアイデンティティ・ストア管理者を入力します。
weblogic_idm
ノート:
これは、WebLogic管理操作の実行に使用されるLDAPユーザーです。内部WebLogicユーザーと同等です。IDSTORE_WLSADMINUSER_PWD
Oracle WebLogic Serverのアイデンティティ・ストア管理者のパスワードを入力します。
password
IDSTORE_WLSADMINGROUP
Oracle WebLogic Serverのアイデンティティ・ストア管理者グループを入力します。
wlsadmingroup
IDSTORE_OAAMADMINUSER
Oracle Access Management管理者として作成するユーザーを入力します。このユーザーはツールによって作成されます。
oaamAdminUser
IDSTORE_XELSYSADMINUSER_PWD
Oracle Identity Governanceのシステム管理者のパスワードを入力します。Oracle Identity Governanceの値と一致する必要があります
password
POLICYSTORE_SHARES_IDSTORE
ポリシー・ストアとアイデンティティ・ストアが同じディレクトリ内にある場合は
true
に設定します。そうでない場合は、false
に設定します。TRUE
IDSTORE_KEYSTORE_FILE
Oracle Unified Directory
キーストア
・ファイルの場所を入力します。これは、Oracle Unified Directory管理ポートを使用したOracle Unified Directoryとの通信を有効にするために使用されます。これはadmin-keystore
と呼ばれ、OUD_ORACLE_INSTANCE/OUD/config
にありますOracle Unified Directoryを使用していない場合、このパラメータを無視できます。このファイルは、
OIGOAMIntegration.sh
コマンドが実行されているホストと同じホストに配置する必要があります。コマンドは、このファイルを使用してOUDで自己認証します。/u01/config/instances/oud1/OUD/config/admin-keystore
IDSTORE_KEYSTORE_PASSWORD
Oracle Unified Directoryキーストアの暗号化されたパスワードを入力します。この値は、ファイル
OUD_ORACLE_INSTANCE/OUD/config/admin-keystore.pin
にあります。Oracle Unified Directoryを使用していない場合、このパラメータを無視できます。password
SSL_DEBUG_ENABLE
SSL接続のデバッグを支援するように設定できます false
- OID:
-
idmConfigTool
を実行してディレクトリ・スキーマを拡張します。export JAVA_HOME=/u01/oracle/products/jdk export PATH=$JAVA_HOME/jdk/bin:$PATH export MW_HOME=/u01/oracle/products/idm export ORACLE_HOME=$MW_HOME/idm $ORACLE_HOME/idmtools/bin/idmConfigTool.sh -preConfigIDStore input_file=prepareLDAP.props log_level=FINEST
IDStoreの準備のための自動スクリプトが正常に実行されました。
- idmConfigToolを実行して、管理ユーザーにディレクトリを移入します。
export JAVA_HOME=/u01/oracle/products/jdk export PATH=$JAVA_HOME/jdk/bin:$PATH export MW_HOME=/u01/oracle/products/idm export ORACLE_HOME=$MW_HOME/idm $ORACLE_HOME/idmtools/bin/idmConfigTool.sh -prepareIDStore input_file=ldapPrepare.props log_level=FINEST mode=all
アイデンティティ・ストアおよびポリシー・ストアの構成の確認
LDAPディレクトリで次を実行します:
-
prepareLDAP.props
ファイルで指定したユーザーおよびグループの検索ベースが、LDAPディレクトリに存在します。 -
ユーザー・コンテナ、グループ・コンテナおよびシステムIDコンテナが、LDAPディレクトリに存在します。
-
systemids
コンテナに、ユーザーIDROuser
、IDRWUser
、oamSoftwareUser
およびoimadminuser
が含まれます。これらは、prepareLDAP.props
で提供されるサンプル値です。独自の値を指定して使用できます。 -
ユーザー・コンテナに、ユーザー
oamadminuser
、weblogic_idm
およびxelsysadm
が含まれます。これらは、prepareLDAP.props
で提供されるサンプル値です。独自の値を指定して使用できます。 -
グループ・コンテナに、
OAMadministreatrs
、OIMadminsitrators
、BIReportAdminnistrator
、Session REST API
、およびwlsadmingroup
、orclFAGroup
が含まれます。 -
OUDの変更ログへのアクセス権が付与されます:
Oracle Unified Directoryを使用している場合は、次のステップを単一ノードのLDAPホストで実行するか、マルチノードのLDAPインスタンスの
LDAPHOST1
およびLDAPHOST2
で実行して、changelog
に対するアクセス権を付与する必要があります:-
OUDへの接続に使用するパスワードが含まれる
passwordfile
というファイルを作成します。OUD_ORACLE_INSTANCE/OUD/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/OUD/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 LDAPHOST1.example.com \ --port 4444 \ --trustAll \ --bindDN cn=oudadmin \ --bindPasswordFile passwordfile \ --no-prompt
-
新しいactを追加します:
OUD_ORACLE_INSTANCE/OUD/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=example,dc=com\";)" \ --hostname OUD Host \ --port OUD Admin Port \ --trustAll \ --bindDN cn=oudadmin \ --bindPasswordFile passwordfile \ --no-prompt
たとえば:
OUD_ORACLE_INSTANCE/OUD/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=example,dc=com\";)" \ --hostname LDAPHOST1.example.com \ --port 4444 \ --trustAll \ --bindDN cn=oudadmin \ --bindPasswordFile passwordfile \ --no-prompt
-
-
追加のOUD権限が作成されます:
すべてのOUDインスタンスの
OUD_ORACLE_INSTANCE
/OUD/config/config.ldif
を次の変更で更新します:-
次の行に注目してください:
ds-cfg-global-aci: (targetcontrol="1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.840.113556.1.4.319 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9") (version 3.0; acl "Authenticated users control access"; allow(read) userdn="ldap:///all";)
前述のaciからオブジェクト識別子
1.2.840.113556.1.4.319
を削除し、次に示すaciに追加します。ds-cfg-global-aci: (targetcontrol="2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 || 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31 || 1.2.840.113556.1.4.319") (version 3.0; acl "Anonymous control access"; allow(read) userdn="ldap:///anyone";)
-
オブジェクト識別子
1.3.6.1.4.1.26027.1.5.4
および1.3.6.1.4.1.26027.2.3.4
を、次に示すaciに追加します。ds-cfg-global-aci: (targetcontrol="1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9 || 1.3.6.1.4.1.26027.1.5.4 || 1.3.6.1.4.1.26027.2.3.4") (version 3.0; acl "Authenticated users control access"; allow(read) userdn="ldap:///all";)
-
両方のLDAPHOSTでOracle Unified Directoryサーバーを再起動します。
-
-
追加のOUD索引が作成されます:
OUDアイデンティティ・ストアを準備するために
idmConfigTool.sh
スクリプトを実行すると、実行対象のインスタンスにデータの索引が作成されます。これらの索引は、LDAPHOST2の各OUDインスタンスに手動で作成する必要があります。これを行うには、LDAPHOST2で次のコマンドを実行します。OUD_ORACLE_INSTANCE/OUD/bin/ldapmodify -h LDAPHOST2.example.com -Z -X -p 4444 -a -D "cn=oudadmin" -j passwordfile -c \-f IAD_ORACLE_HOME/idm/oam/server/oim-intg/ldif/ojd/schema/ojd_user_index_generic.ldif
OUD_ORACLE_INSTANCE/OUD/bin/ldapmodify -h LDAPHOST2.example.com -Z -X -p 4444 -a -D "cn=oudadmin" -j passwordfile -c \-f IAD_ORACLE_HOME/idm/idmtools/templates/oud/oud_indexes_extn.ldif
Active DirectoryのACLの手動付与
Active Directoryの場合、idmConfigTool
を実行した後に、ADサーバー・マシンで次の手順を実行します。
-
ACLを追加します。
dsacls /G cn=orclFAUserReadPrivilegeGroup,<IDSTORE_GROUPSEARCHBASE>:GR dsacls /G cn=orclFAUserWritePrivilegeGroup,<IDSTORE_GROUPSEARCHBASE>:GW dsacls /G cn=orclFAGroupReadPrivilegeGroup,<IDSTORE_GROUPSEARCHBASE>:GR dsacls /G cn=orclFAGroupWritePrivilegeGroup,<IDSTORE_GROUPSEARCHBASE>:GW dsacls /G cn=orclFAOAMUserWritePrivilegeGroup,<IDSTORE_GROUPSEARCHBASE>:GW
-
ユーザー・パスワードを再設定します。
dsmod user "CN=weblogic_idm,<IDSTORE_USERSEARCHBASE>" -pwd <password> -mustchpwd no dsmod user "CN=xelsysadm,<IDSTORE_USERSEARCHBASE>" -pwd <password> -mustchpwd no dsmod user "CN=oamadmin,<IDSTORE_USERSEARCHBASE>" -pwd <password> -mustchpwd no dsmod user "CN=OblixAnonymous,DC=interop,DC=example,DC=com" -pwd <password> -mustchpwd no dsmod user "CN=oamLDAP,<IDSTORE_SYSTEMIDBASE>" -pwd <password> -mustchpwd no dsmod user "CN=oimLDAP,<IDSTORE_SYSTEMIDBASE>" -pwd <password> -mustchpwd no
-
ユーザー・アカウントを有効にします。
dsmod user "CN=weblogic_idm,<IDSTORE_USERSEARCHBASE>" -disabled no dsmod user "CN=xelsysadm,<IDSTORE_USERSEARCHBASE>" -disabled no dsmod user "CN=oamadmin,<IDSTORE_USERSEARCHBASE>" -disabled no dsmod user "CN=OblixAnonymous,DC=interop,DC=example,DC=com" -disabled no dsmod user "CN=oamLDAP,<IDSTORE_SYSTEMIDBASE>" -disabled no dsmod user "CN=oimLDAP,<IDSTORE_SYSTEMIDBASE>" -disabled no