プライマリ・コンテンツに移動
Oracle® Identity Manager UNIXコネクタ・ガイド
11.1.1
B72410-09
目次へ移動
目次

前
次

4 コネクタの機能拡張

コネクタをデプロイしたら、要件に合せて構成する必要があります。

この章では、次のコネクタ構成手順を説明します。

ノート:

Oracle Identity Managerリリース11.1.2以降では、参照問合せはサポートされません。Oracle Identity Managerシステム管理コンソールでの「フォーム・デザイナ」を使用した参照の管理の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理ガイドで参照の管理を参照してください。

4.1 新しいターゲット・システムに対するコネクタの構成

追加のUNIXのフレーバをサポートするためのコネクタを構成できます。

ノート:

「動作保証されているコンポーネント」に示されているターゲット・システム以外の追加のUNIXのフレーバに対するコネクタを構成する場合にのみ、この手順を実行します。

デフォルトでは、コネクタはLinux、Solaris、AIXおよびHP-UXをサポートする事前構成済のスクリプトを使用します。

スクリプトはコネクタ・バンドルJARファイルに含まれています。OIM_HOME/binディレクトリのDownloadJarsユーティリティを使用してOracle Identity Governanceデータベースから、またはインストール・メディアから、バンドルをダウンロードできます。コネクタ・サーバーを使用している場合、CONNECTOR_SERVER_HOME/ bundlesディレクトリからバンドルをコピーできます。

追加のUNIXのフレーバをサポートするために、同様のディレクトリ構造を持つ同様のスクリプトを追加できます。たとえば、UNIXのBSD/OSフレーバを含むターゲット・システムに対しコネクタのサポートを追加できます。これを行うには、次のようにします。

  1. 次のディレクトリを作成します。これはコネクタ・バンドルJARにパッケージ化されます。

    scripts/bsdos/nonsudo/

    scripts/bsdos/sudo/

  2. sudoおよび非sudo認証タイプ用の次のスクリプトを作成します。次に、前のステップで作成した対応するディレクトリにそれらを置きます。

    ノート:

    スクリプト・ファイルには読取り専用権限を持たせることをお薦めします。

    表4-1 UNIXターゲット・システムの新しいフレーバをサポートするカスタム・スクリプト

    スクリプト名 説明

    CreateNativeUser.txt

    ターゲットにユーザーを作成します

    DeleteNativeUser.txt

    ターゲットからユーザーを削除します

    FetchAllGroupRecords.txt

    グループの参照リコンシリエーション用

    FetchAllUserRecords.txt

    完全ユーザー・リコンシリエーション用

    FetchAllShellRecords.txt

    シェルの参照リコンシリエーション用

    FetchSingleUserRecord.txt

    1ユーザーを取得します

    NativeUserIncrementalRecon.txt

    増分リコンシリエーションのSyncOpにより使用されます

    UpdateNativeUser.txt

    ユーザーの更新用

  3. すべてのスクリプトの詳細で、ScriptProperties.propertiesファイルを作成して更新します。

    値は新しいスクリプトへのパスである必要があります。サンプル値はscripts/linux/ScriptProperties.propertiesファイルを参照してください。たとえば、次のようになります。

    CREATE_USER_SCRIPT=scripts/bsdos/sudo/CreateNativeUser.txt
    DELETE_USER_SCRIPT=scripts/bsdos/sudo/DeleteNativeUser.txt
    FETCH_SINGLE_USER=scripts/bsdos/sudo/FetchSingleUserRecord.txt
    FETCH_FULL_RECON_SCRIPT=scripts/bsdos/sudo/FetchAllUserRecords.txt
    INCREMENTAL_RECON_SCRIPT=scripts/bsdos/sudo/NativeUserIncrementalRecon.txt
    
  4. スクリプトから返される値が、バンドルの予期する、適切な形式であることを確認します。サンプル・スクリプトについては、scripts/linux/を参照してください。
  5. scripts/bsdosディレクトリにResponseMapping.propertiesファイルを作成して更新します。

    ResponseMapping.propertiesファイルには、予期されるメッセージと、メッセージがラップおよびスローされる必要のある例外クラスとの間のマッピングが含まれます。サンプル値はscripts/linux/ResponseMapping.propertiesファイルを参照してください。たとえば、次のようになります。

    User already exists=org.identityconnectors.framework.common.exceptions.AlreadyExistsException
    Group already exists=org.identityconnectors.framework.common.exceptions.AlreadyExistsException
    
  6. 次のコマンドを実行して、新しいスクリプトでバンドルJARファイルを更新します。
    jar uvf org.identityconnectors.genericunix-1.0.0.jar scripts/bsdos/
    
  7. PropertyFileName基本構成パラメータで、プロパティ・ファイルへのパスの値を指定します。

    例: scripts/bsdos/nonsudo/ScriptProperties.properties (非sudo認証の場合)

    PropertyFileNameパラメータの詳細は、表2-2を参照してください。

4.2 ターゲット・システムの複数のバージョンおよび複数のインスタンスに対するコネクタの構成

ノート:

この手順は、ターゲット・システムの複数のインストールに対応するようにコネクタを構成する場合のみ実行します。

ターゲット・システムの複数のインストールに対してコネクタを構成する場合があります。

次の例でこの要件について説明します。

Example Multinational Inc.の東京、ロンドンおよびニューヨークの事業所には、独自にターゲット・システムがインストールされています。最近、この会社では、Oracle Identity Managerをインストールし、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。

このような例で示される要件に対応するには、ターゲット・システムの複数のインストールに対するコネクタを構成する必要があります。

ターゲット・システムの複数のインストールに対してコネクタを構成するには、次のようにします。

  1. 各ターゲット・システム・インストールに対して1つのリソースを作成して構成します。

    「IT Resources」フォームは「Resource Management」フォルダにあります。ITリソースは、コネクタのXMLファイルをインポートすると作成されます。このITリソースは、同じリソース・タイプの、残りのITリソース作成用のテンプレートとして使用できます。

  2. 各ターゲット・システム・インストールについてリコンシリエーションを構成します。手順は、「スケジュール済タスク」を参照してください。ITリソースの指定に使用される属性の変更と、ターゲット・システム・インストールを信頼できるソースとして設定するかどうかの指定のみが必要です。
  3. 必要であれば、UNIX Userリソース・オブジェクトに対してリコンサイルされるフィールドを変更します。

管理およびユーザー・コンソールを使用してプロビジョニングを実行する場合、ユーザーのプロビジョニング先のターゲット・システム・インストールに対応するITリソースを指定できます。

4.3 ターゲット・リソース・リコンシリエーション用のカスタム属性の追加

コネクタでは、Oracle Identity Managerとターゲット・システム間のリコンシリエーション用に属性マッピングのデフォルト・セットが提供されています。必要な場合には、リコンシリエーション用に新規ユーザーまたはグループ属性を追加できます。

ノート:

この項では、属性という用語はユーザー・データを格納するIDデータ・フィールドを指します。

デフォルトでは「ターゲット・リソース・リコンシリエーションおよびプロビジョニング用のユーザー属性」で示した属性が、Oracle Identity Managerとターゲット・システム間のリコンシリエーション用にマップされます。必要に応じて、次の追加属性をリコンシリエーション用にマップできます。

  1. Oracle Identity Manager Design Consoleにログインします。
  2. 次のようにして、新しいバージョンのプロセス・フォームを作成します。
    1. 「開発ツール」を開きます。
    2. 「フォーム・デザイナ」をダブルクリックします。
    3. UD_UNIXプロセス・フォームを検索し、開きます。
    4. 「新しいバージョンの作成」をクリックします。

    新規バージョンの作成ダイアログ・ボックスで、「ラベル」フィールドに新しいバージョンを入力し、保存アイコンをクリックします。

  3. 次のようにして、プロセス・フォームに新しいフィールドを追加します。
    1. 「追加」をクリックします。

      リストにフィールドが追加されます。フィールドの詳細を入力します。

      たとえば、GIDフィールドを追加する場合は、「名前」フィールドにUD_UNIX_GIDと入力してから、このフィールドのその他の詳細を入力します。

    2. 「保存」をクリックします。
    3. 新規作成したフォームをアクティブ化するには、バージョンのアクティブ化をクリックします

      図4-1はプロセス・フォームの新規バージョンのサンプルのスクリーンショットです。

      図4-1 プロセス・フォームの新しいバージョンの追加

      図4-1の説明は図の下のリンクをクリックしてください。
      「図4-1 プロセス・フォームの新規バージョンの追加」の説明
  4. リコンシリエーションの参照定義で、次のようにして、フィールドのエントリを作成します。
    1. 「管理」を開きます。
    2. 「参照定義」をダブルクリックします。
    3. Lookup.UNIX.UM.ReconAttrMap参照定義を検索して開きます。
    4. 「Add」をクリックし、フィールドのコード・キー値とデコード値を入力します。

      コード・キー値は、フォーム・フィールド名にする必要があります。デコードの値は、シェル・スクリプトのこの属性に使用される名前にする必要があります。

      たとえば、コード・キー・フィールドにGIDを入力し、「デコード」フィールドに__GID__を入力します。

    5. 保存アイコンをクリックします。

      図4-2はリコンシリエーション参照定義に新たに追加されたエントリのサンプルのスクリーンショットです。

      図4-2 リコンシリエーション参照へのエントリの追加

      図4-2の説明が続きます
      「図4-2 リコンシリエーション参照へのエントリの追加」の説明
  5. コネクタ・バンドルJARファイルをコピーします。

    OIM_HOME/binディレクトリのDownloadJarsユーティリティを使用してOracle Identity Managerデータベースから、またはインストール・メディアから、バンドルをダウンロードできます。コネクタ・サーバーを使用している場合、CONNECTOR_SERVER_HOME/bundlesディレクトリからバンドルをコピーできます。

  6. JARファイルを抽出してスクリプトを編集します。

    たとえば、Linuxのリコンシリエーションの非sudoユーザー用のスクリプトを抽出するには、次のコマンドを実行します。

    jar xvf org.identityconnectors.genericunix-1.0.0.jar scripts/linux/nonsudo/FetchAllUserRecords.txt
    

    FetchAllUserRecords.txtスクリプトは、equalsToフィルタを使用せずに完全リコンシリエーションを実行する場合に呼び出されます。必要な場合、追加のリコンシリエーション・スクリプトを編集できます。

    • FetchSingleUserRecord.txt - このスクリプトは、equalsToフィルタを使用して完全リコンシリエーションを実行する場合に呼び出されます。

    • NativeUserIncrementalRecon.txt - このスクリプトは、増分リコンシリエーション中に呼び出されます。

  7. 編集のためにスクリプトを開きます。

    ノート:

    スクリプトを編集するにはbashスクリプトを熟知していることが必要です。スクリプトを編集する前に、元のスクリプトのバックアップを作成できます。

    たとえば、__GID__属性のブロックを他のブロックと同様に作成できます。

    PGROUPで始まる行9の後に、__GID__フィールドをフェッチする、次の行を追加します。

    __GID__=$( id -G $__NAME__ | cut -d' ' -f1);
    

    次のように、RESULTで始まる行32にエントリを追加します。

    RESULT=__NAME__:$__NAME__:__GID__:$__GID__:__ENABLE__:$ENABLE
    

    次のように、unsetで始まる行41にエントリを追加します。

    unset inputline __NAME__ USID COMMENTS HOME_DIR USER_SHELL PGROUP secgrplist __GID__;
    

    関連項目:

    元と更新後のFetchAllUserRecords.txtスクリプトについては、「リコンシリエーション用のデフォルト属性の更新のサンプル・スクリプト」を参照してください

  8. 次のように、スクリプトを保存してバンドルを更新します。
    jar uvf org.identityconnectors.genericunix-1.0.0.jar scripts/linux/nonsudo/FetchAllUserRecords.txt
    
  9. OIM_HOME/binディレクトリのUpdateJarsユーティリティを使用して、古いバンドルを置き換えます。

    コネクタ・サーバーを使用している場合は停止します。次に、CONNECTOR_SERVER_HOME/bundlesディレクトリ内のJARを置き換えて、コネクタ・サーバーを再起動します。

  10. リソース・オブジェクトのリコンシリエーション・フィールドのリストに、次のようにして、新しいフィールドを追加します。
    1. 「リソース管理」を開きます。
    2. 「リソース・オブジェクト」をダブルクリックします。
    3. UNIX Userリソース・オブジェクトを検索し、開きます。
    4. 「Object Reconciliation」タブで、「Add field」をクリックします。
    5. 「Add Reconciliation Field」ダイアログ・ボックスで、このフィールドの詳細を入力します。

      たとえば、「フィールド名」フィールドにGIDと入力し、「フィールド・タイプ」リストから「数値」を選択します。

    6. 保存アイコンをクリックします。
    7. 「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。

      図4-3は新たに追加されたリコンシリエーション・フィールドのサンプルのスクリーンショットです。

      図4-3 新しいリコンシリエーション・フィールドの追加

      図4-3の説明は図の下のリンクをクリックしてください。
      「図4-3 新規リコンシリエーション・フィールドの追加」の説明
  11. 次のようにして、プロセス・フォームの新規フィールドに、リコンシリエーション・フィールド・マッピングを作成します。
    1. 「プロセス管理」を開きます。
    2. 「プロセス定義」をダブルクリックします。
    3. 「プロセス定義」表から、UNIXユーザー・リソース・オブジェクトを検索して開きます。
    4. 「Reconciliation Field Mappings」「Add Field Map」をクリックします
    5. 「Field Name」フィールドで、追加するフィールドの値を選択します。たとえば、GIDを選択します
    6. 「Field Type」フィールドで、事前移入されているフィールドのタイプを選択します。
    7. プロセス・データ・フィールド・フィールドをダブルクリックします。

      プロセス・データ列のリストが表示されます。リストから、プロセス・データ・フィールドに対応するプロセス・データ列を選択します。

      たとえば、GID [Number] = UD_UNIX_GIDを選択します

    8. 保存アイコンをクリックします。

      図4-4はリコンシリエーション・フィールド・マッピングのサンプルのスクリーンショットです。

      図4-4 リコンシリエーション・フィールド・マッピングの追加

      図4-4の説明が続きます
      「図4-4 リコンシリエーション・フィールド・マッピングの追加」の説明
  12. 「リソース・オブジェクト」フォームで、リコンシリエーション・プロファイルの作成をクリックします
  13. リコンシリエーションを実行して、GID属性を検証します。

    コネクタのログにGIDを表示できる必要があります。リコンシリエーション・イベントに表示されることを確認します。

  14. Oracle Identity Managerリリース11.1.2.x以降を使用している場合は、新しいUIフォームを作成してこれをアプリケーション・インスタンスに添付し、この新しい属性を表示します。手順は、「新規UIフォームの作成」および「新規フォームによる既存アプリケーション・インスタンスの更新」を参照してください。

4.4 プロビジョニング用のカスタム属性の追加

コネクタでは、Oracle Identity Managerとターゲット・システム間のプロビジョニング用に属性マッピングのデフォルト・セットが提供されています。必要な場合には、プロビジョニング用に新規ユーザーまたはグループ属性を追加できます。

ノート:

この項では、属性という用語はユーザー・データを格納するIDデータ・フィールドを指します。

デフォルトでは「ターゲット・リソース・リコンシリエーションおよびプロビジョニング用のユーザー属性」で示した属性が、Oracle Identity Managerとターゲット・システム間のプロビジョニング用にマップされます。必要に応じて、次の追加属性をプロビジョニング用にマップできます。

  1. Oracle Identity Manager Design Consoleにログインします。
  2. 次のようにして、新しいバージョンのプロセス・フォームを作成します。
    1. 「開発ツール」を開きます。
    2. 「フォーム・デザイナ」をダブルクリックします。
    3. UD_UNIXプロセス・フォームを検索し、開きます。
    4. 「新しいバージョンの作成」をクリックします。

      新規バージョンの作成ダイアログ・ボックスで、「ラベル」フィールドに新しいバージョンを入力し、保存アイコンをクリックします。

  3. 次のようにして、プロセス・フォームに新しいフィールドを追加します。
    1. 「追加」をクリックします。

      リストにフィールドが追加されます。フィールドの詳細を入力します。

      たとえば、GIDフィールドを追加する場合は、「名前」フィールドにUD_UNIX_GIDと入力してから、このフィールドのその他の詳細を入力します。

    2. 「保存」をクリックします。
    3. 新規作成したフォームをアクティブ化するには、バージョンのアクティブ化をクリックします

      図4-5はプロセス・フォームの新規バージョンのサンプルのスクリーンショットです。

      図4-5 プロセス・フォームの新しいバージョンの追加

      図4-5の説明が続きます
      「図4-5 プロセス・フォームの新規バージョンの追加」の説明
  4. リコンシリエーションの参照定義で、次のようにして、フィールドのエントリを作成します。
    1. 「管理」を開きます。
    2. 「参照定義」をダブルクリックします。
    3. Lookup.UNIX.UM.ProvAttrMap参照定義を検索して開きます。
    4. 「Add」をクリックし、フィールドのコード・キー値とデコード値を入力します。

      コード・キー値は、フォーム・フィールド名にする必要があります。デコードの値は、シェル・スクリプトのこの属性に使用される名前にする必要があります。

      たとえば、コード・キー・フィールドにGIDを入力し、「デコード」フィールドに_GID_を入力します。

    5. 保存アイコンをクリックします。

      図4-6はリコンシリエーション参照定義に新たに追加されたエントリのサンプルのスクリーンショットです。

      図4-6 プロビジョニング参照へのエントリの追加

      図4-6の説明が続きます
      「図4-6 プロビジョニング参照へのエントリの追加」の説明
  5. コネクタ・バンドルJARファイルをコピーします。

    OIM_HOME/binディレクトリのDownloadJarsユーティリティを使用してOracle Identity Managerデータベースから、またはインストール・メディアから、バンドルをダウンロードできます。コネクタ・サーバーを使用している場合、CONNECTOR_SERVER_HOME/bundlesディレクトリからバンドルをコピーできます。

  6. JARファイルを抽出してスクリプトを編集します。

    たとえば、Linuxの、プロビジョニングの非sudoユーザー用のスクリプトを抽出するには、次のコマンドを実行します。

    jar xvf org.identityconnectors.genericunix-1.0.0.jar scripts/linux/nonsudo/CreateNativeUser.txt
    

    このスクリプトを使用して、新しく追加した属性で作成操作を有効にします。同様に、UpdateNativeUser.txtスクリプトを編集して更新操作を有効にできます。

  7. 編集のためにスクリプトを開きます。

    ノート:

    スクリプトを編集するにはbashスクリプトを熟知していることが必要です。スクリプトを編集する前に、元のスクリプトのバックアップを作成できます。

    たとえば、次のように(行76から78)、__GID__属性のブロックを他のブロックと同様に作成できます。

        if [ ! -z $__GID__ ] ;then 
            command="$command -g $__GID__";
        fi;

    次のように、unsetで始まる行91にエントリを追加します。

    unset defaultHomeBaseDir homedir checkHomeBaseDir grp defaultPriGroup __GID__;

    関連項目:

    元と更新後のCreateNativeUser.txtスクリプトについては、「プロビジョニング用のデフォルト属性の更新のサンプル・スクリプト」を参照してください

  8. 次のように、スクリプトを保存してバンドルを更新します。
    jar uvf org.identityconnectors.genericunix-1.0.0.jar scripts/linux/nonsudo/CreateNativeUser.txt
    
  9. OIM_HOME/binディレクトリのUpdateJarsユーティリティを使用して、古いバンドルを置き換えます。

    コネクタ・サーバーを使用している場合は停止します。次に、CONNECTOR_SERVER_HOME/bundlesディレクトリ内のJARを置き換えて、コネクタ・サーバーを再起動します。

  10. Oracle Identity Managerリリース11.1.2.x以降を使用している場合は、新しいUIフォームを作成してこれをアプリケーション・インスタンスに添付し、この新しい属性を表示します。手順は、「新規UIフォームの作成」および「新規フォームによる既存アプリケーション・インスタンスの更新」を参照してください。

4.5 リコンシリエーションおよびプロビジョニング中のデータ検証の構成

要件に応じて、リコンサイルおよびプロビジョニングされた単一値データの検証を構成できます。 

Lookup.UNIX.UM.ProvValidationおよびLookup.UNIX.UM.ReconValidation参照定義は、それぞれ、プロビジョニングおよびリコンシリエーション操作中に検証される単一値データを保持します。

たとえば、「名」属性からフェッチしたデータを検証して、そのデータに番号記号(#)が含まれていないことを確認します。また、プロセス・フォームの「名」フィールドに入力したデータを検証して、プロビジョニング操作中にターゲット・システムに番号記号(#)が送信されないようにします。

ノート:

Lookup.UNIX.UM.ProvValidationおよびLookup.UNIX.UM.ReconValidation参照定義はオプションで、デフォルトでは存在しません。

これらの参照をデコード値としてLookup.UNIX.UM.Configuration参照定義に追加して、プロビジョニングおよびリコンシリエーション操作中に除外を有効にする必要があります。詳細は、「Lookup.UNIX.UM.Configuration」を参照してください。

データの検証を構成するには:

  1. org.identityconnectors.genericunix.extension.UNIXValidatorなどの完全修飾ドメイン名(FQDN)を持つJavaクラスで必須の検証ロジックを実装するコードを記述します。

    この検証クラスには、検証メソッドを実装する必要があります。次のサンプル検証クラスは、「名」属性の値に番号記号(#)が含まれるかどうかを確認します。

    package com.validationexample;
    
    import java.util.HashMap;
     
    public class MyValidator {
        public boolean validate(HashMap hmUserDetails, HashMap hmEntitlementDetails, String sField) throws ConnectorException {
     
            /* You must write code to validate attributes. Parent
                     * data values can be fetched by using hmUserDetails.get(field)
                     * For child data values, loop through the
                     * ArrayList/Vector fetched by hmEntitlementDetails.get("Child Table")
                     * Depending on the outcome of the validation operation,
                     * the code must return true or false.
                     */
            /*
            * In this sample code, the value "false" is returned if the field
            * contains the number sign (#). Otherwise, the value "true" is
            * returned.
            */
            boolean valid = true;
            String sFirstName = (String) hmUserDetails.get(sField);
            for (int i = 0; i < sFirstName.length(); i++) {
                if (sFirstName.charAt(i) == '#') {
                    valid = false;
                    break;
                }
            }
            return valid;
     
        }
    }
    
  2. Design Consoleにログインします。
  3. 次のいずれかの新しい参照定義を作成します。
    • リコンシリエーション用のデータの検証を構成するには:

      Lookup.UNIX.UM.ReconValidation

    • プロビジョニング用のデータの検証を構成するには:

      Lookup.UNIX.UM.ProvValidation

  4. コード・キー列で、検証するリソース・オブジェクト・フィールド名を入力します。たとえば、SimpleDisplayNameです。
  5. デコード列で、クラス名を入力します。たとえば、org.identityconnectors.genericunix.extension.UNIXValidatorです。
  6. 参照定義に変更を保存します。
  7. Lookup.UNIX.UM.Configuration参照定義を検索して開きます。
  8. コード・キー列で、次のエントリのいずれかを入力します。
    • リコンシリエーション用のデータの検証を構成するには:

      Recon Validation Lookup

    • プロビジョニング用のデータの検証を構成するには:

      Provisioning Validation Lookup

  9. 「Decode」列で、次のエントリのいずれかを入力します。
    • リコンシリエーション用のデータの検証を構成するには:

      Lookup.UNIX.UM.ReconValidation

    • プロビジョニング用のデータの検証を構成するには:

      Lookup.UNIX.UM.ProvValidation

  10. 参照定義に変更を保存します。
  11. クラスを使用してJARを作成し、次のようにOracle Identity Managerデータベースにアップロードします。

    Oracle Identity Manager JARアップロード・ユーティリティを実行して、ステップ7で作成したJARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/UploadJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/UploadJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として1を選択します。

  12. PurgeCacheユーティリティを実行して、サーバー・キャッシュからのデータセットのリクエストに関連するコンテンツをクリアします。
  13. リコンシリエーションまたはプロビジョニングを実行して、SimpleDisplayNameなどのフィールドの検証を確認します。

4.6 ユーザー・リコンシリエーション中のデータ変換の構成

要件に応じて、リコンサイルしたデータの変換を構成することができます。

Lookup.UNIX.UM.ReconTransformation参照定義は、リコンシリエーション操作中に変換される単一値のユーザー・データを保持します。たとえば、「名」および「姓」値を使用して、Oracle Identity Managerの「氏名」フィールドの値を作成できます。

ノート:

Lookup.UNIX.UM.ReconTransformation参照定義は、オプションでデフォルトでは存在しません。

この参照をデコード値としてLookup.UNIX.UM.Configuration参照定義に追加して、プロビジョニングおよびリコンシリエーション操作中に除外を有効にする必要があります。詳細は、「Lookup.UNIX.UM.Configuration」を参照してください。

リコンシリエーション中にフェッチした単一値のユーザー・データの変換を構成するには:

  1. org.identityconnectors.genericunix.extension.UNIXTransformationなどの完全修飾ドメイン名(FQDN)を持つJavaクラスで必須の変換ロジックを実装するコードを記述します。

    この変換クラスは、変換メソッドを実装する必要があります。次のサンプル変換クラスは、ターゲット・システムの「名」および「姓」属性からフェッチした値を使用して、「氏名」属性の値を作成します。

    package com.transformationexample;
    
    import java.util.HashMap;
     
     
    public class MyTransformer {
        public Object transform(HashMap hmUserDetails, HashMap hmEntitlementDetails, String sField) throws ConnectorException {
            /*
            * You must write code to transform the attributes.
            * Parent data attribute values can be fetched by
            * using hmUserDetails.get("Field Name").
            * To fetch child data values, loop through the
            * ArrayList/Vector fetched by hmEntitlementDetails.get("Child          Table")
            * Return the transformed attribute.
            */
            String sFirstName = (String) hmUserDetails.get("First Name");
            String sLastName = (String) hmUserDetails.get("Last Name");
            return sFirstName + "." + sLastName;
     
        }
    }
    
  2. Design Consoleにログインします。
  3. 新しい参照定義Lookup.UNIX.UM.ReconTransformation を作成します。
  4. コード・キー列に、変換するリソース・オブジェクト・フィールド名を入力します。たとえば、SimpleDisplayNameです。
  5. デコード列で、クラス名を入力します。たとえば、org.identityconnectors.genericunix.extension.UNIXTransformationです。
  6. 参照定義に変更を保存します。
  7. Lookup.UNIX.UM.Configuration参照定義を検索して開きます。
  8. コード・キー列に、リコンシリエーション変換参照を入力します。
  9. デコード列に、Lookup.UNIX.UM.ReconTransformationと入力します。
  10. 参照定義に変更を保存します。
  11. クラスを使用してJARを作成し、次のようにOracle Identity Managerデータベースにアップロードします。

    Oracle Identity Manager JARアップロード・ユーティリティを実行して、ステップ7で作成したJARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

    このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME環境変数が設定されていることを確認してください。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/UploadJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/UploadJars.sh

    ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として1を選択します。

  12. PurgeCacheユーティリティを実行して、サーバー・キャッシュからのデータセットのリクエストに関連するコンテンツをクリアします。
  13. リコンシリエーションを実行して、SimpleDisplayNameなどのフィールドの変換を検証します。

4.7 リソース除外リストの構成

Lookup.UNIX.UM.ProvExclusionListおよびLookup.UNIX.UM.ReconExclusionList参照定義は、それぞれ、プロビジョニングおよびリコンシリエーション操作を実行しないターゲット・システム・アカウントのユーザーIDを保持します。

ノート:

Lookup.UNIX.UM.ProvExclusionListおよびLookup.UNIX.UM.ReconExclusionList参照定義はオプションで、デフォルトでは存在しません。

これらの参照をデコード値としてLookup.UNIX.UM.Configuration参照定義に追加して、プロビジョニングおよびリコンシリエーション操作中に除外を有効にする必要があります。詳細は、「Lookup.UNIX.UM.Configuration」を参照してください。

これらの参照に格納されている値の形式は次のとおりです。

コード・キー デコード サンプル値

「ユーザー・ログイン」リソース・オブジェクト・フィールド名

ユーザーのUser ID

コード・キー: ユーザー・ログイン

デコード: User001

[PATTERN]接尾辞を持つ「ユーザー・ログイン」リソース・オブジェクト・フィールド名

java.util.regex.Patternクラスの表現によってサポートされる正規表現

コード・キー: ユーザー・ログイン[PATTERN]

ユーザーID User001、User002、User088のいずれかに一致するユーザーを除外するには:

デコード: User001|User002|User088

ユーザーIDが00012で始まるユーザーを除外するには:

デコード: 00012*

関連項目: サポートされるパターンの詳細は、http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.htmlを参照してください

プロビジョニング操作中に除外する参照にエントリを追加するには:

  1. Design Consoleで、「Administration」を開き、「Lookup Definition」をダブルクリックします。
  2. 新しい参照定義Lookup.UNIX.UM.ProvExclusionListを作成します。

    ノート:

    リコンシリエーション操作中に除外するユーザーIDを指定するには、Lookup.UNIX.UM.ReconExclusionListという新しい参照定義を作成して、その参照にエントリを追加します。

  3. 「追加」をクリックします。
  4. コード・キーおよびデコード列に、除外する1つ目のユーザーIDを入力します。

    ノート:

    「Code Key」はプロビジョニング操作中に適用される除外リストのリソース・オブジェクト・フィールド名を表します。

  5. 除外する残りのユーザーIDにステップ3および4を繰り返します。

    たとえば、ユーザーIDがUser001、User002およびUser088のユーザーをプロビジョニングしない場合、参照定義に次の値を移入します。

    コード・キー デコード

    ユーザー・ログイン

    User001

    ユーザー・ログイン

    User002

    ユーザー・ログイン

    User088

    また、パターン一致を実行して、ユーザー・アカウントを除外することもできます。java.util.regex.Patternクラスの表現によってサポートされる正規表現を指定できます。

    関連項目:

    サポートされるパターンの詳細は、http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.htmlを参照してください。

    たとえば、ユーザーIDがUser001、User002およびUser088に一致するユーザーをプロビジョニングしない場合、参照定義に次の値を移入します。

    コード・キー デコード

    ユーザー・ログイン[PATTERN]

    User001|User002|User088

    ユーザーIDが00012から始まるユーザーをプロビジョニングしない場合は、次の値で参照定義を移入します。

    コード・キー デコード

    ユーザー・ログイン[PATTERN]

    00012*

  6. 保存アイコンをクリックします。