Database Application Tablesコネクタのインストールおよび構成

DBATコネクタをデプロイする手順は、インストール前、インストール、およびインストール後の3つのステージに分けることができます。

コネクタをインストールして構成する手順は、次のステージに分けることができます。

DBATコネクタのインストールの前提条件

DBATコネクタの前提条件には、ターゲット・システムのユーザー・アカウントの作成およびデータベースの構成があります。

ターゲット・システムで次のインストール前の手順を実行します。

コネクタ操作のためのターゲット・システムのユーザー・アカウントの作成について

Oracle Identity Managerはユーザー・アカウントを使用し、ターゲット・システムからのデータのプロビジョニングとリコンサイルを実行します。このコネクタに対して動作保証されているすべてのターゲットに対し、ターゲット・システムのユーザー・アカウントに割り当てられる最小限の権限を次に示します。

  • リコンシエーション用: ユーザー・アカウントに、このコネクタにより管理される必要のある表でSelect文を実行する権限が必要です。

  • プロビジョニング用: ユーザー・アカウントに、このコネクタにより管理される必要のある表で選択、挿入、更新および削除操作を実行する権限が必要です。

  • コネクタでカスタム・ストアド・プロシージャを使用してコネクタ操作を実行するように構成する場合、ユーザー・アカウントに、関連するストアド・プロシージャの実行権限が必要です。

コネクタ操作の実行に必要なこれらの権限を持つターゲット・システムのユーザー・アカウントを作成する手順については、ターゲット・システムのドキュメントを参照してください。

IBM z/OSで実行するIBM DB2の構成について

プロビジョニング操作時に、コネクタはJavaストアド・プロシージャを実行し、ターゲット・システムで必要なアクションを実行します。IBM DB2インストールがIBM z/OSで実行している場合、WLMをこれらのストアド・プロシージャの実行を有効にするように構成する必要があります。WLMの構成の詳細は、IBM z/OSのドキュメントを参照してください。

Oracle Databaseの構成について

ノート:

この手順はオプションです。自動増分主キーが必要な場合にのみ、このプロシージャをOracleデータベースで実行します。

Oracleデータベース表の作成後はいつでも、そのデータベース表に対して自動増分主キー列を設定できます。自動増分主キーを設定するには、シーケンスを作成し、その後、新しいレコードの親表への挿入中に、主キー・フィールドに一意の自動生成番号を挿入するトリガーを作成します。使用できるトリガーを次に示します。

CREATE OR REPLACE TRIGGER trigger_name
BEFORE INSERT ON table_name FOR EACH ROW
BEGIN
SELECT sequence_name.nextval INTO :new.primaty_Key_column_name FROM DUAL;
END;

DBATコネクタのインストールの概要

このコネクタ・コードは、Oracle Identity Managerでローカルに実行することも、コネクタ・サーバーでリモートで実行することもできます。

生成されたコネクタを実行する場所に応じて、コネクタのインストール・オプションは次のようになります。

Oracle Identity Managerへのコネクタのインストール

このシナリオでは、コネクタ・インストーラを使用してコネクタをOracle Identity Managerにインストールします。

ノート:

  • このガイドでは、コネクタ・インストーラという用語は、Oracle Identity Manager管理およびユーザー・コンソールのコネクタ・インストーラ機能を示すために使用されます。

  • コネクタのこのバージョンが以前インストールされていて、ライブラリを追加する必要のある別のターゲット・システムにインストールする場合は、次のようにします。

    1. JARダウンロード・ユーティリティを使用して、コネクタ・バンドルJARファイルをOracle Identity Managerデータベースにダウンロードします。

    2. JARファイルのコンテンツを抽出し、ターゲット・システム用のJDBCドライバをlibディレクトリにコピーします。ターゲット・システム用のJDBCドライバを決定するには、表1-1の「JDBCドライバ」行を参照してください。

    3. JARアップロード・ユーティリティを実行して、JARファイルをOracle Identity Managerデータベースにアップロードします。

    4. PurgeCacheユーティリティを実行して、コネクタ・バンドルJARに関連するコンテンツをサーバー・キャッシュからクリアします。PurgeCacheユーティリティの実行の詳細は、サーバー・キャッシュからのコネクタ・リソース・バンドル関連コンテンツの消去を参照してください。

コネクタ・インストーラを実行して、コネクタ・パッケージ(DBATジェネレータの実行後に生成される)をインストールする必要があります。これを行うには、次のようにします。

  1. 解凍したコネクタ・パッケージ(「スキーマの検出とコネクタの生成」で生成)を次のディレクトリにコピーします。

    OIM_HOME/server/ConnectorDefaultDirectory

  2. OIM_HOME/ConnectorDefaultDirectory/targetsystems-libにインストーラ・パッケージと同じ名前のディレクトリを作成します。次に例を示します。

    OIM_HOME/server/ConnectorDefaultDirectory/targetsystems-lib/dbat-11.1.1.6.0

    JDBCドライバをこのディレクトリにコピーします。ターゲット・システムに対応するJDBCドライバを確認するには、表1-1を参照してください。

    ノート:

    • Oracle DatabaseまたはOracle RACをターゲット・システムとして使用している場合、JDBCドライバは必要ありません。このステップは省略して、次のステップに進むことができます。

    • コネクタのインストール中、OIM_HOME/server/ConnectorDefaultDirectory/targetsystems-lib/dbat-11.1.1.6.0ディレクトリにあるすべてのJDBCドライバは、Oracle Identity Managerデータベースにロードされてから、Database Application Tablesコネクタに登録されます。

      なんらかの理由でこのステップがスキップされた場合、JDBCドライバをコネクタのJARファイルのlibディレクトリに手動でコピーし、Oracle Identity ManagerのJARアップロード・ユーティリティを実行して、コネクタのJARファイルをOracle Identity Managerデータベースにポストする必要があります。JARアップロード・ユーティリティの実行の詳細は、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのJARおよびリソース・バンドルの移行に関する項を参照してください。

  3. Oracle Identity System Administrationにログインします。

  4. 「コネクタの管理」ページで「インストール」をクリックします。

  5. 「コネクタ・リスト」で、コネクタ・パッケージ(DBATジェネレータの実行後に生成される)の名前を選択します。このリストには、ステップ1でインストール・ファイルをデフォルト・コネクタ・インストール・ディレクトリにコピーしたコネクタの、名前およびリリース番号が表示されます。

    インストール・ファイルを異なるディレクトリにコピーした場合は、次のようにします。

    1. 「代替ディレクトリ」フィールドに、該当するディレクトリのフルパスおよび名前を入力します。

    2. 「リフレッシュ」をクリックして、「コネクタ・リスト」に含まれるコネクタのリストを再移入します。

    3. 「コネクタ・リスト」で、コネクタ・パッケージの名前を選択します。

  6. 「ロード」をクリックします。

  7. 「続行」をクリックして、インストール処理を開始します。

    次のタスクが順番に実行されます。

    1. コネクタ・ライブラリの構成

    2. コネクタのXMLファイルをインポートします(デプロイメント・マネージャを使用)。

    3. アダプタ定義のコンパイル

    正常に完了したタスクには、チェックマークが表示されます。タスクが失敗すると、Xマークおよび失敗の理由を示すメッセージが表示されます。失敗の理由に応じて必要な修正を行い、次のいずれかのステップを実行します。

    • 「再試行」をクリックして、インストールを再試行します。

    • インストールを取り消して、ステップ1からやりなおします。

    コネクタのインストール手順の3つのタスクがすべて正常に終了すると、インストールの成功を示すメッセージが表示されます。

コネクタ・インストーラを実行するときに、構成ディレクトリにあるDBAT-CI.xmlファイルのスクリプトを処理します。このファイルは表C-1にリストされています。

コネクタ・サーバーへのコネクタ・バンドルのデプロイについて

Database Application Tablesコネクタは、Oracle Identity Managerにローカルにデプロイすることも、コネクタ・サーバーにリモートにデプロイすることもできます。コネクタ・サーバーは、Database Application Tablesコネクタなどのアイデンティティ・コネクタのリモート実行を可能にする別個のアプリケーションです。コネクタ・サーバーでコネクタを実行すると、コネクタ・サーバーで定義した方法で、プロビジョニングおよびリコンシエーション・リクエストがファイアウォールを通過することができます。

コネクタ・サーバーにコネクタ・バンドルをデプロイする手順は、次のステージに分かれています。

コネクタ・サーバーのインストールおよび構成

コネクタ・サーバーは、次の2つの実装で使用できます。

  • .Net実装として、.Net Frameworkで実装されているアイデンティティ・コネクタによって使用されます。

  • Javaベースのアイデンティティ・コネクタにより使用されるJavaコネクタ・サーバー実装

Database Application TablesコネクタはJavaで実装されるため、このコネクタをJavaコネクタ・サーバーにデプロイできます。

Javaコネクタ・サーバーをインストールおよび構成するには、次のステップを実行します。

ノート:

Javaコネクタ・サーバーをデプロイする前に必ず、Javaコネクタ・サーバーをインストールするコンピュータと同じコンピュータにJDKまたはJREをインストールし、JAVA_HOMEまたはJRE_HOME環境変数がこのインストールを指し示していることを確認してください。

  1. Javaコネクタ・サーバーをインストールするコンピュータに新しいディレクトリを作成します。

    ノート:

    この項では、このディレクトリをCONNECTOR_SERVER_HOMEとしています。

  2. ステップ1で作成した新しいディレクトリにJavaコネクタ・サーバー・パッケージを解凍します。Javaコネクタ・サーバー・パッケージは、Oracle Technology Networkからダウンロードできます。
  3. confディレクトリにあるConnectorServer.propertiesファイルを開きます。ConnectorServer.propertiesファイルで、デプロイメントで必要になる次のプロパティを設定します。
    プロパティ 説明

    connectorserver.port

    Javaコネクタ・サーバーがリクエストをリスニングするポート。デフォルトは8759です。

    connectorserver.bundleDir

    コネクタ・バンドルがデプロイされるディレクトリ。デフォルトはbundlesです。

    connectorserver.libDir

    依存ライブラリを配置するディレクトリ。

    デフォルトはlibです。

    connectorserver.usessl

    trueに設定すると、Javaコネクタ・サーバーでSSLを使用してセキュアな通信が実現されます。デフォルトはfalseです。

    trueを指定する場合は、Javaコネクタ・サーバーの起動時にコマンド行で次のオプションを使用します:

    • -Djavax.net.ssl.keyStore

    • -Djavax.net.ssl.keyStoreType (オプション)

    • -Djavax.net.ssl.keyStorePassword

    connectorserver.ifaddress

    バインド・アドレス。このプロパティを設定するには、(必要に応じて)ファイル内でこれを非コメント化します。バインド・アドレスは、コンピュータにその他のNICが取り付けられている場合に役立ちます。

    connectorserver.key

    Javaコネクタ・サーバー・キー。

  4. ConnectorServer.propertiesファイル内のプロパティを次のように設定します。
    • connectorserver.keyを設定するには、/setKeyオプションを指定してJavaコネクタ・サーバーを実行します。

      ノート:

      Javaコネクタ・サーバーの実行の詳細は、「コネクタ・サーバーの実行」を参照してください。

    • その他すべてのプロパティについては、ConnectorServer.propertiesファイルを手動で編集します。

  5. confディレクトリにはlogging.propertiesファイルもあり、デプロイメントで必要になる場合は編集できます。

    ノート:

    Oracle Identity Managerにはコネクタ・サーバーのサポートは組み込まれていないため、構成をテストすることはできません。

  6. コネクタ・バンドル(インストール・メディアのbundle/org.identityconnectors.databasetable-1.2.2ファイル)をコネクタ・サーバーの/bundleディレクトリにコピーします。インストール・メディアのコネクタ・バンドルおよび他のファイルの詳細は、表C-1を参照してください。
  7. 使用しているターゲット・システムのJDBCドライバをコネクタ・サーバーの/libディレクトリにコピーします。ターゲット・システムに関連するJDBCドライバの詳細は、表1-1を参照してください。

コネクタ・サーバーの実行

Microsoft Windows、Solaris、LinuxでJavaコネクタ・サーバーを実行するには、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのJavaコネクタ・サーバーの使用に関する項を参照してください。

コネクタ・サーバーへのコネクタのインストール

Javaコネクタ・サーバーにコネクタをインストールするには、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のコネクタ・サーバーへのコネクタのインストールに関する項を参照してください。

インストール後の作業

ここでは、DBATコネクタのインストール後に実行する必要があるタスクについて説明します。

この項では、次のインストール後の手順について説明します。

ターゲット・システムのITリソースの構成

ターゲット・システムのITリソースには、ターゲット・システムに関する接続情報が含まれます。Oracle Identity Managerでは、プロビジョニングおよびリコンシリエーション時にこの情報を使用します。

DBATジェネレータを実行すると、このコネクタに対応するITリソースがOracle Identity Managerで自動的に作成されます。次のようにして、このITリソースのパラメータの値を指定する必要があります。

  1. Oracle Identity System Administrationにログインします。
  2. 左側のペインの「構成」で、「ITリソース」をクリックします。
  3. 「ITリソースの管理」ページの「リソース名」フィールドにITリソースの名前を入力し、「検索」をクリックします。ITリソースの名前は、DBATConfiguration.groovyファイルのitResourceNameプロパティの値です。
  4. ITリソースの編集アイコンをクリックします。
  5. ページ上部のリストから、「詳細およびパラメータ」を選択します。
  6. ITリソースのパラメータの値を指定します。表3-1に、各パラメータの説明を示します。

    ノート:

    表3-1で説明されているITリソースのパラメータ(Passwordを除く)には、「Groovyファイルの構成の概要」で説明されている手順の実行中に指定した、対応するプロパティの値が事前に移入されます。「Password」ITリソース・パラメータの値は、指定する必要があります。その他のITリソースのパラメータに対しては、既存の値を検証したり、必要な場合は変更できます。

    表3-1 ITリソースのパラメータ

    パラメータ 説明

    jdbcDriver

    JDBCドライバのクラス名。

    jdbcUrlTemplate

    ターゲット・データベースのJDBC URLテンプレート。

    指定する値は、使用しているデータベース製品によって異なります。詳細は、「jdbcUrlTemplateプロパティの値の決定」を参照してください。

    host

    ターゲット・システムのホストであるコンピュータのホスト名またはIPアドレス。

    サンプル値: myhost

    port

    ターゲット・システム・データベースがリスニングしているポート番号を入力します。

    database

    ターゲット・データベースの名前。

    user

    ターゲット・システムに接続するために、Oracle Identity Managerにより使用されるデータベース・ユーザー・アカウントのユーザーID。

    password

    ターゲット・システムに接続するために、Oracle Identity Managerにより使用されるデータベース・ユーザー・アカウントのパスワード。

    Configuration Lookup

    コネクタ操作で使用されるコネクタ構成エントリ含む参照定義の名前。

    datasource

    データ・ソース・ネーミング・プロパティのデータ・ソース名。

    サンプル値: jdbc/operationsDB

    jndiProperties

    JDBCドライバを使用してターゲット・システムとの接続を確立し、追加の接続プロパティを有効にする、またはJNDIを使用してデータソースを検索するために使用するプロパティ。

    サンプル値: "java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory","java.naming.provider.url=t3://acme.com:15000","java.naming.security.principal=weblogic","java.naming.security.credentials=weblogic1"

    table

    ユーザー・レコードを含む親表またはビューの名前。

    keyColumn

    親表の各行を一意に識別する列の名前。

    passwordColumn

    ターゲット・システムのレコードのパスワードを含む親表の列の名前。これはオプションのパラメータです。

    ノート: このパラメータの値は、ConfigエントリのpasswordColumnプロパティに指定した値と同じです。ITリソースの値は変更できません。passwordColumnプロパティの詳細は、表2-1を参照してください。

    changeLogColumn

    直前の更新に関連する(減少しない)値が保存される列の名前。数値またはタイムスタンプです。

    この列のデータ型は、ターゲット・システムでサポートされるいずれかのデータ型です。ただし、Oracle Databaseを使用している場合は、BLOB、CLOBおよびLONGなどのデータ型はサポートされません。ターゲット・システムでサポートされるデータ型の詳細は、「サポートされるデータ型について」を参照してください。

    この列の値は、ターゲット・システムからリコンサイルされた最新のレコードを判別するために増分リコンシリエーションで使用されます。

    ノート: 増分リコンシエーションを実行する場合、このプロパティに値を指定する必要があります。

    quoting

    ターゲット・システム・データベースに最適な列の引用プロパティ(None、Single、Double、BackまたはBracketsなど)。

    データベースのアクセス時に生成されたSQLで、列名は一重引用符、二重引用符、バッククォートまたは大カッコなどの間に表示されます。

    enableEmptyString

    NULL値のかわりに空の文字列の書込みをサポートさせる場合、trueに設定します。

    NULL値として空の文字列が書き込まれる必要がある場合、falseに設定します。

    ノート: このプロパティは必須の文字列属性にのみ適用できます。

    rethrowAllSQLExceptions

    ゼロ(0x00)エラー・コードでのSQL例外を成功とみなす必要がある場合、falseに設定します。つまり、ゼロ・エラー・コードでのSQL例外は検出され、SQL文により抑制されます。それ以外の場合は、trueに設定します。

    nativeTimestamps

    このプロパティの値をfalseに設定した場合、タイムスタンプ・データは文字列として読み取られ、これはミリ秒単位の時間の損失となる可能性があります。

    このプロパティの値をtrueに設定した場合、タイムスタンプ・データはjava.sql.Timestampタイプとして取得され、コネクタにより変換が実行されます。

    allNative

    このプロパティの値をfalseに設定した場合、属性データはJDBCドライバを使用して文字列に変換されます。

    このプロパティの値をtrueに設定し、適切なJDBCタイプを使用して、強制的にコネクタに変換を実行させます。

    新しい日付形式およびタイムスタンプ形式はこの設定を無効化します。

    validConnectionQuery

    このプロパティに値を指定しない場合、接続は自動コミット・モードに切り替わることにより検証されます。たとえば、次のような問合せは、一部のデータベースに対しより効率的になる可能性があります。

    SELECT 1 FROM DUMMY

    relationTables

    ユーザー・データが、親表および子表に分散している場合の子表の名前のカンマ区切りリスト。

    statusColumn

    ユーザー・レコードのステータスを含むターゲット・システムの列の名前。次の条件の両方がtrueの場合、この属性に値を指定する必要があります。

    - ユーザー・アカウントの有効化またはユーザー・アカウントのプロビジョニング操作の無効化を実行する必要がある。

    - ユーザー・レコードのステータスを含むターゲット・システムの列が存在する。

    customizedQuery

    リコンサイルする必要のある、新しく追加または変更されたレコードのサブセットを指定するSQL問合せ内のWHERE句。WHERE句には他の表またはビューへの関係を含めることができます。

    コネクタ・サーバー

    コネクタ・サーバーのITリソースの名前。

    dateFormat

    ユーザーが日付データの文字列への変換を書式設定できるようにします。

    • 日付データを日付エディタとして処理する場合、このパラメータの値を入力しないでください。

    • 日付データをテキストとして処理する場合、日付形式を入力する必要があります。

    このパラメータの値を指定するとallNativeパラメータが無効化されます。

    日付データを日付エディタまたはテキストとして処理するための構成手順は、「日付形式のためのコネクタの構成」を参照してください。

    enableValue

    ユーザー・レコードが有効状態であることを示すターゲット・システムで使用される値

    disable value

    ユーザー・レコードが無効状態であることを示すターゲット・システムで使用される値

    timestampFormat

    ユーザーがタイムスタンプデータの文字列への変換を書式設定できるようにします。このプロパティを指定するとnativeTimestampsおよびallNativeプロパティが無効化されます。

  7. 「更新」をクリックして、値を保存します。

日付形式のためのコネクタの構成

コネクタでは、日付データを処理する方法を構成できます。日付データは、日付エディタまたはテキストとして処理できます。

日付データを日付エディタとして処理するには:

  1. ITリソースのdateFormatパラメータに値が入力されていないことを確認します。

  2. Design Consoleにログインします。

  3. プロセス・フォームで、日付エディタを示すようにすべての日付パラメータを変更します。

  4. プロセス・フォームのフィールドのデータ型を文字列から日付に変更します。

  5. Lookup.RESOURCE.UM.ProvAttrMap and Lookup.RESOURCE.UM.ReconAttrMap参照定義で、日付フィールドに対応するすべての参照エントリに[DATE]タグを追加します。

  6. リソース・オブジェクトで、リコンシリエーション・データ・フィールド・タイプを「日付」に設定して日付フィールドを更新します。

  7. プロセス定義のリコンシリエーション・フィールド・マッピング・タブで、日付フィールドのフィールド・マッピングを追加します。

  8. リソース・オブジェクトのオブジェクト・リコンシリエーション・タブで、「リコンシリエーション・プロファイルの作成」をクリックして、リソース・オブジェクトに対する変更をMDSにコピーします。

日付データをテキストとして処理するには:

  1. ITリソースのdateFormatパラメータに値が入力されていることを確認します。
  2. Design Consoleにログインします。
  3. Lookup.RESOURCE.UM.ProvAttrMap and Lookup.RESOURCE.UM.ReconAttrMap参照定義で、日付フィールドに対応する参照エントリに[DATE]タグが含まれていないことを確認します。
  4. リソース・オブジェクトで、日付フィールドが文字列データ型であることを確認します。そうなっていない場合、日付フィールドのリコンシリエーション・データ・フィールド・タイプを「文字列」に設定します。
  5. プロセス定義のリコンシリエーション・フィールド・マッピング・タブで、日付フィールドのフィールド・マッピングに日付型ではなく文字列データ型が含まれることを確認します。

自動増分主キーを含むターゲット・システム用のコネクタの構成

ノート:

この項で説明する手順は、次の両方の条件を満たす場合にのみ実行します。

  • ターゲット・システムがターゲット・リソースとして構成されている。

  • ターゲット・システムのキー列が自動増分オプションを指定して構成されている。

自動増分主キーを含むターゲット・システムにコネクタを構成するには、次のステップを実行します。

  • デフォルトで、ターゲット・システムのキー列は、リコンシリエーション・ルールのOIMの「ユーザー・ログイン」フィールドにマップされます。コネクタ操作を実行する前に、リコンシリエーション・ルールを変更して、OIMの「ユーザー・ログイン」フィールドを別のターゲット・システム列にマップできます。

  • 子表のキー列が自動増分オプションを指定して構成されている場合、デザイン・コンソールを使用して、子表のキー・フィールドに対する'required=true'プロパティを削除することで、子フォームを変更します。

  • 事前移入アダプタにキー列のマッピングが含まれている場合、デザイン・コンソールを使用して、事前移入アダプタを無効にするかまたは変更して、コネクタ・キー列を削除します。

Oracle Identity Managerの構成について

ノート:

この項で説明されている手順は、ターゲット・リソース構成モードでコネクタを使用する場合にのみ実行してください。

リコンシリエーションおよびプロビジョニング操作を実行するリソースに対し、UIフォームおよびアプリケーション・インスタンスを作成する必要があります。さらに、権限およびカタログ同期化ジョブを実行する必要があります。これらの手順について、次の各項で説明します。

サンドボックスの作成およびアクティブ化

サンドボックスの作成およびアクティブ化の手順は、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのサンドボックスの管理を参照してください。

UIフォームの新規作成

UIフォームの新規作成の手順は、Oracle Fusion Middleware Oracle Identity Managerの管理のフォームの管理を参照してください。UIフォームを作成するときは、必ずそのフォームを関連付けるDBATコネクタに対応するリソース・オブジェクトを選択します。また、「権限フォームの生成」チェック・ボックスを選択します。

アプリケーション・インスタンスの作成

アプリケーション・インスタンスを作成する手順は、『Oracle Fusion Middleware Oracle Identity Managerの管理』の「アプリケーション・インスタンスの管理」を参照してください。アプリケーション・インスタンスを作成するときは、必ず「UIフォームの新規作成」で作成したフォームを選択します。

アプリケーション・インスタンスを作成したら、それを組織に公開して、アプリケーション・インスタンスのリクエストとそれに続くユーザーへのプロビジョニングを可能にする必要があります。ただし、ベスト・プラクティスとして、アプリケーション・インスタンスを公開する前に次の手順を実行します。

  1. システム管理コンソールで、サンドボックスを非アクティブ化します。
  2. システム管理コンソールからログアウトします。
  3. セルフ・サービス・コンソールにログインし、ステップ1で非アクティブ化したサンドボックスをアクティブ化します。
  4. カタログで、アプリケーション・インスタンスのUI (フォーム・フィールド)をチェックし、正しく表示されていることを確認します。
  5. すべてが正しく表示されている場合にかぎり、アプリケーション・インスタンスを公開します。それ以外の場合、問題を修正してからアプリケーション・インスタンスを公開します。

組織にアプリケーション・インスタンスを公開する手順は、Oracle Fusion Middleware Oracle Identity Managerの管理のアプリケーション・インスタンスに関連付けられた組織の管理を参照してください。

サンドボックスの公開

サンドボックスを公開する前に、ベスト・プラクティスとして次の手順を実行し、このステージまでに行われたすべてのサンドボックスの変更を検証してください(サンドボックスが一度公開されると変更を元に戻すことは難しいため)。

  1. システム管理コンソールで、サンドボックスを非アクティブ化します。
  2. システム管理コンソールからログアウトします。
  3. xelsysadmユーザー資格証明を使用してセルフ・サービス・コンソールにログインし、ステップ1で非アクティブ化したサンドボックスをアクティブ化します。
  4. カタログで、DBATアプリケーション・インスタンス・フォームが正しいフィールドとともに表示されていることを確認します。
  5. サンドボックスを公開します。サンドボックスの公開の手順は、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのサンドボックスの公開を参照してください。

権限および同期カタログの収集

権限の収集とカタログ同期化を行うには:

  1. 参照フィールド同期のスケジュール済ジョブに記載されている、参照フィールド同期のスケジュール済ジョブを実行します。
  2. 権限リスト・スケジュール済ジョブを実行して、子プロセス・フォーム表から権限割当てスキーマを移入します。このスケジュール済ジョブの詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理の事前定義済のスケジュール済タスクを参照してください。
  3. カタログ同期化ジョブ・スケジュール済ジョブを実行します。このスケジュール済ジョブの詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理の事前定義済のスケジュール済タスクを参照してください。

UIフォームにおけるフィールド・ラベルのローカライズ

UIフォームに追加されるフィールド・ラベルをローカライズするには、次のようにします。

  1. ターゲット・システムの列名(管理およびユーザー・コンソールにGUI要素およびメッセージに対するテキスト文字列として表示される)に対するローカライズされたバージョンを含むプロパティ・ファイル(DBAT_ja.propertiesなど)を作成します。

  2. Oracle Enterprise Managerにログインします。

  3. 左側のペインで、「アプリケーションのデプロイ」を開き、oracle.iam.console.identity.sysadmin.earを選択します。

  4. 右側のペインで、「アプリケーションのデプロイ」リストから、「MDS構成」を選択します。

  5. 「MDS構成」ページで、「エクスポート」をクリックして、ローカル・コンピュータにアーカイブを保存します。

  6. アーカイブの内容を抽出し、テキスト・エディタで次のいずれかのファイルを開きます。

    • Oracle Identity Manager 11gリリース2 PS2 (11.1.2.2.0)以降のリリースの場合:

      SAVED_LOCATION\xliffBundles\oracle\iam\ui\runtime\BizEditorBundle_en.xlf

    • Oracle Identity Manager 11gリリース2 PS2 (11.1.2.2.0)より前のリリースの場合:

      SAVED_LOCATION\xliffBundles\oracle\iam\ui\runtime\BizEditorBundle.xlf

  7. BizEditorBundle.xlfファイルを次の方法で編集します。

    1. 次のテキストを検索します。

      <file source-language="en"  
      original="/xliffBundles/oracle/iam/ui/runtime/BizEditorBundle.xlf"
      datatype="x-oracle-adf">
      
    2. 次のテキストで置き換えます。

      <file source-language="en" target-language="LANG_CODE"
      original="/xliffBundles/oracle/iam/ui/runtime/BizEditorBundle.xlf"
      datatype="x-oracle-adf">
      

      このテキストで、LANG_CODEを、フォーム・フィールド・ラベルをローカライズする言語のコードに置き換えます。フォーム・フィールド・ラベルを日本語でローカライズする場合の値の例を次に示します。

      <file source-language="en" target-language="ja"
      original="/xliffBundles/oracle/iam/ui/runtime/BizEditorBundle.xlf"
      datatype="x-oracle-adf">
      
    3. アプリケーション・インスタンスのコードを検索します。このプロシージャは、Database Application Tablesアプリケーション・インスタンス用の編集の例を示しています。元のコードは次のとおりです。

      <trans-unit id="${adfBundle['oracle.adf.businesseditor.model.util.BaseRuntimeResourceBundle']['persdef.sessiondef.oracle.iam.ui.runtime.form.model.user.entity.userEO.UD_ACMEDBAP_APP_DFLT_HOME__c_description']}">
      <source>APP_DFLT_HOME</source>
      <target/>
      </trans-unit>
      <trans-unit id="sessiondef.oracle.iam.ui.runtime.form.model.ACMEFORM.entity.ACMEFORMEO.UD_ACMEDBAP_APP_DFLT_HOME__c_LABEL">
      <source>APP_DFLT_HOME</source>
      <target/>
      </trans-unit>
      
    4. ステップ1で作成したプロパティ・ファイルを開き、global.udf.D_ACMEDBAP_APP_DFLT_HOME=\u4567dなどの属性の値を取得します。

    5. ステップ7.7.cに示されている元のコードを、次のものに置き換えます。

      <trans-unit id="${adfBundle['oracle.adf.businesseditor.model.util.BaseRuntimeResourceBundle']['persdef.sessiondef.oracle.iam.ui.runtime.form.model.user.entity.userEO.UD_ACMEDBAP_APP_DFLT_HOME__c_description']}">
      <source>APP_DFLT_HOME</source>
      <target>\u4567d</target>
      </trans-unit>
      <trans-unit id="sessiondef.oracle.iam.ui.runtime.form.model.ACMEFORM.entity.ACMEFORMEO.UD_ACMEDBAP_APP_DFLT_HOME__c_LABEL">
      <source>APP_DFLT_HOME</source>
      <target>\u4567d</target>
      </trans-unit>
      
    6. プロセス・フォームのすべての属性に対し、ステップ7.7.aから7.7.dを繰り返します。

    7. ファイルをBizEditorBundle_LANG_CODE.xlfとして保存します。このファイル名で、LANG_CODEを、ローカライズする言語のコードに置き換えます。

      サンプル・ファイル名: BizEditorBundle_ja.xlf.

  8. ZIPファイルを再パッケージしてMDSにインポートします。

    関連項目:

    メタデータ・ファイルのエクスポートおよびインポートの詳細は、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』の「カスタマイズのデプロイおよびアンデプロイ」を参照してください

  9. Oracle Identity Managerからログアウトしてから、ログインします。

サーバー・キャッシュからのコネクタ・リソース・バンドル関連コンテンツのクリア

コネクタをデプロイすると、リソース・バンドルがインストール・メディアのresourcesディレクトリからOracle Identity Managerデータベースにコピーされます。connectorResourcesディレクトリに新しいリソース・バンドルを追加したり、既存のリソース・バンドルに変更を加えた場合は、コネクタ・リソース・バンドルに関連するコンテンツをその都度サーバー・キャッシュから消去する必要があります。

サーバー・キャッシュからコネクタ・リソース・バンドル関連コンテンツをクリアするには、Oracle Identity Managerを再起動するか、PurgeCacheユーティリティを実行します。次に、PurgeCacheユーティリティを実行してサーバー・キャッシュをクリアする手順を示します。

  1. コマンド・ウィンドウでOIM_HOME/server/binディレクトリに切り替えます。
  2. 次のいずれかのコマンドを入力します。
    • Microsoft Windowsの場合: PurgeCache.bat All

    • UNIXの場合: PurgeCache.sh All

    プロンプトが表示されたら、SYSTEM ADMINISTRATORSグループに属するアカウントのユーザー名とパスワードを入力します。さらに、次の書式でサービスURLを入力するように求められます。

    t3://OIM_HOST_NAME:OIM_PORT_NUMBER
    

    この書式の意味は次のとおりです。

    • OIM_HOST_NAMEを、Oracle Identity Managerホスト・コンピュータのホスト名またはIPアドレスで置き換えます。

    • OIM_PORT_NUMBERを、Oracle Identity Managerがリスニングしているポートで置き換えます。

    コンテンツ・カテゴリのキャッシュをパージするには、PurgeCacheユーティリティを使用できます。

ロギングの管理

次の各項で、ロギングの管理について説明します。

ログ・レベルの理解

Oracle Identity Managerリリースでは、ロギングにOracle Java Diagnostic Logging (OJDL)を使用します。OJDLはjava.util.Loggerに基づいています。ロギングを行うイベントのタイプを指定するには、ログ・レベルを次のいずれかに設定します。

  • SEVERE.intValue()+100

    このレベルでは、致命的エラーに関する情報のロギングが有効化されます。

  • SEVERE

    このレベルでは、Oracle Identity Managerの実行を続行できる可能性があるエラーに関する情報のロギングが有効化されます。

  • WARNING

    このレベルでは、障害を引き起こす可能性のある状況に関する情報のロギングが有効化されます。

  • INFO

    このレベルでは、アプリケーションの進行状況を示すメッセージのロギングが有効化されます。

  • CONFIG

    このレベルでは、デバッグに役立つ詳細なイベントに関する情報のロギングが有効化されます。

  • FINE、FINER、FINEST

    これらのレベルでは詳細なイベントに関する情報のロギングが有効化され、FINESTではすべてのイベントに関する情報が記録されます。

表3-2に示すように、これらのログ・レベルはODLのメッセージ・タイプとレベルの組合せにマップされます。

表3-2 ログ・レベルおよびODLメッセージ・タイプ: レベルの組合せ

ログ・レベル ODLメッセージ・タイプ:レベル

SEVERE.intValue()+100

INCIDENT_ERROR:1

SEVERE

ERROR:1

WARNING

WARNING:1

INFO

NOTIFICATION:1

CONFIG

NOTIFICATION:16

FINE

TRACE:1

FINER

TRACE:16

FINEST

TRACE:32

OJDLの構成ファイルはlogging.xmlであり、次のパスにあります。

DOMAIN_HOME/config/fmwconfig/servers/OIM_SERVER/logging.xml

ここで、DOMAIN_HOMEOIM_SERVERは、Oracle Identity Managerのインストール時に指定されたドメイン名とサーバー名です。

ロギングの有効化

Oracle WebLogic Serverのロギングを有効化するには、次のようにします。

  1. 次のようにしてlogging.xmlファイルを編集します。

    1. ファイル内に次のブロックを追加します。

      <log_handler name='dbat-handler' level='[LOG_LEVEL]' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
      <property name='logreader:' value='off'/>
           <property name='path' value='[FILE_NAME]'/>
           <property name='format' value='ODL-Text'/>
           <property name='useThreadName' value='true'/>
           <property name='locale' value='en'/>
           <property name='maxFileSize' value='5242880'/>
           <property name='maxLogSize' value='52428800'/>
           <property name='encoding' value='UTF-8'/>
         </log_handler>
      
      <logger name="ORG.IDENTITYCONNECTORS.DATABASETABLE" level="[LOG_LEVEL]" useParentHandlers="false">
           <handler name="dbat-handler"/>
           <handler name="console-handler"/>
         </logger>
      
    2. [LOG_LEVEL]が出現したら両方を必要なODLのメッセージ・タイプとレベルの組合せに置き換えます。表3-2に、サポートされているメッセージ・タイプとレベルの組合せを示します。

      同様に、[FILE_NAME]は、ログ・メッセージを記録するログ・ファイルのフルパスおよび名前で置き換えます。

      次のブロックは、[LOG_LEVEL]および[FILE_NAME]のサンプル値を示しています。

      <log_handler name='dbat-handler' level='NOTIFICATION:1' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
      <property name='logreader:' value='off'/>
           <property name='path' value='/<%OIM_DOMAIN%>/servers/oim_server1/logs/DBATlogs.log'/>
           <property name='format' value='ODL-Text'/>
           <property name='useThreadName' value='true'/>
           <property name='locale' value='en'/>
           <property name='maxFileSize' value='5242880'/>
           <property name='maxLogSize' value='52428800'/>
           <property name='encoding' value='UTF-8'/>
         </log_handler>
       
      <logger name="ORG.IDENTITYCONNECTORS.DATABASETABLE" level="NOTIFICATION:1" useParentHandlers="false">
           <handler name="dbat-handler"/>
           <handler name="console-handler"/>
         </logger>
      

    Oracle Identity Managerをこれらのサンプル値とともに使用すると、このコネクタに対して生成された、ログ・レベルがNOTIFICATION:1レベル以上のすべてのメッセージが、指定したファイルに記録されます。

  2. ファイルを保存して閉じます。

  3. サーバー・ログをファイルにリダイレクトするには、次の環境変数を設定します。

    Microsoft Windowsの場合:

    set WLS_REDIRECT_LOG=FILENAME
     

    UNIXの場合:

    export WLS_REDIRECT_LOG=FILENAME
     

    FILENAMEを、出力のリダイレクト先ファイルの場所と名前に置き換えます。

  4. アプリケーション・サーバーを再起動します。

参照定義の使用

ノート:

この手順はオプションです。この手順は、プロビジョニング操作中に、プロセス・フォームの一部のフィールドに参照定義を入力ソースとして使用する必要がある場合にのみ実行してください。

プロビジョニングにコネクタを構成している場合は、プロセス・フォームに参照フィールドを作成する必要があります。たとえば、プロビジョニング操作中に、参照フィールドから国コード値を選択することが必要な場合があります。デプロイ後、フィールドの入力ソースを指定することで、このフィールドを参照フィールドとして設定できます。

参照定義は入力ソースとして使用できます。たとえば、国コードを含む参照定義を作成し、その参照定義を国フィールドの入力ソースとして設定できます。入力ソースとして参照定義を使用する場合、次のステップを実行します。

関連項目:

次の各ステップの詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のデータセットのフィールドの追加または編集に関する項を参照してください

  1. Design Consoleにログインします。

  2. 入力ソースとして使用する必要のある空の参照定義を作成します。コネクタのインストール後に作成される、Lookup.DBAT.Example参照定義を使用する場合は、このステップをスキップします。

  3. データ・フィールドをテキストから参照フィールドへ変更するようにプロセス・フォームを更新します。これを行うには、次のようにします。

    1. 「Development Tools」を開き、「Form Designer」をダブルクリックします。

    2. リソースをターゲット・システムのユーザー・アカウントにプロビジョニングするために必要な情報を含むプロセス・フォームを検索して開きます。プロセス・フォームの名前は次の形式になります。

      UD_[RESOURCE]_[TABLE_ALIAS]

    3. 「Create New Version」 をクリックします。

      編集用に新しいバージョンのフォームが作成されます。

    4. 追加列タブの、参照フィールドとして設定するデータ・フィールドの行で、「フィールド・タイプ」列の値を「テキスト・フィールド」から「参照フィールド」に変更します。

    5. 「プロパティ」タブで、データ・フィールド(前のステップで「フィールド・タイプ」が「テキスト・フィールド」から「参照フィールド」に変更済)を選択して、「プロパティの追加」をクリックします。

    6. 「プロパティの追加」ダイアログ・ボックスで、次の操作を実行します。

      • 「プロパティ名」リストから、「参照コード」を選択します。

      • 「プロパティ値」フィールドに、入力ソースとして使用する参照定義の名前(ステップ2で使用されたもの)を入力します。

        ノート:

        権限用の参照フィールドを設定する場合、「プロパティ名」リストから、「権限」を選択し、その適切な値をtrueに設定します。

    7. 「保存」アイコンをクリックしてダイアログ・ボックスを閉じます。

    8. プロセス・フォームの「保存」アイコンをクリックします。

    9. 「Make Version Active」をクリックします

    10. 子フォームの新しいバージョンを含む、親フォームの新しいバージョンを作成してアクティブ化します。

  4. フィールドが参照フィールドであることを示す情報を含むように参照エントリを更新します。これを行うには、次のようにします。

    1. 「Administration」を開き、「Lookup Definition」をダブルクリックします。

    2. Lookup.RESOURCE.UM.ProvAttrMap参照定義を検索して開きます。

    3. 参照エントリで、参照フィールドに変更された「Code Key」列のフィールド名を検索し、フィールド名に接尾辞[LOOKUP]を付けます。これは、プロセス・フォーム・フィールドが参照フィールドであることを示します。

    4. 「Save」アイコンをクリックします。

    5. ステップ4.4.bから4.4.dを繰り返し、リコンシリエーション属性マッピングを含む参照定義の対応するコード・キー・エントリに接尾辞[LOOKUP]を付けます。

      ステップ4.4.cの実行中に、Lookup.RESOURCE.UM.ReconAttrMap参照定義を検索して開きます。

これにより参照定義を入力ソースとして設定する手順が完了します。

権限としてのプロセス・フォーム・フィールドの設定

子プロセス・フォーム・フィールドを権限として構成する場合、対応する参照定義にそれを関連付けて、権限プロパティをtrueに設定する必要があります。対応する参照定義が存在しない場合、手動でそれを作成する必要があります。詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理の子プロセス・フォームでの権限属性のマークに関する説明を参照してください。

日付フィールドとしてのプロセス・フォーム・フィールドの構成

デフォルトでは、メタデータの生成後に、すべての日付フィールドがテキスト・フィールドとしてプロセス・フォームに表示されます。これらのフィールドを日付ピッカーとして表示する場合、次のステップを実行する必要があります。

ノート:

この手順で説明した各ステップを実行する詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のステップ3: コネクタ構成の変更に関する項を参照してください。

  1. Design Consoleで、日付ピッカーとして表示するフィールドを含むプロセス・フォームを検索して開きます。
  2. リコンシリエーション・フィールド・マッピング・タブで、文字列として表示されている日付フィールドのフィールド・マッピングを削除します。
  3. 親フォームで、日付ピッカーとして表示するフィールドに対応するエントリを削除します。
  4. 「リソース・オブジェクト」で、リコンシリエーション・フィールド・タイプを「文字列」から「日付」に変更します。
  5. プロセス・フォームのリコンシリエーション・フィールド・マッピング・タブで、日付フィールドにフィールド・マッピングを追加します。

ターゲット・システムとOracle Identity Managerの間のセキュアな通信の構成について

ノート:

この項で説明されている手順を実行し、ターゲット・システムおよびOracle Identity Manager間の通信を保護することをお薦めします。

通信を保護するための手順は、使用しているデータベースにより異なります。

IBM DB2とOracle Identity Managerの間のセキュアな通信の構成

ノート:

  • IBM DB2バージョン9.1 Fix Pack 2以降はSSLでのセキュアな通信をサポートします。

  • IBM DB2とOracle Identity Managerの間のセキュアな通信を構成する前に、IBM Global Security Kit (GSKit)をインストールする必要があります。

    IBM DB2とクライアント・システム間のSSL通信の有効化の詳細は、IBM DB2のドキュメントを参照してください。このコンテキストでは、クライアントはOracle Identity Managerです。

IBM DB2とOracle Identity Managerの間にセキュアな通信を構成するには、次のようにします。

  1. GSKitツールを実行して、証明書ストアを生成します。それには、次のコマンドを実行します。

    IBM DB2バージョン9.5の場合

    GSKCAPICMD -keydb -create -db "KEY_DATABASE_LOCATION" -pw KEY_DATABASE_PASSWORD
    

    IBM DB2バージョン9.5以外の場合

    GSKCAPICMD -keydb -create -db "KEY_DATABASE_LOCATION" -pw KEY_DATABASE_PASSWORD -stash
    

    コマンドでは、次のように置き換えます。

    • GSKCAPICMDは、GSKitツールのフルパスおよび名前に置き換えます。たとえば、64ビットMicrosoft Windowsプラットフォームで実行しているターゲット・システムの場合、GSKCAPICMDは、C:\Program Files (x86)\IBM\GSK8\bin\gsk8capicmd_64.exeに置き換えます。

    • KEY_DATABASE_LOCATIONは、作成するキー・データベースのフルパスおよび名前に置き換えます。

    • KEY_DATABASE_PASSWORDは、キー・データベースのパスワードに置き換えます。

    次に、証明書ストア(db2oim.kdb)を生成するサンプル・コマンドを示します。

    C:\DB2>"\Program Files\IBM\gsk8\bin\gsk8capicmd_64.exe" -keydb -create -db "c:\db2\db2oim.kdb" -pw welcome1 -stash

  2. 次のコマンドを実行して、自己署名付き証明書を生成します。
    GSKCAPICMD -cert -create -db  "KEY_DATABASE_LOCATION" -pw KEY_DATABASE_PASSWORD -label "CERT_LABEL" -dn "DISTINCT_NAME"
    

    コマンドでは、次のように置き換えます。

    • GSKCAPICMDは、GSKitツールのフルパスおよび名前に置き換えます。たとえば、64ビットMicrosoft Windowsプラットフォームで実行しているターゲット・システムの場合、GSKCAPICMDは、C:\Program Files (x86)\IBM\GSK8\bin\gsk8capicmd_64.exeに置き換えます。

    • KEY_DATABASE_LOCATIONは、証明書を格納するキー・データベースのフルパスおよび名前に置き換えます。

    • KEY_DATABASE_PASSWORDは、キー・データベースのパスワードに置き換えます。

    • CERT_LABELは、証明書を一意に識別するために使用されるラベルに置き換えます。

    • DISTINCT_NAMEは、証明書を一意に識別する識別名に置き換えます。

    次に、自己証明付き証明書を生成するサンプル・コマンドを示します。

    C:\DB2>"\Program Files\IBM\gsk8\bin\gsk8capicmd_64.exe" -cert -create -db "c:\db2\db2oim.kdb" -pw welcome1 -label "db2oim" -dn "CN=example.com,O=org,OU=myorg,L=myLocation,ST=CA,C=USA"

  3. 次のコマンドを実行してサーバー証明書をエクスポートします。
    GSKCAPICMD -cert -extract -db "KEY_DATABASE_LOCATION" -pw KEY_DATABASE_PASSWORD -label "CERT_LABEL" -target "LOCATION" -format FORMAT -fips
    

    コマンドでは、次のように置き換えます。

    • GSKCAPICMDは、GSKitツールのフルパスおよび名前に置き換えます。たとえば、64ビットMicrosoft Windowsプラットフォームで実行しているターゲット・システムの場合、GSKCAPICMDは、C:\Program Files (x86)\IBM\GSK8\bin\gsk8capicmd_64.exeに置き換えます。

    • KEY_DATABASE_LOCATIONは、キー・データベースのフルパスおよび名前に置き換えます。

    • KEY_DATABASE_PASSWORDは、キー・データベースのパスワードに置き換えます。

    • CERT_LABELは、抽出される証明書を一意に識別するために使用されるラベルに置き換えます。

    • LOCATIONは、証明書の抽出先のファイルのフルパスおよび名前に置き換えます。

    • FORMATは、証明書の形式であるasciiまたはbinaryに置き換えます。

    次に、サーバー証明書をdb2oim.armにエクスポートするサンプル・コマンドを示します。

    C:\DB2>"\Program Files\IBM\gsk8\bin\gsk8capicmd_64.exe" -cert -extract -db "c:\db2\db2oim.kdb" -pw welcome1 -label "db2oim" -target "c:\db2\db2oim.arm" -format ascii -fips

  4. 次のコマンドを実行して、SSLおよびTCP/IP通信プロトコルの両方が有効なデータベースを構成します。
    db2set.exe DB2COMM=SSL,TCPIP 
    
  5. SSLおよびTCP/IPプロトコルがDB2COMMで有効であることを検証するdb2set.exeを使用してプロトコルをチェックします。

    DB2PROCESSORS=0,1

    DB2INSTPROF=C:\ProgramData\IBM\DB2\DB2COPY1

    DB2COMM=SSL,TCPIP

  6. IBM DB2バージョン9.5を使用している場合、SSLconfig.iniファイルを作成し、SSLパラメータに値を追加および設定します。詳細は、IBM DB2バージョン9.5のドキュメントを参照してください。
  7. IBM DB2バージョン9.7を使用している場合、SSL構成パラメータおよびDB2COMMレジストリを設定します。詳細は、IBM DB2バージョン9.7のドキュメントを参照してください。
  8. db2 GET DATABASE MANAGER CONFIGURATIONコマンドを実行してSSL設定を確認します。
  9. Oracle Identity Managerが実行しているアプリケーション・サーバーのJavaキーストアに証明書をインポートします。

    Javaキーストアに証明書をインポートするには、次のコマンドを実行します。

    keytool -importcert -file FILE_LOCATION -alias ALIAS -storepass STORE_PASSWORD -keystore STORE_LOCATION
    

    このコマンドの次の部分を置き換えます。

    • FILE_LOCATIONは、証明書ファイルのフルパスおよび名前に置き換えます。

    • ALIASは、証明書の別名です。

    • STORE_PASSWORDは、トラストストアのパスワードに置き換えます。

    • STORE_LOCATIONは、いずれかのトラストストアのパスに置き換えます。

    次に、証明書をJavaキーストアにインポートするサンプル・コマンドを示します。

    C:\DB2>keytool -importcert -file db2oim.arm -alias db2oim -storepass changeit -keystore C:\Users\example_user\.keystore
    

    証明書がキーストアにインポートされます。

Microsoft SQL ServerおよびOracle Identity Manager間のセキュアな通信の構成

Microsoft SQL ServerおよびOracle Identity Manager間にセキュアな通信を構成するには、次のようにします。

  1. Microsoft SQL Serverとクライアント・システム間のSSL通信の有効化の詳細は、Microsoft SQL Serverのドキュメントを参照してください。このコンテキストでは、クライアントはOracle Identity Managerです。

    Microsoft SQL Serverのホスト・コンピュータに証明書をエクスポートします。

  2. Oracle Identity Managerのホスト・コンピュータに証明書をコピーします。
  3. Oracle Identity Managerが実行されているアプリケーション・サーバーのJVMトラストストアに証明書をインポートします。

    トラストストアに証明書をインポートするには、次のコマンドを実行します。

    ..\..\bin\keytool -import -file FILE_LOCATION -keystore TRUSTSTORE_LOCATION -storepass TRUSTSTORE_PASSWORD -trustcacerts -alias ALIAS 
    

    コマンドの説明は次のとおりです。

    • FILE_LOCATIONは、証明書ファイルのフルパスおよび名前に置き換えます。

    • ALIASは、証明書の別名に置き換えます。

    • TRUSTSTORE_PASSWORDは、トラストストアのパスワードに置き換えます。

    • TRUSTSTORE_LOCATIONは、次のトラストストア・パスに置き換えます。

      JAVA_HOME/jre/lib/security/cacerts

MySQLとOracle Identity Managerの間のセキュアな通信の構成

MySQLとOracle Identity Managerの間にセキュアな通信を構成するには、次のようにします。

  1. MySQLとクライアント・システム間のSSL通信の有効化の詳細は、MySQLのドキュメントを参照してください。このコンテキストでは、クライアントはOracle Identity Managerです。
  2. MySQLのホスト・コンピュータに証明書をエクスポートします。
  3. 前のステップでエクスポートした証明書を使用して、MySQLデータベース・サービスを再起動します。データベース・サービスの再起動の詳細は、MySQLのドキュメントを参照してください。
  4. ca-cert.pemおよびclient-cert.pem証明書をOracle Identity Managerホスト・コンピュータにコピーします。
  5. Oracle Identity Managerが実行されているアプリケーション・サーバーのJVMトラストストアに証明書をインポートします。

    証明書をトラストストアにインポートするには、証明書ごとに次のコマンドを実行します。

    keytool -import -file FILE_LOCATION -keystore TRUSTSTORE_LOCATION -storepass TRUSTSTORE_PASSWORD -trustcacerts -alias ALIAS 
    

    コマンドの説明は次のとおりです。

    • FILE_LOCATIONは、証明書ファイルのフルパスおよび名前に置き換えます。

    • ALIASは、証明書の別名に置き換えます。

    • TRUSTSTORE_PASSWORDは、トラストストアのパスワードに置き換えます。

    • TRUSTSTORE_LOCATIONは、次のトラストストア・パスに置き換えます。

      JAVA_HOME/jre/lib/security/cacerts

    ノート:

    Oracle Identity Managerクラスタでは、このファイルをクラスタの各ノードのトラストストアにインポートする必要があります。

Oracle DatabaseおよびOracle Identity Manager間のセキュアな通信の構成

Oracle DatabaseおよびOracle Identity Manager間の通信を保護するには、次の手順の一方、または両方を実行します。

Oracle Databaseにおけるデータ暗号化および整合性の構成

データの暗号化および整合性の構成の詳細は、『Oracle Databaseセキュリティ・ガイド』のネットワークのデータ暗号化および整合性の構成に関する項を参照してください。

Oracle DatabaseにおけるSSL通信の構成

Oracle DatabaseおよびOracle Identity Manager間でSSL通信を有効化するには、次のようにします。

ノート:

Oracle DatabaseとOracle Identity Managerの間のSSL通信を有効化する方法の詳細は、『Oracle Databaseセキュリティ・ガイド』のセキュア・ソケット・レイヤーの有効化に関する項を参照してください。

  1. Oracle Databaseのホスト・コンピュータに証明書をエクスポートします。
  2. Oracle Identity Managerに証明書をコピーします。
  3. Oracle Identity Managerが実行されているアプリケーション・サーバーのJVMトラストストアに証明書をインポートします。

    トラストストアに証明書をインポートするには、次のコマンドを実行します。

    keytool -import -file FILE_LOCATION -keystore TRUSTSTORE_LOCATION -storepass TRUSTSTORE_PASSWORD -trustcacerts -alias ALIAS 
    

    コマンドの説明は次のとおりです。

    • FILE_LOCATIONは、証明書ファイルのフルパスおよび名前に置き換えます。

    • ALIASは、証明書の別名に置き換えます。

    • TRUSTSTORE_PASSWORDは、トラストストアのパスワードに置き換えます。

    • TRUSTSTORE_LOCATIONは、次のトラストストア・パスに置き換えます。

      JAVA_HOME/jre/lib/security/cacerts

    ノート:

    Oracle Identity Managerクラスタでは、このファイルをクラスタの各ノードのトラストストアにインポートする必要があります。

Sybase Adaptive Server EnterpriseとOracle Identity Managerの間のセキュアな通信の構成

Sybase Adaptive Server EnterpriseとOracle Identity Manager間のセキュアな通信を構成するには、次のようにします。

  1. Sybase Adaptive Server Enterpriseとクライアント・システム間のSSL通信の有効化の詳細は、Sybase Adaptive Server Enterpriseのドキュメントを参照してください。このコンテキストでは、クライアントはOracle Identity Managerです。

    Sybase Adaptive Server Enterpriseホスト・コンピュータに証明書をエクスポートします。

  2. Oracle Identity Managerのホスト・コンピュータに証明書をコピーします。
  3. Oracle Identity Managerが実行されているアプリケーション・サーバーのJVMトラストストアに証明書をインポートします。

    トラストストアに証明書をインポートするには、次のコマンドを実行します。

    ..\..\bin\keytool -import -file FILE_LOCATION -keystore TRUSTSTORE_LOCATION -storepass TRUSTSTORE_PASSWORD -trustcacerts -alias ALIAS
    

    コマンドの説明は次のとおりです。

    • FILE_LOCATIONは、証明書ファイルのフルパスおよび名前に置き換えます。

    • ALIASは、証明書の別名に置き換えます。

    • TRUSTSTORE_PASSWORDは、トラストストアのパスワードに置き換えます。

    • TRUSTSTORE_LOCATIONは、次のトラストストア・パスに置き換えます。

      JAVA_HOME/jre/lib/security/cacerts

コネクタ・サーバーとOracle Identity Managerの間のセキュアな通信の構成

このコネクタをコネクタ・サーバーにデプロイ済の場合、コネクタ・サーバーとOracle Identity Manager間の通信を保護することをお薦めします。セキュアな通信を構成する手順は、「ターゲット・システムとOracle Identity Managerの間のセキュアな通信の構成について」で説明している手順と同じです。この項で説明する手順を実行する際、ターゲット・システムと同様に、コネクタ・サーバーを別個のシステムとみなすことができます。

セキュアな通信を構成する前に、次のようにします。

  • キーストアへのアクセスに適切な権限を持っているユーザーの下でコネクタ・サーバーが実行していることを確認します。

  • コネクタ・サーバーにキーストアが存在し、アクセスできることを確認します。

  • コネクタ・サーバーのキーストアに必要な証明書が含まれていることを確認します。

  • コネクタ・サーバーのデフォルトのJavaキーストアを使用していない場合、ITリソースのURLまたはjndiPropertiesプロパティ(DBATConfiguration.groovyファイル)のキーストア・パスおよびパスワードを変更し、コネクタ・サーバー上の場所と一致させます。

ストアド・プロシージャおよびGroovyスクリプト用のコネクタの構成

コネクタを使用してリコンシリエーションおよびプロビジョニング操作を実行するときに、コネクタはそれぞれデフォルトのSQL問合せおよびSQL文を実行します。シコンシリエーションまたはプロビジョニング操作を実行するために、デフォルトのSQL文および問合せではなく、コネクタがカスタム・ストアド・プロシージャを使用するようにする場合、この項に示された手順を実行する必要があります。

関連項目:

サンプルのストアド・プロシージャおよびGroovyスクリプトについては、「サンプルのストアド・プロシージャおよびGroovyスクリプト」を参照してください

カスタム・ストアド・プロシージャに対するコネクタを構成するには、次のようにします。

  1. ターゲット・システムで、プロビジョニング操作を実行するために使用する必要のあるストアド・プロシージャを作成します。次に、グループとロールの子データを削除するDELETE SQL文を実行するサンプルのストアド・プロシージャ(Oracle Databaseで作成)を示します。Oracle Database以外のターゲット・システムでは、このサンプル・プロシージャの構文は異なる可能性があります。

    DELETE_USERGROUPのストアド・プロシージャは次のとおりです。

    create or replace PROCEDURE DELETE_USERGROUP
    (  userin IN VARCHAR2, gId IN VARCHAR2
    ) AS
    BEGIN
    DELETE from USER_GROUP where USERID=userin and GROUPID=gId;
    END DELETE_USERGROUP;
    

    DELETE_USERROLEのストアド・プロシージャは次のとおりです。

    create or replace PROCEDURE DELETE_USERROLE
    (  userin IN VARCHAR2, rId IN VARCHAR2
    ) AS
    BEGIN
    DELETE  from USER_ROLE where USERID=userin and ROLEID=rId;
    END DELETE_USERROLE;
    
  2. Oracle Identity Managerのホスト・コンピュータで、プロビジョニング操作を実行するためにターゲット・システムの関連するストアド・プロシージャを呼び出すGroovyスクリプトを作成します。次の引数は、Groovyスクリプトで直接使用できます。

    • connector - Database Application Tablesコネクタ・オブジェクト。

    • conn - JDBC接続。

    • timing - Groovyスクリプトが呼び出されるタイミング。また、timing属性は、実行される操作のタイプも説明します。たとえば、検索操作の場合、検索対象のオブジェクト・クラスも返されます。

      次に、参照フィールド同期のtiming引数の書式を示します。

      executeQuery:OBJECT_CLASS

      この書式で、OBJECT_CLASSは、リコンサイルされるオブジェクトのタイプに置き換えられます。

      たとえば、オブジェクト・タイプ"Role"を含む参照フィールド同期のスケジュール済ジョブの場合、timing引数の値は次のようになります。

      executeQuery:Role

    • attributes - すべての属性。

    • trace - アプリケーションへのスクリプト・トレース・ブリッジとしてのロガー。

    • where - 問合せの実行の条件の文字列、またはnull。

    • handler - 問合せの実行、同期操作またはnullの返却により生成されるコネクタ・オブジェクトのresultSetHandlerまたはSyncResultsHandler。

    • quoting - SQLで使用される表名の引用符のタイプ。デフォルトは、空の文字列です。この引数の値は、ITリソースから取得されます。

    • nativeTimestamps - スクリプトによって、データベース表からjava.sql.Timestampタイプとして列のタイムスタンプ・データを取得するかどうかを指定します。この情報は、ITリソースから取得されます。

    • allNative - スクリプトによって、データベース表からネイティブ形式で列のデータ型を取得するかどうかを指定します。この引数の値は、ITリソースから取得されます。

    • rethrowAllSQLExceptions - この引数の値も、ITリソースから取得されます。この引数の値によって、ゼロ(0x00)のエラー・コードが出現したときに、スクリプトで例外をスローするかどうかを指定します。

    • enableEmptyString - NULL値のかわりに空の文字列の書込みのサポートを有効化するかどうかを指定します。この引数の値は、ITリソースから取得されます。

    • filterString - 問合せの実行の文字列フィルタ条件、またはnull。

    • filterParams - フィルタ・パラメータのリスト。各パラメータは、COLUMN_NAME:VALUEの形式で存在します。たとえば、FIRSTNAME:testです。

    • syncattribute - 増分リコンシリエーション用に構成されたデータベース列の名前。この引数は、増分リコンシリエーションの実行中に呼び出される同期スクリプトで使用できます。

    • synctoken - 同期属性の値。この引数は、同期スクリプトで使用できます。

    次に、ステップ1で作成したDELETE_USERGROUPおよびDELETE_USERROLEストアド・プロシージャを呼び出す、サンプルのGroovyスクリプトを示します。

    import org.identityconnectors.framework.common.objects.*;
    System.out.println("[removeMultiValuedAttributeScript] Removing Child data::"+ attributes);
    
    try {
    childDataEOSet = null;
    delSt = null;
    //Get UID 
    String id = attributes.get("__UID__").getValue().get(0);
    if(attributes.get("USER_GROUP")!=null)
    {
    childDataEOSet=attributes.get("USER_GROUP").getValue();
    //Delete child data using stored procedure
    delSt= conn.prepareCall("{call DELETE_USERGROUP(?,?)}");
        if(childDataEOSet !=null){
    System.out.println("[removeMultiValuedAttributeScript] Removing Group data.");
    //Iterate through child data and delete
    for( iterator = childDataEOSet.iterator(); iterator.hasNext(); )
    {
    eo = iterator.next();
    attrsSet = eo.getAttributes();
    grpattr=AttributeUtil.find("GROUPID",attrsSet);
    if(grpattr!=null){
    groupid=grpattr.getValue().get(0);
    delSt.setString(1, id);
    delSt.setString(2, groupid);
    delSt.executeUpdate();
    System.out.println("[removeMultiValuedAttributeScript] Deleted Group::"+ grpattr);
    } }; } }
    } finally {
    if (delSt != null)
    delSt.close();
    };
    try {
    childDataEOSet = null;
    delSt = null;
    String id      = attributes.get("__UID__").getValue().get(0);
    if(attributes.get("USER_ROLE")!=null)
    {
    childDataEOSet=attributes.get("USER_ROLE").getValue();
    delSt= conn.prepareCall("{call DELETE_USERROLE(?,?)}");
        if(childDataEOSet !=null){
    System.out.println("[removeMultiValuedAttributeScript] Removing Role data.");
    for( iterator = childDataEOSet.iterator(); iterator.hasNext(); )
    {
    eo = iterator.next();
    attrsSet = eo.getAttributes();
    roleattr=AttributeUtil.find("ROLEID",attrsSet);
    if(roleattr!=null){
    rolename=roleattr.getValue().get(0);
    delSt.setString(1, id);
    delSt.setString(2, rolename);
    delSt.executeUpdate();
    System.out.println("[removeMultiValuedAttributeScript] Deleted Role::"+ rolename);
    } }; } }
    } finally {
    if (delSt != null)
    delSt.close();
    };
    
  3. 次のようにGroovyスクリプトの情報を含むように構成参照定義を更新します。

    ノート:

    このステップで説明されている操作は、ストアド・プロシージャ用にコネクタを構成する場合で、かつDBATConfiguration.groovyファイルにcreateScript、executeQueryScript、lookupScriptなどのスクリプト関連プロパティの値を入力していない場合にのみ実行してください。

    1. デザイン・コンソールで、「管理」を開き、「参照定義」をダブルクリックします。

    2. Lookup.Configuration.RESOURCE参照定義を検索して開きます。

    3. 「追加」をクリックします。

    4. 新しく追加された行で、実行するリコンシリエーションまたはプロビジョニング操作に応じて、次の参照エントリのいずれかまたはすべてを追加します。

      表3-3 Groovyスクリプト構成に特有のエントリ

      コード・キー デコード

      createScript[LOADFROMURL]

      ユーザー・アカウントの作成プロビジョニング操作用に作成されたGroovyスクリプトのファイルのURLを入力します。

      updateScript[LOADFROMURL]

      ユーザー・アカウントの更新プロビジョニング操作用に作成されたGroovyスクリプトのファイルのURLを入力します。

      deleteScript[LOADFROMURL]

      ユーザー・アカウントの削除プロビジョニング操作用に作成されたGroovyスクリプトのファイルのURLを入力します。

      executeQueryScript[LOADFROMURL]

      完全およびフィルタ・リコンシリエーション用に作成されたGroovyスクリプトのファイルのURLを入力します。

      lookupScript[LOADFROMURL]

      参照フィールド同期用に作成されたGroovyスクリプトのファイルのURLを入力します。

      syncScript[LOADFROMURL]

      増分リコンシリエーション用に作成されたGroovyスクリプトのファイルのURLを入力します。

      addMultiValuedAttributeScript[LOADFROMURL]

      複数値属性の追加プロビジョニング操作用に作成されたGroovyスクリプトのファイルのURLを入力します。

      removeMultiValuedAttributeScript[LOADFROMURL]

      複数値属性の削除プロビジョニング操作用に作成されたGroovyスクリプトのファイルのURLを入力します。

      ノート:

      GroovyスクリプトのファイルのURLのかわりに、デコード列にGroovyスクリプトを直接入力することもできます。この場合、対応するコード・キー値には[LOADFROMURL]が含まれないようにします。たとえば、ユーザー・アカウントの作成プロビジョニング操作用のGroovyスクリプトを直接入力する場合、対応するコード・キー・エントリはcreateScript[LOADFROMURL]ではなく、createScriptである必要があります。

      次に、removeMultiValuedAttributeScript[LOADFROMURL]エントリのサンプル値を示します。

      file:///home/myname/dbat/scripts/removechilddata.groovy

    5. 「Save」アイコンをクリックします。

  4. 更新の手順中にパスワードをリセットするには、次のようにします。

    1. スクリプト引数"attributes"にパスワード(__PASSWORD__)属性が含まれているかどうか確認します。

      import org.identityconnectors.common.security.GuardedString;
      GuardedString pass = attributes.get("__PASSWORD__")!=null?attributes.get"__PASSWORD__").getValue().get(0):null;
    2. "attributes"に__PASSWORD__属性(Nullではない)が含まれている場合、targetstoreプロシージャ/sql問合せを呼び出してパスワードをリセットします。

      upstmt = conn.prepareStatement("UPDATE PASSWORD....
      if(pass!=null){
             pass.access(new GuardedString.Accessor(){
                 public void access(char[] clearChars){
                     upstmt.setString(1, new String(clearChars));
                 }
             });
      } else {
                //Update other attributes 
      }
           upstmt.executeUpdate(); 
      

これによりプロビジョニング操作用のストアド・プロシージャを使用するようにコネクタを構成する手順が完了します。

DBATコネクタのアップグレード

コネクタをリリース11.1.1.5.0から現在のリリースにアップグレードできます。

リリース11.1.1.5.0のコネクタをこのリリースのコネクタにアップグレードする場合、コネクタ・バンドルJARファイルを更新する必要があります。他の構成手順は不要です。

アーティファクトはスキーマに基づいて動的に生成されるため、すでにインストールされているコネクタをアップグレードする必要はありません。ただし、コネクタによって提供される最新の機能にアップグレードする場合は、JARファイルを更新する必要があります。

ノート:

アップグレード手順を実行する前に、次の手順を実行します。

  • Oracle Identity Managerデータベースのバックアップを作成することを強くお薦めします。バックアップの作成の詳細は、データベースのドキュメントを参照してください。

  • ベスト・プラクティスとして、最初にテスト環境でアップグレード手順を実行します。

コネクタ・バンドルJARを更新するには、次のようにします。

  1. Oracle Technology Networkからこのコネクタの最新バージョンをダウンロードし、Oracle Identity Managerをホストしているコンピュータ上の任意のディレクトリにその内容を抽出します。
  2. JAR削除ユーティリティを実行して、Oracle Identity Managerデータベースからorg.identityconnectors.databasetable-1.2.2ファイルを削除します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/DeleteJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/DeleteJars.sh

    このユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリの値、削除するJARファイルのタイプ、および削除するJARファイルの名前を入力するように要求されます。

  3. JARアップロード・ユーティリティを実行して、インストール・メディアの/bundleディレクトリからOracle Identity Managerデータベースにorg.identityconnectors.databasetable-1.2.2ファイルの最新バージョンをポストします。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/UploadJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/UploadJars.sh

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

  4. PurgeCacheユーティリティを実行して、コネクタ・バンドルJARに関連するコンテンツをサーバー・キャッシュからクリアします。PurgeCacheユーティリティの実行の詳細は、サーバー・キャッシュからのコネクタ・リソース・バンドル関連コンテンツのクリアを参照してください。