2 LDAP IDStoreの準備

OIG-OAM統合のためのOIGOAMIntegration.sh自動スクリプトを使用して、IDStoreを準備します。

グループを作成し、ACIを様々なコンテナに設定することで、アイデンティティ・ストアおよびポリシー・ストアを構成します。必要なユーザーおよびグループとの関連ユーザーをアイデンティティ・ストアに追加します。このステップは、idmConfigTool.sh -prepareIDStoreおよびidmConfigTool.sh -prepareIDStore -mode=ALLコマンドの実行に似ています。「prepareIDStoreコマンド」を参照してください。

  1. 次の内容で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
  2. 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の準備のための自動スクリプトが正常に実行されました。

  3. 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コンテナに、ユーザーIDROuserIDRWUseroamSoftwareUserおよびoimadminuserが含まれます。これらは、prepareLDAP.propsで提供されるサンプル値です。独自の値を指定して使用できます。

  • ユーザー・コンテナに、ユーザーoamadminuserweblogic_idmおよびxelsysadmが含まれます。これらは、prepareLDAP.propsで提供されるサンプル値です。独自の値を指定して使用できます。

  • グループ・コンテナに、OAMadministreatrsOIMadminsitratorsBIReportAdminnistratorSession REST API、およびwlsadmingrouporclFAGroupが含まれます。

  • OUDの変更ログへのアクセス権が付与されます:

    Oracle Unified Directoryを使用している場合は、次のステップを単一ノードのLDAPホストで実行するか、マルチノードのLDAPインスタンスのLDAPHOST1およびLDAPHOST2で実行して、changelogに対するアクセス権を付与する必要があります:

    1. 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
    2. 新しい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を次の変更で更新します:

    1. 次の行に注目してください:

      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";)
      
    2. オブジェクト識別子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";)
    3. 両方の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サーバー・マシンで次の手順を実行します。

  1. 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
  2. ユーザー・パスワードを再設定します。

    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
  3. ユーザー・アカウントを有効にします。

    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