ヘッダーをスキップ
Oracle Application Serverリリース・ノート
10g(10.1.4.0.1) for Linux Itanium
B31744-05
  目次
目次

戻る
戻る
 
 

13 Oracle Directory Integration Platform

この章では、Oracle Directory Integration Platformに関連する問題について説明します。内容は次のとおりです。

13.1 構成の問題および回避方法

この項では、Oracle Directory Integration Platformに関する構成の問題およびその回避方法について説明します。内容は次のとおりです。

13.1.1 ドメインレベル・マッピングを使用する同期の構成要件

同期中にドメインレベル・マッピングを使用する場合、およびdn値を含む属性を同期化する場合、OpenLDAPを使用したインポート同期とエクスポート同期、およびSun Java System Directoryへのエクスポート同期を行うために、マッピング・ルールを変更する必要があります。たとえば、ドメインレベル・マッピングを使用してグループを同期化するには、memberuniquememberおよびownerエントリ(通常はdn値が含まれる)のマッピングを変更する必要があります。

ディレクトリ統合アシスタントのExpress構成操作を使用して同期プロファイルを作成する場合は、次の手順を実行します。

  1. 同期化に使用するサード・パーティのディレクトリ用のマッピング・ファイルをテキスト・エディタで開きます。

    • OpenLDAPエクスポート同期: $ORACLE_HOME/ldap/odi/samples/openldapexp.domainmap.master

    • OpenLDAPエクスポート同期: $ORACLE_HOME/ldap/odi/samples/openldapimp.domainmap.master

    • Sun Java System Directoryエクスポート同期: $ORACLE_HOME/ldap/odi/samples/iplanetexp.domainmap.master

  2. 同期化に使用するサード・パーティのディレクトリ用の前述のマッピング・ファイルの内容を、次のように変更します。

    member: : :groupofnames:member: :groupofnames: dnconvert(member)
    uniquemember: : :groupofuniquenames:uniquemember: :groupofuniquenames: dnconvert(uniquemember)
    owner: : :groupofuniquenames:owner: :groupofuniquenames: dnconvert(owner)
    

サード・パーティのディレクトリ用の同期プロファイルをすでに作成してある場合は、次の手順を実行します。

  1. 同期化に使用するサード・パーティのディレクトリ用のインポート・マッピング・ファイルおよびエクスポート・マッピング・ファイルをテキスト・エディタで開きます。

  2. インポートおよびエクスポート同期マッピング・ファイルの内容を、次のように変更します。

    member: : :groupofnames:member: :groupofnames: dnconvert(member)
    uniquemember: : :groupofuniquenames:uniquemember: :groupofuniquenames: dnconvert(uniquemember)
    owner: : :groupofuniquenames:owner: :groupofuniquenames: dnconvert(owner)
    

13.1.2 追加の構成情報ファイルのアップロード時にディレクトリ統合アシスタントによって「LDAP: エラー・コード2 - デコード・エラー」がスローされる

このエラーは、同期プロファイルの追加構成情報ファイルのファイル・サイズが4KBを超えることができないために発生します。この問題を解決するには、次の手順を実行して、OrclODIPAgentConfigInfo属性のタイプをDirectoryStringからBinaryに変更します。

  1. 次のコマンドを実行して、Oracle Directory Managerを起動します。

    oidadmin
    
  2. ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」<ディレクトリ・サーバー・インスタンス>を開きます。

  3. 「スキーマ管理」を選択します。右ペインに「スキーマ管理」タブ・ページが表示されます。

  4. 右ペインで「属性」を選択します。

  5. 「名前」列をクリックして、属性をアルファベット順に並べ替えます。

  6. OrclODIPAgentConfigInfo属性を見つけて選択し、「編集」をクリックします。

  7. 「構文」オプションをDirectoryStringからBinaryに変更し、「OK」をクリックします。

  8. ディレクトリ統合アシスタントを使用して、追加構成情報ファイルをアップロードします。

13.1.3 Oracle Password Filter for Microsoft Active Directoryを再構成するとエラーが生成される

Oracle Password Filter for Microsoft Active Directoryをインストールまたは再構成すると、コマンドラインに次のエラーが表示されることがあります。

User created failed
Delete failed failed

前述のエラーは、Oracle Password Filter for Microsoft Active Directoryの再構成で使用されるデフォルトのパスワードが、Microsoft Active Directoryドメインのパスワード・ポリシー要件を満たしていないために発生します。この問題を解決するには、Oracle Password Filter for Microsoft Active Directoryをインストールしたディレクトリ内にpassword.txtという名前のファイルを作成します。Microsoft Active Directoryドメインのパスワード・ポリシー要件を満たすパスワードを含む1行を、password.txtファイルに追加します。password.txtファイルを保護するには、管理ユーザーのみがアクセスできるようにそのファイル権限を設定します。password.txtファイルに保存されているパスワードは、Oracle Password FilterとMicrosoft Active Directoryの間の接続性をテストするためにユーザーを作成してから削除することのみを目的としているので、このパスワードが大きなセキュリティ・リスクになることはありません。

13.1.4 マルチマスター・レプリケーションを使用する高可用性環境において、プロビジョニング・イベントが伝播または複製されないことがある

マルチマスター・レプリケーションにおいては、最後の変更番号がOracle Internet Directoryノード上にローカルに格納されます。高可用性環境においては、そのノードに障害が発生し、プロビジョニング・プロファイルが別のOracle Internet Directoryノードに移動されると、プロファイル内で最後に適用された変更番号は無効になります。この場合、フェイルオーバー・ノード上でプロファイル内のその番号を手動でリセットする必要があります。ただし、それでもイベントが伝播されない、または複製されないことがあります。

13.1.5 Oracle Enterprise ManagerからOracle Directory Integration Platformを構成した後に必要な手動操作

Oracle Enterprise ManagerからOracle Directory Integration Platformを構成した後、targets.xml内のOracle Directory Integration PlatformのConnectDescriptorプロパティには空白の値が割り当てられます。次の手順を実行して、適切なデータベース接続記述子をConnectorDescriptorプロパティに割り当てる必要があります。

  1. Oracleディレクトリ統合サーバーを実行しているコンピュータ上で、テキスト・エディタで$ORACLE_HOME/network/admint/tnsnames.oraファイルを開きます。

  2. tnsnames.oraファイル内のデータベース接続記述子情報に注目してください。たとえば、次のtnsnames.oraファイル内のデータベース接続記述子情報は、ASDBプロパティに割り当てられた値になっています。

    ASDB =  (DESCRIPTION =  (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = host.mycompany.com)(PORT = 1521)))
    (CONNECT_DATA = (SERVICE_NAME = database.mycompany.com)))
    

    前述の文におけるデータベース接続記述子は、次の値になります。

    DESCRIPTION =  (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = host.mycompany.com)(PORT = 1521)))
    (CONNECT_DATA = (SERVICE_NAME = database.mycompany.com)))
    
  3. Oracleディレクトリ統合サーバーを実行しているコンピュータ上で、テキスト・エディタで$ORACLE_HOME/sysman/emd/targets.xmlファイルを開きます。

  4. タイプがoracle_eps_serverで名前属性がiasinstance_name_DIPのターゲットを探します。

  5. エントリ内で、ConnectDescriptorプロパティを見つけ、tnsnames.oraファイルからのデータベース接続記述子情報にその値を割り当てます。

  6. 次のコマンドを実行して、Oracle Enterprise Managerを再起動します。

    $ORACLE_HOME/bin/emctl stop iasconsole
    $ORACLE_HOME/bin/emctl start iasconsole
    
  7. 『Oracle Identity Management統合ガイド』の指示に従って、Oracle Directory Integration Platformを再起動します。

13.1.6 Oracle Password Filter for Microsoft Active Directoryのインストール前のWindowsレジストリの保護

Oracle Password Filter for Microsoft Active Directoryでは、Windowsレジストリ内に操作情報が格納されます。Oracle Password Filter for Microsoft Active Directoryをインストールまたは構成する前に、次の手順を実行してWindowsレジストリを保護することを強くお薦めします。

  1. 次のテキストを含む、orclidmpwf.txtという名前のテキスト・ファイルを作成します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\orclidmpwf [1 5 17]
    
  2. Windowsの「スタート」メニューをクリックし、「ファイル名を指定して実行」を選択します。「ファイル名を指定して実行」ダイアログ・ボックスが表示されます。

  3. 「ファイル名を指定して実行」ダイアログ・ボックスにcmdと入力し、「OK」をクリックします。コマンド・プロンプト・ウィンドウが開きます。

  4. 次のコマンドを実行して、Windowsレジストリを保護します。

    regini path\orclidmpwf.txt
    
  5. exitと入力して[Enter]を押すと、コマンド・プロンプト・ウィンドウが閉じます。

13.1.7 ソース・ディレクトリ内の同期する属性の数が10を超えるとDIP_GEN_CREATECHG_EXCEPTIONが発生する

ソース・ディレクトリ内の同期する属性の数が10を超えると、例外DIP_GEN_CREATECHG_EXCEPTIONで同期に失敗します。この問題を解決するには、パッチ5710021を適用します。

13.1.8 ドメイン編集ルールが存在すると削除が同期されない

ドメイン編集ルールが存在する場合、マッピング・ファイル内でドメイン構成ルールに必要なすべての属性を必須として指定しないかぎり、削除は同期されません。必須属性が指定されている場合は、ソース・ディレクトリから必須属性が取得されていないため、dn値が構成されません。この問題を解決するには、パッチ6263156を適用します。

13.1.9 Sun Java System Directoryからmodrdnを同期するとスタック・トレースがスローされる

Oracle Internet DirectoryとSun Java System Directoryの同期をとる場合、modrdnを変更タイプとして指定すると、Sun Java System Directoryのスタック・トレース・ファイルで例外が検出されます。この問題を解決するには、パッチ6263156を適用します。

13.1.10 同期中にSearchDeltaSizeパラメータが無視される

Active Directory、eDirectoryまたはOpenLDAPと同期化する場合、SearchDeltaSizeパラメータは無視されます。この問題を解決するには、パッチ5913124を適用します。

13.1.11 追加操作が同期されず、トレース・ファイルに「objclsがNULLです」メッセージが出力されて同期に失敗する

場合によっては、追加操作が同期されず、トレース・ファイルに「objclsがNULLです」メッセージが出力されて同期に失敗することがあります。この問題を解決するには、パッチ6319399を適用します。

13.2 管理の問題および回避方法

この項では、Oracle Directory Integration Platformに関する管理の問題およびその回避方法について説明します。内容は次のとおりです。

13.2.1 シングル・ドメインのMicrosoft Active Directoryデプロイではデフォルトのマッピング・ルールを単純化できる

シングル・ドメインのMicrosoft Active Directoryのみを含むデプロイでは、Oracle Directory Integration Platformとともにインストールされたデフォルトのマッピング・ルールを単純化できます。

デフォルトのマッピング・ルールは次のとおりです。

sAMAccountName,userPrincipalName: :
:user:orclSAMAccountName:
:orclADUser:toupper(truncl(userPrincipalName,'@'))+"$"+sAMAccountname

シングル・ドメインのActive Directoryがあるデプロイでは、デフォルトのマッピング・ルールを次のように単純化できます。

sAMAccountName: : :user:orclSAMAccountName::orclADUser

13.2.2 パージされた変更ログ・エントリのためにOracle Directory Integration Platformがプロビジョニング・イベントを送信しない

バージョン3.0のプロビジョニング・プロファイルで時間ベースの変更ログ・パージを使用している場合、Oracle Directory Integration Platformがプロビジョニング統合アプリケーションに変更を伝播する前に、変更ログ・エントリがパージされます。これは、Oracle Directory Integration Platformによってデフォルトの変更ログ・サブスクライバ・コンテナcn=subscriber profile,cn=changelog subscriber,cn=oracle internet directory内にバージョン3.0のプロビジョニング・プロファイル・エントリが作成されないために発生します。

この問題を解決するには、デフォルトの変更ログ・サブスクライバ・コンテナ内に、バージョン3.0のプロビジョニング・プロファイルごとにコンテナを作成し、各プロファイルのorclLastAppliedChangeNumber属性に0の値を割り当てます。次のサンプルLDIFファイルでは、デフォルトの変更ログ・サブスクライバ・コンテナ内にプロビジョニング・プロファイル・コンテナが作成され、orclLastAppliedChangeNumber属性に0の値が割り当てられています。

dn: cn=profile_name,cn=changelog subscriber,cn=oracle internet directory
orclsubscriberdisable: 0
orcllastappliedchangenumber: 0
objectclass: orclChangeSubscriber

13.2.3 Oracle Identity Manager Grid ControlプラグインでOracle Internet Directoryのフィールドが使用できない

Oracleディレクトリ統合サーバーおよびOracle Internet Directory LDAPサーバーが別々のコンピュータにインストールされている場合、Oracle Internet DirectoryフィールドはOracle Identity Manager Grid Controlプラグインで使用できなくなります。この問題を解決するには、次の手順を実行します。

  1. Oracle Internet Directory LDAPサーバーを実行しているコンピュータ上で、テキスト・エディタで$ORACLE_HOME/sysman/emd/targets.xmlファイルを開きます。

  2. タイプがoracle_ldapのターゲットを探し、name属性に割り当てられている値に注目します。この値は、通常はiasinstance_name_LDAPという形式になっています。

  3. Oracleディレクトリ統合サーバーを実行しているコンピュータ上で、テキスト・エディタで$ORACLE_HOME/sysman/emd/targets.xmlファイルを開きます。

  4. タイプがoracle_eps_serverで名前属性がiasinstance_name_DIPのターゲットを探します。

  5. エントリ内で、AssocTargetInstanceノードの下のASSOC_TARGET_NAME属性を見つけます。ASSOC_TARGET_NAME属性に割り当てられた値は、iasinstance_name_LDAPという形式になります。

  6. Oracle Internet Directory LDAPサーバーを実行しているコンピュータ上で、targets.xmlファイル内のoracle_ldapターゲットのname属性に割り当てられた値と同じ値をASSOC_TARGET_NAMEに割り当てます。

13.2.4 Oracle Internet Directoryコンテナがデフォルトのレルム内にある場合に、Novell eDirectoryまたはOpenLDAPからの同期が失敗する

Oracle Internet Directoryコンテナがデフォルトのレルム内にあるとき、Novell eDirectoryまたはOpenLDAPからOracle Internet Directoryへの同期は失敗します。この問題を解決するには、次の手順を実行して必要なACLを作成します。

  1. テキスト・エディタで新しいファイルを作成します。

  2. 次の文を入力します。これによって、Oracle Internet Directoryコンテナがcn=odipgroup,cn=odi,cn=oracle internet directoryグループに追加されます。必ず、hostは、Oracleディレクトリ統合サーバーを実行しているホスト名(ドメイン名なし)で置き換えてください。

    dn: cn=odipgroup,cn=odi,cn=oracle internet directory
    changetype: modify
    add: uniquemember
    uniquemember: cn=odisrv+orclhostname=host,cn=registered instances,cn=directory integration platform,cn=products,cn=oraclecontext
    
  3. ファイルをreconacls.ldifという名前で保存します。

  4. 次のコマンドを実行して、reconacls.ldifファイルをアップロードします。

    $ORACLE_HOME/bin/ldapmodify -h OID_host -p OID_port
    -D "DN of privileged OID user" -w "password of privileged OID user"
    -v -f reconacls.ldif