プライマリ・コンテンツに移動
Oracle® Identity Manager Database User Managementコネクタ・ガイド
リリース11.1.1
B72411-10
目次へ移動
目次

前
次

4 Oracle Databaseでのコネクタの使用および拡張

要件に合せてアプリケーションを構成したら、Oracle Database用のDatabase User Managementコネクタを使用してリコンシリエーション操作とプロビジョニング操作を実行できます。また、特定のビジネス要件に対応するようにコネクタの機能を拡張することもできます。

この章は、次の項目が含まれます。

ノート:

この項では、コネクタの構成に関する、概念的な情報と手順の情報の両方を提供します。手順を実行する前に、概念的な情報を参照することをお薦めします。

Oracle Identity ManagerがMicrosoft Windowsコンピュータでホストされている場合、すでにインストールされているコネクタがあれば、新しいコネクタをインストールする前にコネクタ・バンドルのzipファイルを再度抽出する必要があります。

データベース・ドライバは、Oracle Identity Manager操作用にすでにロードされているため、必要ありません。ただし、以前のバージョンのデータベース(Oracle 9iなど)でコネクタを使用する場合は、リモート・コネクタ・サーバーを使用する必要があります。

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

ノート:

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

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

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

データの暗号化および整合性を構成するには、『Oracle Database Advanced Security管理者ガイド』のデータの暗号化に関する項を参照してください。

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

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

  1. Oracle DatabaseとOracle Identity Managerの間のSSL通信を有効化する方法の詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。

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

  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は、using-and-extending-connector-oracle-database.htm#GUID-48DDC051-D094-406C-B55A-123C9995092F__BGBICBHCのトラストストア・パスの1つに置き換えます。この表には、サポートされている各アプリケーション・サーバーのトラストストアの場所が示されています。

    ノート:

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

    表4-1 サポートされているアプリケーション・サーバーのトラストストアの場所

    アプリケーション・サーバー トラストストアの場所

    Oracle WebLogic Server

    • Oracle jrockit_R27.3.1-jdkを使用している場合は、次のディレクトリのキーストアに証明書をインポートします。

      JROCKIT_HOME/jre/lib/security

    • デフォルトのOracle WebLogic Server JDKを使用している場合は、次のディレクトリのキーストアに証明書をインポートします。

      WEBLOGIC_HOME/java/jre/lib/security/cacerts

    • Oracle jrockit_R27.3.1-jdkおよびOracle WebLogic Server JDK以外のJDKを使用している場合は、次のディレクトリのキーストアに証明書をインポートします。

      JAVA_HOME/jre/lib/security/cacerts

  4. Oracle DatabaseとOracle Identity Managerの間のセキュアな通信を有効化するには、UseSSL ITリソース・パラメータの値をtrueに設定します。このパラメータの値は、「コネクタ・サーバーのITリソースの構成」で説明されている手順の実行中に指定する必要があります。

4.2 Oracle DatabaseでのJDBC URLパラメータおよび接続プロパティ・パラメータの値の指定

この項では、JDBC URLパラメータおよび接続プロパティ・パラメータについて説明します。この項に示す情報は、「ターゲット・システムのITリソースの構成」に記載されている手順を実行する際に適用してください。

JDBC URLパラメータおよび接続プロパティ・パラメータに指定する値は、実装されているセキュリティ対策によって異なります。

4.2.1 データ暗号化および整合性のみが構成されている場合

データ暗号化と整合性のみを構成した場合は、次の値を入力します。

  • JDBC URLパラメータ

    ITリソースの構成時に、「JDBC URL」パラメータに次の書式で値を指定する必要があります。

    jdbc:oracle:thin:@TARGET_HOST_NAME_or_IP_ADDRESS:PORT_NUM:sid
    

    次に、JDBC URLパラメータのサンプル値を示します。

    jdbc:oracle:thin:@ten.mydomain.com:1521:cust_db
    
  • 接続プロパティ・パラメータ

    データ暗号化と整合性を構成すると、sqlnet.oraファイルに接続プロパティが記録されます。接続プロパティ・パラメータに指定する必要のある値は、次のサンプル・シナリオで説明します。

    関連項目:

    sqlnet.oraファイルの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。

    sqlnet.oraファイルに次のエントリが記録されているとします。

    SQLNET.ENCRYPTION_SERVER=REQUIRED
    SQLNET.ENCRYPTION_TYPES_SERVER=(3DES168, DES40, DES, 3DES112)
    SQLNET.CRYPTO_CHECKSUM_SERVER=REQUESTED
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1,MD5)
    

    ITリソースの構成時に、「接続プロパティ」パラメータの値として次の値を指定する必要があります。

    ノート:

    • プロパティと値のペアは、番号記号(#)で区切る必要があります。

    • 次の例で示すように、encryption_typesおよびcrypto_checksum_typesプロパティには、sqlnet.oraファイルに記録されている任意の値を選択できます。

    oracle.net.encryption_client=REQUIRED,oracle.net.encryption_types_client=(3DES168),oracle.net.crypto_checksum_client=REQUESTED,oracle.net.crypto_checksum_types_client=(MD5)

4.2.2 SSL通信のみが構成されている場合

SSL通信を構成すると、tnsnames.oraファイルにJDBC URLが記録されます。tnsnames.oraファイルの詳細は、『Oracle Database Net Servicesリファレンス』を参照してください。

tnsnames.oraファイルの内容のサンプル書式を次に示します。これらの書式では、DESCRIPTIONに接続記述子、ADDRESSにプロトコル・アドレス、CONNECT_DATAにデータベース・サービス識別情報、SECURITYにSSL固有の情報が含まれています。

サンプル書式1:

NET_SERVICE_NAME=
 (DESCRIPTION=
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))
   (CONNECT_DATA= 
     (SERVICE_NAME=SERVICE_NAME))
     (SECURITY_DN=(SSL_SERVER_CERT_DN="CN=server_test,C=US"))

サンプル書式2:

NET_SERVICE_NAME= 
 (DESCRIPTION_LIST=
  (DESCRIPTION= 
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))
   (CONNECT_DATA= 
     (SERVICE_NAME=SERVICE_NAME))
     (SECURITY_DN=(SSL_SERVER_CERT_DN="CN=server_test,C=US"))
  (DESCRIPTION= 
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))
   (CONNECT_DATA= 
     (SERVICE_NAME=SERVICE_NAME))))

サンプル書式3:

NET_SERVICE_NAME= 
 (DESCRIPTION= 
  (ADDRESS_LIST= 
   (LOAD_BALANCE=on)
   (FAILOVER=off)
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION)))
  (ADDRESS_LIST= 
   (LOAD_BALANCE=off)
   (FAILOVER=on)
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))
   (ADDRESS=(PROTOCOL_ADDRESS_INFORMATION)))
  (CONNECT_DATA=
   (SERVICE_NAME=SERVICE_NAME))
   (SECURITY_DN=(SSL_SERVER_CERT_DN="CN=server_test,C=US"))

SSL通信のみを構成し、ターゲット・システムのホスト・コンピュータで作成した証明書をOracle Identity ManagerのJVMトラストストアにインポートした場合は、次の値を入力します。

JDBC URLパラメータ

ITリソースの構成時に、「JDBC URL」パラメータに指定した値をtnsnames.oraファイル内のNET_SERVICE_NAMEの値から導出する必要があります。次に例を示します:

ノート:

この例で示されているように、SSLが構成されているため、指定する必要があるのは(ADDRESS=(PROTOCOL=TCPS)(HOST=HOST_NAME)(PORT=2484))要素のみです。その他の(ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))要素を指定する必要はありません。

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=myhost)(PORT=2484)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=mysid))(SECURITY_DN=(SSL_SERVER_CERT_DN="CN=server_test,C=US"))

接続プロパティ・パラメータ

接続プロパティ・パラメータに値を指定する必要があるかどうかは、証明書をインポートするトラストストアによって異なります。

  • Oracle Identity Managerにより使用されているJVMのトラストストアに証明書をインポートする場合は、接続プロパティ・パラメータに値を指定する必要はありません。

  • その他のトラストストアに証明書をインポートする場合は、コネクタの作成中に、接続プロパティ・パラメータに次の書式で値を指定します。

    javax.net.ssl.trustStore=STORE_LOCATION#javax.net.ssl.trustStoreType=JKS#javax.net.ssl.trustStorePassword=STORE_PASSWORD
    

    この値を指定する際には、STORE_LOCATION をトラストストアのフルパスと名前に、STORE_PASSWORDをトラストストアのパスワードに置き換えます。

4.2.3 データ暗号化と整合性およびSSL通信の両方が構成されている場合

データ暗号化と整合性およびSSL通信の両方が構成されている場合は、次のようにします。

  • JDBC URLパラメータ

    ITリソースの構成中に、JDBC URLパラメータに値を指定するには、「データ暗号化および整合性のみが構成されている場合」および「SSL通信のみが構成されている場合」で説明されているカンマで区切られた値の組合せをJDBC URLパラメータに入力します。

    ノート:

    Oracle RAC URL構成を表す例を次に示します。

    次に例を示します:

    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=myhost)(PORT=2484)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=mysid)))
    

    JDBC URLパラメータおよび接続プロパティ・パラメータを指定する際のガイドラインを次に示します。

    ITリソースの構成時に、「JDBC URL」パラメータに次の書式で値を指定する必要があります。

    ノート:

    JDBC URL接続文字列は200文字を超えることはできません。

    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=HOST1_NAME.DOMAIN)(PORT=PORT1_NUMBER))(ADDRESS=(PROTOCOL=TCP)(HOST=HOST2_NAME.DOMAIN)(PORT=PORT2_NUMBER))(ADDRESS=(PROTOCOL=TCP)(HOST=HOST3_NAME.DOMAIN)(PORT=PORT3_NUMBER)) . . . (ADDRESS=(PROTOCOL=TCP)(HOST=HOSTn_NAME.DOMAIN)(PORT=PORTn_NUMBER))(CONNECT_DATA=(SERVICE_NAME=ORACLE_DATABASE_SERVICE_NAME)))
    

    サンプル値:

    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST= host1.example.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST= host2.example.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST= host3.example.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST= host4.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME= srvce1)))
    
  • 接続プロパティ・パラメータ

    ITリソースの構成中に、接続プロパティ・パラメータに値を指定するには、「データ暗号化および整合性のみが構成されている場合」および「SSL通信のみが構成されている場合」で説明されているカンマで区切られた値の組合せを接続プロパティ・パラメータに入力します。

    次に例を示します:

    oracle.net.encryption_client=REQUIRED#oracle.net.encryption_types_client=(3DES168)#oracle.net.crypto_checksum_client=REQUESTED,oracle.net.crypto_checksum_types_client=(MD5)#javax.net.ssl.trustStore=STORE_LOCATION,javax.net.ssl.trustStoreType=JKS#javax.net.ssl.trustStorePassword=STORE_PASSWORD
    

    次の例で示すように、encryption_typesおよびcrypto_checksum_typesプロパティには、sqlnet.oraファイルに記録されている任意の値を選択できます。この値を指定する際には、STORE_LOCATION をトラストストアのフルパスと名前に、STORE_PASSWORDをトラストストアのパスワードに置き換えます。

4.3 Oracle Databaseでのコネクタ操作時に使用される参照定義

コネクタ操作中に使用される参照定義は、次のように分類できます。

4.3.1 Oracle Databaseと同期される参照定義

プロビジョニング操作時に、プロセス・フォームの参照フィールドを使用して値セットから1つの値を指定します。たとえば、「ロール」参照フィールドを使用して、ユーザーに割り当てるロールを使用可能なロールのリストから選択します。コネクタをデプロイすると、ターゲット・システムの参照フィールドに対応する参照定義がOracle Identity Managerに作成されます。参照フィールド同期では、ターゲット・システムの参照フィールドに対して行われた追加または変更が、Oracle Identity Managerの参照定義にコピーされます。

コネクタには、ターゲット・システムの参照フィールドからOracle Identity Managerの参照定義に値をフェッチするための事前定義済SQL問合せが用意されています。これらの事前定義済SQL問合せは、コネクタ・バンドルのLoVSearch.queriesファイルに格納されています。

参照定義の同期後、データは次の形式で保存されます。

  • コード・キー値: IT_RESOURCE_KEY~LOOKUP_FIELD_ID

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

    • IT_RESOURCE_KEYは、Oracle Identity Managerの各ITリソースに割り当てられる数値コードです。

    • LOOKUP_FIELD_IDは、各参照フィールド・エントリに割り当てられるターゲット・システム・コードです。

    サンプル値: 1~SYS_ADM

  • デコード値: IT_RESOURCE_NAME~LOOKUP_FIELD_ID

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

    • IT_RESOURCE_NAMEは、Oracle Identity ManagerのITリソース名です。

    • LOOKUP_FIELD_IDは、各参照フィールド・エントリに割り当てられるターゲット・システム・コードです。

    サンプル値: Oracle DB~SYS_ADM

Identity Self Serviceでプロビジョニング操作を実行する際、操作を実行するターゲット・システムのITリソースを選択します。このアクションを実行すると、ページの参照定義に、選択したITリソース(ターゲット・システム・インスタンス)に対応する値が自動的に移入されます。ターゲット・システムの複数のインストールが存在する環境では、すべてのITリソースに対応する値が表示されます。

using-and-extending-connector-oracle-database.htm#GUID-2809F0E2-87F9-4904-8727-AFECF2ACF7C8__BABGEHHJに、Oracle Identity Managerの対応する参照定義と同期されるOracle Databaseの表の列名を示します。

表4-2 Oracle Databaseと同期される参照定義

参照定義 ターゲット表名 ターゲット列名

Lookup.DBUM.Oracle.AuthType

dba_users

DECODE(PASSWORD, 'EXTERNAL', 'EXTERNAL', 'GLOBAL', 'GLOBAL', 'PASSWORD')

Lookup.DBUM.Oracle.Privileges

DBA_SYS_PRIVS

PRIVILEGE

Lookup.DBUM.Oracle.Profiles

dba_users

DISTINCT profile

Lookup.DBUM.Oracle.Roles

DBA_ROLE_PRIVS

GRANTED_ROLE

Lookup.DBUM.Oracle.Temp.Tablespace

dba_users

DEFAULT_TABLESPACE

Lookup.DBUM.Oracle.Tablespaces

dba_users

TEMPORARY_TABLESPACE

Lookup.DBUM.Oracle.WithAdminOption

DBA_SYS_PRIVS, DBA_ROLE_PRIVS

ADMIN_OPTION

Lookup.DBUM.Oracle.AuthType参照定義には、Oracle Identity Managerを使用して作成したターゲット・システム・アカウント(ログインまたはユーザー)に対して選択できる認証タイプに関する情報が含まれます。

表4-3 Lookup.DBUM.Oracle.AuthTypeのエントリ

コード・キー デコード・キー

EXTERNAL

EXTERNAL

GLOBAL

GLOBAL

PASSWORD

PASSWORD

4.3.2 Oracle Databaseでの構成用の参照定義

この項では、コネクタのデプロイ時にOracle Identity Managerで作成される構成参照定義について説明します。これらの参照定義には、値が事前移入されるか、コネクタのデプロイ後に値を手動で入力する必要があります。

この項では、次の参照定義について説明します。

4.3.2.1 Lookup.DBUM.Oracle.Configuration

Lookup.DBUM.Oracle.Configuration参照定義には、ターゲット・リソースのリコンシリエーションおよびプロビジョニング操作時に使用されるコネクタ構成エントリが含まれます。

表4-4 Lookup.DBUM.Oracle.Configurationのエントリ

コード・キー デコード・キー 説明

Bundle Name

org.identityconnectors.dbum

コネクタ・バンドル・パッケージの名前

このエントリは変更できません。

Bundle Version

1.0.1116

コネクタ・バンドル・クラスのバージョン

このエントリは変更できません。

Connector Name

org.identityconnectors.dbum.DBUMConnector

コネクタ・クラスの名前

このエントリは変更できません。

disableValuesSet

"EXPIRED & LOCKED","LOCKED","EXPIRED"

ユーザーの無効ステータスに使用できる値

reservedWordsList

"DROP","INSERT","ALTER","CREATE",
"DELETE","UPDATE","GRANT","TRUNCATE",
"EXEC","TEMPORARY","TABLESPACE","DEFAULT",
"QUOTA","PROFILE","IDENTIFIED","EXTERNALLY",
"AS","GLOBALLY","REVOKE","ACCOUNT","UNLOCK",
"LOCK","CASCADE"

コネクタ操作の最終SQL問合せで使用される属性値に使用できない語句

unsupportedChars

"&","--","~","`","\""

コネクタ操作の最終SQL問合せで使用される属性値に使用できない文字

User Configuration Lookup

Lookup.DBUM.Oracle.UM.Configuration

ユーザー特有の構成プロパティを含む参照定義の名前

このエントリは変更できません。

4.3.2.2 Lookup.DBUM.Oracle.UM.Configuration

Lookup.DBUM.Oracle.UM.Configuration参照定義には、ターゲット・リソースのリコンシリエーションおよびプロビジョニング操作時に使用されるユーザー固有のコネクタ構成エントリが含まれます。

表4-5 Lookup.DBUM.Oracle.UM.Configurationのエントリ

コード・キー デコード・キー

Provisioning Attribute Map

Lookup.DBUM.Oracle.UM.ProvAttrMap

Provisioning Exclusion List

Lookup.DBUM.Oracle.UM.ExclusionList

Provisioning Validation Lookup

Lookup.DBUM.Oracle.UM.ProvValidations

Recon Validation Lookup

Lookup.DBUM.Oracle.UM.ReconValidations

Recon Attribute Map

Lookup.DBUM.Oracle.UM.ReconAttrMap

Recon Exclusion List

Lookup.DBUM.Oracle.UM.ExclusionList

Recon Transformation Lookup

Lookup.DBUM.Oracle.UM.ReconTransformations

4.3.2.3 Lookup.DBUM.Oracle.Configuration.Trusted

Lookup.DBUM.Oracle.Configuration.Trusted参照定義には、信頼できるソース・モードでのリコンシリエーションおよびプロビジョニング操作時に使用されるコネクタ構成エントリが含まれます。

表4-6 Lookup.DBUM.Oracle.Configuration.Trustedのエントリ

コード・キー デコード・キー

Bundle Name

org.identityconnectors.dbum

Bundle Version

1.0.1116

Connector Name

org.identityconnectors.dbum.DBUMConnector

disableValuesSet

"EXPIRED & LOCKED","LOCKED","EXPIRED"

User Configuration Lookup

Lookup.DBUM.Oracle.UM.Configuration.Trusted

4.3.2.4 Lookup.DBUM.Oracle.UM.Configuration.Trusted

Lookup.DBUM.Oracle.UM.Configuration.Trusted参照定義には、信頼できるソース・モードでのリコンシリエーションおよびプロビジョニング操作時に使用されるユーザー固有のコネクタ構成エントリが含まれます。

表4-7 Lookup.DBUM.Oracle.UM.Configuration.Trustedのエントリ

コード・キー デコード・キー

Recon Attribute Defaults

Lookup.DBUM.Oracle.UM.ReconDefaults.Trusted

Recon Attribute Map

Lookup.DBUM.Oracle.UM.ReconAttrMap.Trusted

Recon Validation Lookup

Lookup.DBUM.Oracle.UM.ReconValidations.Trusted

Recon Exclusion List

Lookup.DBUM.Oracle.UM.ExclusionList.Trusted

Recon Transformation Lookup

Lookup.DBUM.Oracle.UM.ReconTransformations.Trusted

4.3.3 Oracle Databaseでの属性マッピング用の参照定義

この項では、次の参照定義について説明します。

4.3.3.1 Lookup.DBUM.Oracle.UM.ProvAttrMap

Lookup.DBUM.Oracle.UM.ProvAttrMap参照定義には、プロビジョニング操作時に使用されるプロセス・フォーム・フィールド(「コード・キー」の値)とターゲット・システム属性(「デコード」の値)の間のユーザー固有マッピングが含まれます。

表4-8 Lookup.DBUM.Oracle.UM.ProvAttrMapのエントリ

コード・キー デコード・キー

Authentication Type

authType

Default Tablespace[LOOKUP]

tablespace

デフォルトの表領域割当て制限(MB)

defaultQuota

Global DN

globalDN

Password

__PASSWORD__

Profile Name[LOOKUP]

profile

Return Id

__UID__

Temporary Tablespace[LOOKUP]

tempTableSpace

UD_DB_ORA_P~Privilege[LOOKUP]

privileges~DBPrivilege~__NAME__

UD_DB_ORA_P~Privilege Admin Option

privileges~DBPrivilege~adminOption

UD_DB_ORA_R~Role[LOOKUP]

roles~DBRole~__NAME__

UD_DB_ORA_R~Role Admin Option

roles~DBRole~adminOption

Username

__NAME__

4.3.3.2 Lookup.DBUM.Oracle.UM.ReconAttrMap

Lookup.DBUM.Oracle.UM.ReconAttrMap参照定義には、リコンシリエーション操作時に使用される、リソース・オブジェクト内に指定されているリコンシリエーション属性名(「コード・キー」の値)とターゲット・システム属性(「デコード」の値)の間のユーザー固有マッピングが含まれます。

表4-9 Lookup.DBUM.Oracle.UM.ReconAttrMapのエントリ

コード・キー デコード・キー

Account Status

status

Authentication Type

authType

Default Tablespace[LOOKUP]

tablespace

Default Tablespace Quota

defaultQuota

Global DN

globalDN

Privilege List~Privilege Admin Option

privileges~DBPrivilege~adminOption

Privilege List~Privilege Name[LOOKUP]

privileges~DBPrivilege~__NAME__

Profile Name[LOOKUP]

profile

Reference ID

__UID__

Role List~Role Admin Option

roles~DBRole~adminOption

Role List~Role Name[LOOKUP]

roles~DBRole~__NAME__

Status

__ENABLE__

Temporary Tablespace[LOOKUP]

tempTableSpace

User Name

__UID__

4.3.3.3 Lookup.DBUM.Oracle.UM.ReconAttrMap.Trusted

Lookup.DBUM.Oracle.UM.ReconAttrMap.Trusted参照定義には、信頼できるソース・モードでのリコンシリエーション操作時に使用される、リソース・オブジェクト内に指定されているリコンシリエーション属性名(「コード・キー」の値)とターゲット・システム属性(「デコード」の値)の間のユーザー固有マッピングが含まれます。

表4-10 Lookup.DBUM.Oracle.UM.ReconAttrMap.Trustedのエントリ

コード・キー デコード・キー

First Name

__UID__

Status[TRUSTED]

__ENABLE__

User ID

__UID__

4.3.3.4 Lookup.DBUM.Oracle.UM.ReconDefaults.Trusted

この参照定義には、Oracle Identity Managerユーザー属性のデフォルト値が含まれます。これらの値は、要件に応じて変更できます。

たとえば、信頼できるソースからリコンサイルされたユーザーをMyORG組織の一部にする場合は、参照定義エントリを次のようにマップします。

コード・キー = Organization Name

デコード = MyORG (Xellerate Usersでない)

表4-11 Lookup.DBUM.Oracle.UM.ReconDefaults.Trustedのエントリ

コード・キー デコード・キー

Empl Type

Full-Time

Organization Name

Xellerate Users

Status

Active

User Type

End-User

4.3.4 Oracle Databaseでの除外リスト用の参照定義

これらの参照定義には、プロビジョニングおよびリコンシリエーション操作の実行から除外するリソースが含まれます。除外は、プロセス・フォームまたはリコンシリエーション・プロファイル内の任意の属性に適用できます。コード・キー値は、Lookup.DBUM.Oracle.UM.ReconAttrMapまたはLookup.DBUM.Oracle.UM.ProvAttrMap参照定義内のコード・キー値のいずれかである必要があります。

ターゲット・システムの構成内容に応じて、次のいずれかの参照を使用できます。

  • ターゲット・リソース・モードの場合: Lookup.DBUM.Oracle.UM.ExclusionList

  • 信頼できるソース・モードの場合: Lookup.DBUM.Oracle.UM.ExclusionList.Trusted

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

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

User Name

ユーザーのUser ID

コード・キー: User Name

デコード: User001

User Name (接尾辞[PATTERN]付き)

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

コード・キー: User Name[PATTERN]

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

デコード: User001|User002|User088

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

デコード: 00012*

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

これらの参照定義にエントリを追加する手順は、「Oracle Databaseでのリソース除外リストの構成」を参照してください。

4.3.5 Oracle Databaseでのデータ変換用の参照定義

これらの参照定義には、リコンシリエーション操作時のデータ変換を有効にするリソースが含まれます。

ターゲット・システムの構成内容に応じて、次のいずれかの参照定義を使用します。

  • ターゲット・リソース・モードの場合: Lookup.DBUM.Oracle.UM.ReconTransformations

    表4-12 Lookup.DBUM.Oracle.UM.ReconTransformationsのエントリ

    コード・キー デコード・キー

    Privilege List

    oracle.iam.connectors.dbum.transformations.OraclePrivilegeAdminOptionTransformation

    Role List

    oracle.iam.connectors.dbum.transformations.OracleRoleAdminOptionTransformation

  • 信頼できるソース・モードの場合: Lookup.DBUM.Oracle.UM.ReconTransformations.Trusted

これらの参照定義にエントリを追加する手順は、「Oracle Databaseでのユーザー・リコンシリエーション時のデータ変換の構成」を参照してください。

4.3.6 Oracle Databaseでのデータ検証用の参照定義

Lookup.DBUM.Oracle.UM.ProvValidations参照を使用すると、プロビジョニング操作時のデータ検証を構成できます。

この参照定義にエントリを追加する手順は、「Oracle Databaseでのリコンシリエーションおよびプロビジョニング時のデータ検証の構成」を参照してください。

4.4 Oracle Databaseでのスケジュール済ジョブ

コネクタ・インストーラを実行した場合、またはコネクタXMLファイルをインポートした場合、スケジュール済ジョブがOracle Identity Managerに自動的に作成されます。

この節では、以下のトピックについて説明します。

4.4.1 Oracle Databaseでの参照フィールド同期用のスケジュール済ジョブ

参照フィールド同期では、ターゲット・システムの参照フィールドに対して行われた追加または変更が、Oracle Identity Managerの参照定義にコピーされます。

参照フィールド同期には、次のスケジュール済ジョブが使用されます。

  • DBUM Oracle Privileges Lookup Reconciliation

  • DBUM Oracle Profile Lookup Reconciliation

  • DBUM Oracle Roles Lookup Reconciliation

  • DBUM Oracle Tablespaces Lookup Reconciliation

  • DBUM Oracle Temporary Tablespaces Lookup Reconciliation

これらのスケジュール済ジョブの属性に値を指定する必要があります。using-and-extending-connector-oracle-database.htm#GUID-48DB8639-3B96-4545-AAA5-E1F18AF77B08__CHEJCCIEで、これらのスケジュール済ジョブの属性について説明します。

表4-13 参照フィールド同期用のスケジュール済ジョブの属性

属性 説明

コード・キー属性

参照定義のコード・キー列を移入するのに使用する、コネクタの名前またはターゲット・システム属性を入力します(「参照名」属性の値として指定)。

サンプル値: __NAME__

ノート: この属性の値は変更しないでください。

デコード属性

参照定義(Lookup Name属性の値として指定される)のデコード列に値を移入するために使用される、コネクタまたはターゲット・システムの属性の名前を入力します。

サンプル値: __NAME__

ITリソース名

ユーザー・レコードのリコンサイル元のターゲット・システム・インストールの、ITリソース名を入力します。

デフォルト値: Oracle DB

参照名

この属性は、値のフェッチ元である必要のあるデータ・ソースに各参照定義をマップする参照定義の名前を保持します。

デフォルト値は、使用するスケジュール済ジョブに応じて次のとおりです。

  • DBUM Oracle Privileges Lookup Reconciliationの場合 - Lookup.DBUM.Oracle.Privileges

  • DBUM Oracle Profile Lookup Reconciliationの場合 - Lookup.DBUM.Oracle.Profiles

  • DBUM Oracle Roles Lookup Reconciliationの場合 - Lookup.DBUM.Oracle.Roles

  • DBUM Oracle Tablespaces Lookup Reconciliationの場合 - Lookup.DBUM.Oracle.Tablespaces

  • DBUM Oracle Temporary Tablespaces Lookup Reconciliationの場合 - Lookup.DBUM.Oracle.Temp.Tablespace

オブジェクト・タイプ

同期させる必要のある値を含むオブジェクトのタイプを入力します。

デフォルト値は、使用するスケジュール済ジョブに応じて次のとおりです。

  • DBUM Oracle Privileges Lookup Reconciliationの場合 - __PRIVILEGES__

  • DBUM Oracle Profile Lookup Reconciliationの場合 - __PROFILE__

  • DBUM Oracle Roles Lookup Reconciliationの場合 - __ROLES__

  • DBUM Oracle Tablespaces Lookup Reconciliationの場合 - __TABLESPACES__

  • DBUM Oracle Temporary Tablespaces Lookup Reconciliationの場合 - __TEMPTABLESPACES__

ノート: この属性の値は変更しないでください。

リソース・オブジェクト名

リコンシリエーションに使用されるリソース・オブジェクトの名前を入力します。

デフォルト値: Oracle DB User

4.4.2 Oracle Databaseでのスケジュール済ジョブの属性

コネクタのターゲット・リソース(アカウント管理)モードでユーザー・データをリコンサイルする場合は、次のスケジュール済ジョブを使用します。

  • DBUM Oracle User Target Reconciliation

  • DBUM Oracle Delete User Target Reconciliation

コネクタの信頼できるソース(アイデンティティ管理)モードでユーザー・データをリコンサイルする場合は、次のスケジュール済ジョブを使用します。

  • DBUM Oracle User Trusted Reconciliation

  • DBUM Oracle Delete User Trusted Reconciliation

using-and-extending-connector-oracle-database.htm#GUID-3E347D88-B6DB-43C2-81F3-63992A36F3AE__CACEAEAEで、ユーザー操作のスケジュール済ジョブの属性について説明します。

表4-14 リコンシリエーション用のスケジュール済ジョブの属性

属性 説明

バッチ・サイズ

バッチ・モードでスケジュール済ジョブを実行するための値。

デフォルトでは、この値は空です。

フィルタ

スケジュール済ジョブによりリコンサイルする必要のあるレコードをフィルタリングするための式

デフォルトでは、この属性の値は空です。

サンプル値: equalTo('__UID__','SEPT12USER1')

この式の構文は、「Oracle Databaseからの制限付きリコンシリエーションの実行」を参照してください。

増分リコンシリエーション属性

前回のリコンシリエーション実行が開始したときのタイムスタンプ

サンプル値: lastModified

ノート: この属性には値を入力しないでください。リコンシリエーション・エンジンにより、この属性の値は自動的に入力されます。

ITリソース名

ユーザー・レコードをリコンサイルする元のターゲット・システム・インストールのITリソースの名前

デフォルト値: Oracle DB

最新のトークン

この属性は内部目的で使用されます。

デフォルトでは、この値は空です。

オブジェクト・タイプ

リコンサイルするオブジェクトのタイプ

デフォルト値: User

リソース・オブジェクト名

リコンシリエーションに使用されるリソース・オブジェクトの名前

デフォルト値: Oracle DB User

スケジュール済タスク名

スケジュール済ジョブの名前

ノート: このコネクタに組み込まれているスケジュール済ジョブについては、この属性の値を変更することはできません。ただし、タスクのコピーを作成した場合は、この属性の値として、そのスケジュール済ジョブに一意の名前を入力できます。

using-and-extending-connector-oracle-database.htm#GUID-3E347D88-B6DB-43C2-81F3-63992A36F3AE__CACDIHFIで、削除操作のスケジュール済ジョブの属性について説明します。

表4-15 削除操作用のスケジュール済ジョブの属性

属性 説明

ITリソース名

ユーザー・レコードをリコンサイルする元のターゲット・システム・インストールのITリソースの名前

DBUM Oracle Delete User Target Reconciliationの場合: Oracle DB

DBUM Oracle Delete User Trusted Reconciliationの場合は、信頼できるソース・モードに対して作成されたITリソースの名前を入力します。

オブジェクト・タイプ

リコンサイルするオブジェクトのタイプ

デフォルト値: User

リソース・オブジェクト名

リコンシリエーションに使用されるリソース・オブジェクトの名前

DBUM Oracle Delete User Target Reconciliationの場合: Oracle DB User

DBUM Oracle Delete User Trusted Reconciliationの場合: Oracle DB Trusted

4.4.3 Oracle Databaseでのスケジュール済ジョブの構成

この手順は、参照フィールド同期およびリコンシリエーション用のスケジュール済ジョブを構成する場合に適用できます。

コネクタに組み込まれているスケジュール済ジョブ、およびそれらの属性の詳細は、「Oracle Databaseでの参照フィールド同期用のスケジュール済ジョブ」および「Oracle Databaseでのスケジュール済ジョブの属性」を参照してください。

スケジュール済ジョブを構成するには:

  1. Oracle Identity Managerリリース11.1.1.xを使用している場合:

    1. 管理およびユーザー・コンソールにログインします。

    2. 「Oracle Identity Managerセルフ・サービスへようこそ」ページの右上隅で、「拡張」をクリックします。

    3. 「Oracle Identity Manager拡張管理へようこそ」ページの「システム管理」領域で、「スケジュール済ジョブの検索」をクリックします。

  2. Oracle Identity Managerリリース11.1.2.x以降を使用している場合:

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

    2. 左ペインの「システム管理」で、「スケジューラ」をクリックします。

  3. 次のように、スケジュール済ジョブを検索して開きます。

    1. 左ペインの「検索」フィールドに、スケジュール済ジョブの名前を検索基準として入力します。「拡張検索」をクリックして検索基準を指定することもできます。

    2. 左側のペインの検索結果表で、「ジョブ名」列のスケジュール済ジョブをクリックします。

  4. 「ジョブの詳細」タブでは、次のパラメータを変更できます。

    再試行: このフィールドには整数値を入力します。この数値は、ジョブに「停止済」ステータスを割り当てるまでに、スケジューラがジョブの開始を試行する回数を表します。

    スケジュール・タイプ: ジョブを実行する頻度に応じて、適切なスケジュール・タイプを選択します。

    ノート:

    スケジュール・タイプの詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のジョブの作成を参照してください。

    ジョブ詳細を変更する他に、ジョブを有効化または無効化できます。

  5. 「パラメータ」リージョンの「ジョブの詳細」タブで、スケジュール済ジョブの属性の値を指定します。

    ノート:

  6. 属性の指定後、「適用」をクリックして変更を保存します。

4.5 Oracle Databaseからのリコンシリエーション

次の各項では、インストール後のステップについて説明します。

このガイドで前述したように、リコンシリエーションとは、ターゲット・システム上でのユーザー・アカウントの作成および変更を、Oracle Identity Managerで複製することです。この項では、リコンシリエーションの構成に関する次の項目について説明します。

4.5.1 Oracle Databaseでのリコンシリエーションの構成に関するガイドライン

ここでは、リコンシリエーションを構成する際に適用する必要があるガイドラインを示します。

  • ターゲット・リソースのリコンシリエーションを実行する前に、参照定義をターゲット・システムの参照フィールドと同期する必要があります。つまり、ユーザー・リコンシリエーションの実行前に、参照フィールド同期用のスケジュール済ジョブを実行する必要があります。

  • バッチ・リコンシリエーションを構成した後、バッチ・リコンシリエーション実行中にリコンシリエーションが失敗した場合は、タスク属性の値を変更せずにスケジュール済ジョブを再実行します。

4.5.2 Oracle Databaseでのリコンシリエーション・プロセスについて

このコネクタは、信頼できるソース・リコンシリエーションまたはターゲット・リソース・リコンシリエーションを実行するように構成できます。

関連項目:

ターゲット・リソース・リコンシリエーションおよび信頼できるソース・リコンシリエーションに関する概念的な情報は、『Oracle Fusion Middleware Oracle Identity Managerの管理』のリコンサイル対象オブジェクトに基づくリコンシリエーションに関する項を参照してください。

ターゲット・システムをターゲット・リソースとして構成すると、コネクタでは、プロビジョニングを介してOIMユーザーのデータベース・アカウントを作成して管理できます。また、新たに作成または変更されたターゲット・システム・アカウントに関連するデータをリコンサイルして、既存のOIMユーザーやプロビジョニングされたリソースにリンクすることができます。

ターゲット・システムを信頼できるソースとして構成すると、コネクタでは、新しく作成されたターゲット・システム・アカウントに関するデータがOracle Identity Managerにフェッチされます。このデータは、OIMユーザーを作成するために使用されます。

ノート:

増分リコンシリエーション時には、新しく作成されたアカウントに関するデータのみが使用可能です。ターゲット・システムの制限により、変更されたデータは増分更新の対象にはなりません。

リコンシリエーションで行われるステップの概要を次に示します。

  1. リコンシリエーション中、SQL問合せまたはストアド・プロシージャを使用してターゲット・システム・レコードがフェッチされます。

  2. スケジュール済ジョブはコネクタ・バンドルと通信して、コネクタ・バンドルで検索操作を実行し、タスク属性をリコンシリエーション問合せまたはストアド・プロシージャのパラメータにマップしてから、その問合せまたはストアド・プロシージャをターゲット・システムで実行します。

  3. 問合せまたはストアド・プロシージャの基準を満たすターゲット・システム・レコードがOracle Identity Managerにフェッチされます。

  4. ターゲット・システムを信頼できるソースとして構成した場合、ターゲット・システムからフェッチされた各ユーザー・レコードは、既存のOIMユーザーと比較されます。この比較プロセスでリコンシリエーション・ルールが適用されます。

    プロセスの次のステップは、比較の結果によって異なります。

    • ターゲット・システムとOIMユーザーの一致が見つかった場合、ターゲット・システム・レコードに対して行われた変更内容でOIMユーザー属性が更新されます。

    • 一致が見つからない場合、ターゲット・システム・レコードを使用してOIMユーザーが作成されます。

  5. ターゲット・システムをターゲット・リソースとして構成した場合、ターゲット・システムからフェッチされた各ユーザー・レコードは、OIMユーザーに割り当てられている既存のターゲット・システム・リソースと比較されます。この比較プロセスでリコンシリエーション・ルールが適用されます。

    プロセスの次のステップは、比較の結果によって異なります。

    • ターゲット・システム・レコードとOIMユーザーにプロビジョニングされたリソースの一致が見つかった場合、ターゲット・システム・レコードに対して行われた変更内容でデータベース・ユーザー・リソースが更新されます。

    • 一致しない場合、ターゲット・システムのユーザー・レコードが既存のOIMユーザーと比較されます。次のステップは、比較の結果によって異なります。

      一致する場合、ターゲット・システムのレコードが使用され、リソースがOIMユーザーのためにプロビジョニングされます。

      一致しない場合、リコンシリエーション・イベントのステータスが「一致するものが見つかりません」に設定されます。

ノート:

リコンシリエーション・ルールの詳細は、「Oracle Databaseでのリコンシリエーション・ルール」を参照してください

4.5.3 Oracle Databaseでのリコンシリエーション問合せについて

この章で前述したように、リコンシリエーション時にSQL問合せまたはストアド・プロシージャを使用してターゲット・システムのレコードがフェッチされます。事前定義済のSQL問合せおよびストアド・プロシージャはすべて、コネクタのインストール・メディアのbundleディレクトリにあるJARファイルに格納されています。

たとえば、リコンシリエーション問合せファイルを見つけるには、bundle/org.identityconnectors.dbum-1.0.1116.jarファイルを抽出し、scripts/oracle/Search.queriesを開きます。

ノート:

要件に応じて、既存の問合せを変更したり、問合せファイルに独自の問合せを追加することができます。あるいは、独自の問合せファイルを作成して使用することもできます。詳細は、「Oracle Databaseでの問合せについて」を参照してください。

Oracle Databaseの事前定義済問合せの一部は、Incremental Recon Attributeというスケジュール済タスク属性と組み合せて使用されます。この属性には、前回のリコンシリエーション実行が開始したときのタイムスタンプが格納されます。次のリコンシリエーション実行が開始されると、lastModified列の値が「増分リコンシリエーション属性」の値よりも後のターゲット・システム・レコードのみがOracle Identity Managerにフェッチされます。つまり、前回のリコンシリエーションの実行開始後に追加または変更されたレコードのみが、現在のリコンシリエーション実行の対象になります。

ノート:

Oracle Databaseユーザーの更新操作は、ユーザーの作成時にそのユーザーに割り当てられた作成タイムスタンプに基づいて処理されます。増分リコンシリエーション時には、このタイムスタンプの後に作成されたユーザーのみがフェッチされます。ただし、タイムスタンプの後に更新されたユーザーはフェッチされません。

Oracle Databaseの事前定義済問合せを次に示します。

  • SEARCH_USER

    この問合せは、DBA_USERS表からすべてのユーザー・レコードをフェッチするために使用します。

  • BATCHED_SEARCH_USER

    この問合せは、指定された範囲内に存在するユーザー・レコードをDBA_USERS表からフェッチするために使用します。これは、ターゲット・リソースとして構成されたターゲット・システムでバッチ・リコンシリエーションを実行するために使用されます。

  • SEARCH_USER_ROLE

    この問合せは、DBA_ROLE_PRIVS表からすべてのユーザー・ロールをフェッチするために使用します。

  • SEARCH_USER_PRIVILEGE

    この問合せは、DBA_SYS_PRIVS表からすべてのユーザー権限をフェッチするために使用します。

4.5.4 Oracle Databaseからのリコンシリエーションで使用されるターゲット・システム列

このガイドで前述したように、このコネクタは、ターゲット・リソースのリコンシリエーションまたは信頼できるソースのリコンシリエーションを実行するように構成できます。この項では、次の項目について説明します。

  • Lookup.DBUM.Oracle.UM.ReconAttrMap参照定義には、ユーザー・リコンシリエーション用の属性マッピングが含まれます。この参照定義には、Oracle Identity Manager属性とコネクタ属性のマッピングが含まれます。

    詳細は、「Lookup.DBUM.Oracle.UM.ReconAttrMap」を参照してください。

  • Lookup.DBUM.Oracle.UM.ReconAttrMap.Trusted参照定義には、信頼できるモードでのリコンシリエーション用の属性マッピングが含まれます。この参照定義では、リコンシリエーション問合せで使用されるリコンシリエーション・プロファイル属性とコネクタ属性がマップされています。さらに、コネクタ属性がバンドル内の列に関連付けられています。

    この参照定義の詳細は、「Lookup.DBUM.Oracle.UM.ReconAttrMap.Trusted」を参照してください。

4.5.5 信頼できるソースのターゲット・システムの構成

ノート:

ターゲット・システムをリコンシリエーションの信頼できるソースとして指定しない場合は、この項を省略します。

信頼できるソース・リコンシリエーションを構成するには、次のようにします:

  1. Oracle Identity Managerリリース11.1.1.xを使用している場合:

    1. 管理およびユーザー・コンソールにログインします。

    2. ようこそページで、ページの右上隅の「拡張」をクリックします。

    3. 「Identity Manager拡張管理へようこそ」ページの「構成」リージョンで、「ITリソースの作成」をクリックします。

  2. Oracle Identity Managerリリース11.1.2.x以降を使用している場合:

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

    2. 左側のペインの「構成」で、「ITリソース」をクリックします。

    3. 「ITリソースの管理」ページで、「ITリソースの作成」をクリックします。

  3. 「ステップ1: ITリソース情報の入力」ページで、次の情報を入力します。

    • ITリソース名: ITリソースの名前を入力します。たとえば、Oracle DB Trustedなどです。

    • ITリソース・タイプ: ITリソースのITリソース・タイプとして「Oracle DB」を選択します。

  4. 「続行」をクリックします。

  5. 「ステップ2: ITリソース・パラメータ値の指定」ページで、ITリソースのパラメータの値を指定します。

    構成参照: ターゲット・システムのコネクタ構成情報を格納する参照定義の名前。

    サンプル値: Lookup.DBUM.Oracle.Configuration.Trusted

    他のITリソース・パラメータの値を指定します。

  6. 「続行」をクリックします。

    次のステップでは、要件に応じて作成するITリソースに対する権限を指定します。

このITリソースは、信頼できるソースのリコンシリエーション操作に対して使用できます。

4.5.6 Oracle Databaseでのリコンシリエーション・ルール

関連項目:

リコンシリエーション・ルールおよびリコンシリエーション・アクション・ルールの詳細は、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のリコンシリエーション・メタデータに関する項を参照してください

この項では、このコネクタのリコンシリエーション・エンジンによって使用されるリコンシリエーション・ルールについて説明します。

次に、ターゲット・リソースのリコンシリエーションのリコンシリエーション・ルールを示します。

  • ルール名: DBUM Oracle Target Recon

  • ルール要素: User Login Equals User Name

信頼できるソースのリコンシリエーションのリコンシリエーション・ルールを次に示します。

  • ルール名: Oracle DB Trusted

  • ルール要素: User Login Equal User ID

これらのルール要素の詳細は次のとおりです。

  • User Loginは、OIMユーザー・フォームのフィールドです。

  • User NameとUser IDは、ターゲット・システムのフィールドです。

4.5.7 Oracle Databaseでのリコンシリエーション・ルールの表示

コネクタのデプロイ後、次のステップを実行して、リコンシリエーションのリコンシリエーション・ルールを表示できます。

ノート:

次の手順は、コネクタのデプロイ後にのみ実行してください

  1. Oracle Identity Manager Design Consoleにログインします。
  2. 「開発ツール」を開きます。
  3. 「リコンシリエーション・ルール」をダブルクリックします。
  4. ルール名を検索します。

4.5.8 Oracle Databaseでのリコンシリエーション・アクション・ルール

リコンシリエーション・アクション・ルールでは、ユーザーに対して定義されたリコンシリエーション・ルールに基づいてコネクタが実行する必要があるアクションが定義されます。

using-and-extending-connector-oracle-database.htm#GUID-CA7EB3E0-41E4-4A88-BC21-84086FF33D43__CACEBCCGに、ターゲット・リソース・リコンシリエーションのアクション・ルールを示します。

表4-16 ターゲット・リソースのリコンシリエーションのアクション・ルール

ルール条件 アクション

一致が見つからなかった場合

最小ロードの管理者への割当て

1つのエンティティ一致が見つかった場合

リンクの確立

1つのプロセス一致が見つかった場合

リンクの確立

using-and-extending-connector-oracle-database.htm#GUID-CA7EB3E0-41E4-4A88-BC21-84086FF33D43__CACFBFJBに、信頼できるソース・リコンシリエーションのアクション・ルールを示します。

表4-17 信頼できるソースのリコンシリエーションのアクション・ルール

ルール条件 アクション

一致が見つからなかった場合

ユーザーの作成

1つのエンティティ一致が見つかった場合

リンクの確立

4.5.9 Oracle Databaseでのリコンシリエーション・アクション・ルールの表示

コネクタのデプロイ後に次のステップを実行すると、ターゲット・リソース・リコンシリエーションのリコンシリエーション・アクション・ルールを表示できます。

  1. Oracle Identity Manager Design Consoleにログインします。
  2. 「リソース管理」を開きます。
  3. 「リソース・オブジェクト」をダブルクリックします。
  4. リソース・オブジェクトを検索して開きます。各ターゲット・システム・データベースのリソース・オブジェクトの名前は次のとおりです。
    • Oracle Databaseのリソース・オブジェクト:

      Oracle DB User

    • 信頼できるソースとしてのOracle Databaseのリソース・オブジェクト:

      Oracle DB Trusted

  5. 「Object Reconciliation」タブ、「Reconciliation Action Rules」タブの順にクリックします。「Reconciliation Action Rules」タブに、コネクタに定義されているアクション・ルールが表示されます。

4.5.10 Oracle Databaseからの完全リコンシリエーションの実行

完全リコンシリエーションでは、既存のすべてのユーザー・レコードをターゲット・システムからOracle Identity Managerへリコンサイルします。コネクタのデプロイ後は、まず完全リコンシリエーションを実行する必要があります。

完全リコンシリエーションを実行するには、Filter属性に現在割り当てられている値を削除し、次のいずれかのスケジュール済ジョブを実行します。

  • ターゲット・リソースとしてのOracle Databaseの場合: DBUM Oracle User Target Reconciliation

  • 信頼できるソースとしてのOracle Databaseの場合: DBUM Oracle User Trusted Reconciliation

このスケジュール済ジョブの詳細は、「Oracle Databaseでのスケジュール済ジョブの属性」を参照してください。

4.5.11 Oracle Databaseからの制限付きリコンシリエーションの実行

デフォルトでは、前回のリコンシリエーションの実行後に追加または変更されたすべてのターゲット・システム・レコードが、現在のリコンシリエーションの実行中にリコンサイルされます。リコンサイルする必要のある追加または変更されたターゲット・システム・レコードのサブセットを指定して、このプロセスをカスタマイズできます。これは、リコンシリエーション・モジュールのフィルタを作成して行います。

リコンシリエーション・モジュールのフィルタを作成して、制限付きリコンシリエーションを実行できます。このコネクタのFilter属性(スケジュール済タスクの属性)により、任意のDBUMリソース属性を使用してターゲット・システム・レコードをフィルタ処理できます。フィルタは、コネクタ・インストール・メディアのbundleディレクトリにあるJARファイルに格納されているリコンシリエーション問合せファイル内の親パラメータに適用できます。たとえば、リコンシリエーション問合せファイルを見つけるには、bundle/org.identityconnectors.dbum-1.0.1116.jarファイルを抽出し、scripts/oracle/Search.queriesを開きます。

次の表に、スケジュール済ジョブのFilter属性で使用できる親パラメータのリストを示します。

パラメータ 説明

__UID__

ユーザーを表す固有の識別子

このパラメータは、USERNAMEまたは__NAME__コネクタ属性にマップされます。

authType

ユーザー・アカウントの認証タイプ

このパラメータの値は次のいずれかです。

PASSWORD、GLOBALまたはEXTERNAL

tablespace

ユーザー操作用のデフォルト表領域

defaultQuota

デフォルト表領域のユーザー操作用の割当て制限

値が指定されていない場合、割当て制限は無制限に設定されます。

globalDN

認証タイプがGLOBALの場合、ユーザーを識別する企業内で固有の名前。

__ENABLE__

ユーザー・アカウントのステータス

値がLOCKED、EXPIREDまたはLOCKED & EXPIREDの場合、ユーザーは無効化されます。

無効化されたステータスの値リストは、Lookup.DBUM.Oracle.Configuration参照定義に含まれています。

tempTableSpace

ユーザー操作用の一時表領域

一時表領域の割当て制限は、常に無制限です。

profile

ユーザー・アカウントのプロファイル

lastModified

最後に変更されたタイムスタンプ

このパラメータは、増分リコンシリエーション操作に使用されます。

ICFフィルタの詳細は、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のICFフィルタの構文に関する項を参照してください。

コネクタをデプロイする際に、「Oracle Databaseでのスケジュール済ジョブの構成」に示されている手順に従って属性値を指定します。

4.5.12 Oracle Databaseからのバッチ・リコンシリエーションの実行

リコンシリエーションの実行中に、ターゲット・システム・レコードのすべての変更内容がOracle Identity Managerにリコンサイルされます。リコンサイルされるレコード数によっては、このプロセスに長い時間がかかる場合があります。また、リコンシリエーション中に接続が中断すると、プロセスの完了にはさらに時間がかかります。

これらの問題を避けるため、バッチ・リコンシリエーションを構成できます。

バッチ・リコンシリエーションを構成するには、リコンシリエーションのスケジュール済ジョブ属性「バッチ・サイズ」に値を指定する必要があります。この属性を使用して、各バッチに含めるレコード数を指定します。デフォルトでは、この値は空です。

All以外の値を指定した場合、新規追加または修正されたユーザー・レコードの一部は、その回のリコンシリエーション中にはリコンサイルされない可能性があります。次に、この例を示します。

スケジュール済ジョブの構成時に「バッチ・サイズ」値を200に指定するとします。前回のリコンシリエーション実行後に、314件のユーザー・レコードが作成または修正されたとします。これら314レコードのうち、200レコードが今回のリコンシリエーション実行中にリコンサイルされます。残りの114レコードは、次回のリコンシリエーション実行中にリコンサイルされます。

「Oracle Databaseでのスケジュール済ジョブの構成」で説明されている手順に従って、「バッチ・サイズ」属性に値を指定します。

4.5.13 Oracle Databaseからの増分リコンシリエーションの実行

増分リコンシリエーションの実行中、スケジュール済ジョブによって、スケジュール済ジョブの「最新のトークン」属性に保存されているタイムスタンプより後に追加または変更されたターゲット・システム・レコードのみがフェッチされます。コネクタでは、タイムスタンプ値を計算するために問合せを必要とします。このタイムスタンプ値は、リコンシリエーションの実行に使用される問合せで使用されます。

ノート:

Oracle Databaseユーザーの更新操作は、ユーザーの作成時にそのユーザーに割り当てられた作成タイムスタンプに基づいて処理されます。増分リコンシリエーション時には、このタイムスタンプの後に作成されたユーザーのみがフェッチされます。ただし、タイムスタンプの後に更新されたユーザーはフェッチされません。

4.6 Oracle Databaseでのプロビジョニング

プロビジョニングでは、Oracle Identity Managerを介して、ターゲット・システムでユーザー・アカウントを作成または変更します。

この項では、プロビジョニングに関する次の項目について説明します。

4.6.1 Oracle Databaseでのプロビジョニング操作の実行に関するガイドライン

プロビジョニング操作を実行する際に適用する必要があるガイドラインを次に示します。

  • プロビジョニング操作を実行する前に、参照定義がターゲット・システムの参照フィールドと同期している必要があります。つまり、プロビジョニング操作の前に、参照フィールド同期用のスケジュール済ジョブを実行してください。

  • Oracle Identity Managerからプロビジョニングされるユーザー・アカウントのパスワードは、ターゲット・システムで設定されたパスワード・ポリシーに従う必要があります。

  • ターゲット・システム・フィールドの文字長を考慮に入れた上で、対応するOracle Identity Managerフィールドの値を指定する必要があります。

  • パスワード更新のプロビジョニング操作時に、「パスワード」フィールド内の既存のテキストを消去してから、新しいパスワードを入力してください。

  • 「ユーザーの作成」プロビジョニング操作時の、オプションのフィールドの一部を次に示します。

    • デフォルト表領域

    • デフォルトの表領域割当て制限(MB)

      このフィールドは、「デフォルト表領域」に依存しています。割当て制限を指定するには、「デフォルト表領域」の値を指定する必要があります。

    • 一時表領域

    • プロファイル名

    「ユーザーの作成」プロビジョニング操作時にこれらのフィールドのいずれかに値を指定した場合、「ユーザーの更新」プロビジョニング操作時にこれらを空にしないでください。そうしない場合、プロビジョニング操作は失敗します。ただし、これらのフィールド内の既存の値は変更できます。

  • パスワードで認証されるデータベース・ユーザーを作成する場合、次のフィールドに値を指定する必要があります。

    • ITリソース: この参照フィールドの値としてOracle DBを指定します。

    • ユーザー名: データベース・ユーザーの名前を入力します。

    • パスワード: データベース・ユーザーのパスワードを入力します。

    • 認証タイプ: この参照フィールドの値としてPASSWORDを指定します。

  • グローバルに認証されるデータベース・ユーザーを作成する場合、次の必須フィールドに値を指定する必要があります。

    • ITリソース: この参照フィールドの値としてOracle DBを指定します。

    • ユーザー名: データベース・ユーザーの名前を入力します。

    • 認証タイプ: この参照フィールドの値としてGLOBALを指定します。

    • グローバルDN: 組織の識別名(DN)を入力します。

      サンプル値: cn=ajones,cn=users,dc=oracle,dc=vm

    必要なデータを送信すると、コネクタによって次の問合せが実行されて、グローバルに認証されるデータベース・ユーザーが作成されます。

    CREATE USER {__NAME__} IDENTIFIED GLOBALLY AS {globalDN}

  • 外部で認証されるデータベース・ユーザーを作成する場合、次の必須フィールドに値を指定する必要があります。

    • ITリソース: この参照フィールドの値としてOracle DBを指定します。

    • ユーザー名: データベース・ユーザーの名前を入力します。

    • 認証タイプ: この参照フィールドの値としてEXTERNALを指定します。

    必要なデータを送信すると、アダプタによって次の問合せが実行されて、外部で認証されるデータベース・ユーザーが作成されます。

    CREATE USER {__NAME__} IDENTIFIED EXTERNALLY

  • 「デフォルト表領域割当て制限」フィールドに値を指定する場合、次の書式で値を入力します。

    TABLESPACE_QUOTA M

    この書式では、TABLESPACE_QUOTAがユーザーに割り当てられる表領域割当て制限であり、Mは割当ての測定単位がメガバイトであることを示します。サンプル値: 300 M

    ユーザーに表領域の無制限の割当て制限を割り当てる場合は、「デフォルト表領域割当て制限」フィールドの値として次の値を指定します。

    UNLIMITED

4.6.2 Oracle Databaseでのプロビジョニング・プロセスの理解

プロビジョニングでは、ユーザー・アカウントが作成および管理されます。データベース・リソースをOIMユーザーに割り当てる(プロビジョニングする)と、そのユーザーのターゲット・データベースにアカウントが作成されます。同様に、Oracle Identity Managerでリソースを更新すると、ターゲット・システムのアカウントが同じように更新されます。

Oracle Identity Managerにコネクタをインストールするときに、直接プロビジョニング機能は自動的に有効になります。すなわち、コネクタをインストールすると、プロセス・フォームが有効になります。

次にプロビジョニング操作のタイプを示します。

  • ダイレクト・プロビジョニング

  • リクエストベースのプロビジョニング

  • ポリシー変更でトリガーされるプロビジョニング

リクエストベース・プロビジョニングのためにコネクタを構成した場合、プロセス・フォームが抑制されてオブジェクト・フォームが表示されます。すなわち、コネクタにリクエストベースのプロビジョニングを構成すると、ダイレクト・プロビジョニングは無効になります。ダイレクト・プロビジョニングに戻す場合は、「Oracle Databaseでのリクエストベースのプロビジョニングとダイレクト・プロビジョニングとの切替え」を参照してください。

ダイレクト・プロビジョニングによって開始されるOracle Databaseでの「ユーザーの作成」プロビジョニング・プロセスの概要を次に示します。

  1. 管理およびユーザー・コンソールの「ユーザーの作成」ページで、管理者がOIMユーザー・アカウントの作成に必要なデータを入力します。

    管理者が「ユーザーの作成」ページのフィールドに次の値を入力するとします。

    • 名: John

    • 姓: Doe

    • ユーザーID: jdoe

    John Doeに対するOIMユーザー・アカウントが作成されます。

  2. 管理者は、作成されたOIMユーザー・アカウントにプロビジョニングするリソースを選択します。この例では、管理者はOracle DB Userリソースを選択します。

  3. 管理者は、Oracle DB Userリソースのプロビジョニングに必要なデータを入力します。管理者が、データベースへのログインにパスワードを必要とするローカル・ユーザーを作成するとします。したがって、この管理者はリソース・プロビジョニング・プロセス・フォームに次の値を入力します。

    • ITリソース: Oracle DB

    • ユーザー名: JDoe

    • 認証タイプ: PASSWORD

    • パスワード: my_pa55word

    • デフォルト表領域: example

    • プロファイル名: dba_user

    さらに、管理者は、ロールを付与するために次の値をプロセス・フォームに入力します。

    • ロール: 3~JAVA_ADMIN

    • ロール管理オプション: WITH ADMIN OPTION

  4. ターゲット・システムのITリソースで使用可能な情報から、構成(Lookup.DBUM.Oracle.Configuration)参照定義が特定されます。この参照定義には、コネクタ操作時に使用される構成情報が格納されています。

  5. コネクタ・バンドルには、プロビジョニング操作に必要なスクリプト(Provisioning.queries)が含まれています。

  6. SQL文の識別子は、問合せからフェッチされた入力パラメータで置換されます。次に、実際の値を含むSQL文が作成されます。

    ステップ1の実行中に、管理者が「ユーザーID」フィールドの値としてjdoeを入力したとします。この手順のステップ3の実行中、「ユーザー名」フィールドには、管理者が「ユーザーID」に入力した値がすでに移入されています。ここで、この手順のステップ3の実行中に、管理者が「デフォルト表領域」プロセス・フォーム・フィールドの値としてexampleを入力し、「プロファイル名」プロセス・フォーム・フィールドの値としてdba_usersを入力したとします。実際の値を含むSQL文は、次のとおりです。

    CREATE USER jdoe IDENTIFIED BY dba_users ACCOUNT UNLOCK DEFAULT TABLE SPACE example PROFILE db_user

  7. コネクタによってOracle DatabaseでSQL文が実行され、ターゲット・システムにjdoeアカウントが作成されます。プロセスの次のステップは、管理者がターゲット・システム・アカウントにロールまたは権限を付与するためのデータを入力したかどうかによって異なります。

    管理者がロールを付与するための値を入力していない場合、プロビジョニング・プロセスはこの時点で終了します。それ以外の場合、プロセスは次のステップに進みます。

  8. ステップ3の実行中に、管理者は、jdoeアカウントにロールを付与するために必要なデータを入力しました。したがって、ステップ6に示した対応する問合せが読み取られます。

  9. ロール追加のプロビジョニング操作を実行するために実行する必要がある完全なSQL文が作成されます。管理者が管理者オプション付きでロールを付与したかどうかに応じて、SQL文は次のいずれかになります。

    • 管理者が管理者オプション付きでロールを付与するための値を指定した場合、次のSQL文が作成されます。

      GRANT JAVA_ADMIN TO jdoe WITH ADMIN OPTION

    • 管理者が管理者オプション付きでロールを付与するための値を指定していない場合は、次のSQL文が作成されます。

      GRANT JAVA_ADMIN TO jdoe

  10. SQL文の実行に必要な入力パラメータが、問合せファイル内の問合せを使用して行われたパラメータ構成からフェッチされます。

  11. (ステップ11で作成された) SQL文の識別子が、問合せからフェッチされた入力パラメータで置換されます。次に、実際の値を含むSQL文が作成されます。

  12. 問合せによってターゲット・システム(Oracleデータベース)でSQL文が実行され、jdoeターゲット・システム・アカウントにロールJAVA_ADMINが付与されます。

4.6.3 Oracle Databaseでのダイレクト・プロビジョニングの構成

ダイレクト・プロビジョニングでは、Oracle Identity Manager管理者は、管理およびユーザー・コンソールを使用してユーザーにターゲット・システム・アカウントを作成します。

ダイレクト・プロビジョニングの手法を使用してリソースをプロビジョニングするには、次の手順を実行します。

  1. 管理およびユーザー・コンソールにログインします。

  2. データベース・アカウントをユーザーにプロビジョニングする前にOIMユーザーを作成するには:

    1. 「アイデンティティ管理へようこそ」ページの「ユーザー」リージョンで「ユーザーの作成」をクリックします。

    2. 「ユーザーの作成」ページで、OIMユーザーのフィールドに値を入力し、保存アイコンをクリックします。

  3. プロビジョニングする既存のOIMユーザーを検索するには:

    1. 「アイデンティティ管理へようこそ」ページの左ペインにある「検索」リストから「ユーザー」を選択して、ユーザーを検索します。

      あるいは、「ユーザー」リージョンで「拡張検索 - ユーザー」をクリックして検索基準を指定し、「検索」 をクリックします。

    2. 検索結果として表示されるユーザー・リストからOIMユーザーを選択します。

      「ユーザーの詳細」ページが表示されます。

  4. 「アクション」メニューから「リソースの追加」を選択します。あるいは、プラス(+)記号の付いた「リソースの追加」アイコンをクリックします。「ユーザーへのリソースのプロビジョニング」ページが新しいウィンドウに表示されます。

  5. 「ステップ1: リソースの選択」ページで、リストからOracle DB Userリソースを選択し、「続行」をクリックします。

  6. 「ステップ2: リソースの選択の検証」ページで「続行」をクリックします。

  7. 「ステップ5: プロセス・データの指定」ページで、ターゲット・システムに作成するアカウントの詳細を入力し、「続行」をクリックします。

  8. 子データを指定する場合は、子データの「ステップ5: プロセス・データの指定」ページで、ターゲット・システムのユーザーの子データを選択し、「続行」をクリックします。複数の子データが存在し、それらをプロビジョニングする場合は、同じステップを繰り返します。

  9. 「ステップ6: プロセス・データの検証」ページで、指定したデータを確認して「続行」をクリックします。

  10. 「プロビジョニングは開始されています。」というメッセージが表示されます。次のステップを実行します。

    1. 「プロビジョニングは開始されています。」というメッセージを表示しているウィンドウを閉じます。

    2. 「リソース」タブで「リフレッシュ」をクリックして、新たにプロビジョニングされたリソースを表示します。

      リソースのステータスが「プロビジョニング済」になっていれば、プロビジョニングは成功しています。ステータスが「プロビジョニング」の場合は、エラーが発生した可能性があります。エラーが発生したかどうかを確認するには、リソース履歴を確認できます。

4.6.4 Oracle Databaseでのリクエストベースのプロビジョニングの構成

次の項で、リクエストベースのプロビジョニングを可能にするために実行するステップについて説明します。

4.6.4.1 Oracle Databaseでのリクエストベースのプロビジョニングについて

リクエストベースのプロビジョニングでは、エンドユーザーが管理およびユーザー・コンソールを使用して、リソースのリクエストを作成します。管理者または他のユーザーが、特定のユーザーのためにリクエストを作成することもできます。特定のリソースのリクエストを確認して承認できるのは、Oracle Identity Managerで指名された承認者です。

リクエストベースのプロビジョニングの機能は次のとおりです。

  • 1ユーザーにプロビジョニングできるのはターゲット・システムの1リソース(アカウント)のみです。

    ノート:

    ダイレクト・プロビジョニングでは、ターゲット・システムでの複数のデータベース・アカウントのプロビジョニングが可能です。

  • リクエストベースのプロビジョニングを有効にすると、直接プロビジョニングは使用できません。

4.6.4.2 リクエストベースのプロビジョニングの有効化

次の各項では、リクエストベースのプロビジョニングを有効にするために実行する必要がある手順について説明します:

ノート:

この項で説明する手順は、Oracle Identity Managerリリース11.1.1.xを使用している場合にのみ適用できます。

4.6.4.2.1 リクエストベースのプロビジョニングでの承認者の役割

次のステップは、リクエストベースのプロビジョニング操作で承認者によって実行されます。

  1. 管理およびユーザー・コンソールにログインします。
  2. 「ようこそ」ページの右上隅で、「セルフサービス」をクリックします。
  3. 「Identity Managerセルフ・サービスへようこそ」ページで「タスク」タブをクリックします。
  4. 「承認」タブの最初のセクションで、割り当てられているリクエスト・タスクの検索基準を指定できます。
  5. 検索結果表から承認するリクエストを含む行を選択して、「タスクの承認」をクリックします。

    タスクが承認トされたことを確認するメッセージが表示されます。

4.6.4.2.2 デプロイメント・マネージャを使用したリクエスト・データセットのインポート

リクエスト・データセットは、プロビジョニング操作中にリクエスタにより送信される情報を指定するXMLファイルです。これらのリクエスト・データセットで、リクエストベースのプロビジョニング操作中にリクエスタにより送信される必要のある属性のデフォルト・セットの情報を指定します。

デプロイメント・マネージャを使用してリクエスト・データセットXMLファイルをインポートするには、次のようにします。

  1. Oracle Identity Manager管理およびユーザー・コンソールにログインします。
  2. 左のナビゲーション・バーの「デプロイメント管理」リンクをクリックします。
  3. 「デプロイメント管理」の下の「インポート」リンクをクリックします。

    ファイルを開くダイアログ・ボックスが表示されます。

  4. インストール・メディアのxmlディレクトリにあるリクエスト・データセットXMLファイル(DBUserManagement-Oracle-Datasets.xml)を見つけて開きます。

    このXMLファイルの詳細は、「ファイル・プレビュー」ページに表示されます。

  5. 「ファイルの追加」をクリックします。

    「置換」ページが表示されます。

  6. 「次」をクリックします。

    「確認」ページが表示されます。

  7. 「インポート」をクリックします。
  8. 「デプロイメント・マネージャ」ダイアログ・ボックスを閉じます。

    リクエスト・データセットがOracle Identity Managerにインポートされます。

4.6.4.2.3 リクエストベースのプロビジョニングでのエンドユーザーの役割

次のステップは、リクエストベースのプロビジョニング操作でエンドユーザーによって実行されます。

  1. 管理およびユーザー・コンソールにログインします。
  2. 「ようこそ」ページでページの右上の「拡張」をクリックします。
  3. 「アイデンティティ管理へようこそ」ページで「管理」タブをクリックし、「リクエスト」タブをクリックします。
  4. 左ペインの「アクション」メニューから「リクエストの作成」を選択します。

    「リクエスト・テンプレートの選択」ページが表示されます。

  5. 「リクエスト・テンプレート」リストから「リソースのプロビジョニング」を選択して、「次」をクリックします。
  6. 「ユーザーの選択」ページで、リソースをプロビジョニングするユーザーを検索するためのフィールドに検索基準を指定し、S「検索」をクリックします。指定した検索基準に一致するユーザーのリストが「使用可能なユーザー」リストに表示されます。
  7. 「使用可能なユーザー」リストから、アカウントをプロビジョニングするユーザーを選択します。

    1人以上のユーザーのプロビジョニング・リクエストを作成する場合は、「使用可能なユーザー」リストからアカウントをプロビジョニングするユーザーを選択します。

  8. 「移動」または「すべて移動」をクリックして、選択内容を「選択したユーザー」リストに移動し、「次」をクリックします。
  9. 「リソースの選択」ページで「リソース名」フィールドの横にある矢印ボタンをクリックして、使用可能なすべてのリソースのリストを表示します。
  10. 「利用可能なリソース」リストから「Oracle DB User」を選択して「選択したリソース」リストに移動し、「次へ」をクリックします。
  11. 「リソースの詳細」ページで、ターゲット・システムに作成する必要があるアカウントの詳細を入力し、「次」をクリックします。
  12. 「理由」ページで次のフィールドの値を指定し、「終了」をクリックします。
    • 有効日

    • 理由

    リクエストが正常に送信されたことを確認するメッセージが、リクエストIDと一緒に表示されます。

  13. リクエストIDをクリックすると、「リクエストの詳細」ページが表示されます。
  14. 承認の詳細を表示するには、「リソースの詳細」ページで「リクエスト履歴」タブをクリックします。
4.6.4.2.4 自動保存フォーム機能の有効化

自動保存フォーム機能を有効化するには:

  1. Design Consoleにログインします。
  2. 「プロセス管理」を開いて、「プロセス定義」をダブルクリックします。
  3. Oracle DBプロセス定義を検索して開きます。
  4. 「Auto Save Form」チェック・ボックスを選択します。
  5. 保存アイコンをクリックします。
4.6.4.2.5 PurgeCacheユーティリティの実行

PurgeCacheユーティリティを実行して、メタデータ・カテゴリに属するコンテンツをサーバー・キャッシュから消去します。

手順は、「サーバー・キャッシュからのコネクタ・リソース・バンドル関連コンテンツの消去」を参照してください。

リクエストベースのプロビジョニングを有効にする手順は、このステップで終了です。

4.6.5 Oracle Databaseでのリクエストベースのプロビジョニングとダイレクト・プロビジョニングとの切替え

リクエストベースのプロビジョニング用にコネクタを構成した場合は、いつでも直接プロビジョニングに切り替えることができます。同様に、いつでもリクエストベースのプロビジョニングに戻すことができます。この項では、次の項目について説明します。

4.6.5.1 リクエストベースのプロビジョニングから直接プロビジョニングへの切替

ノート:

「Oracle Databaseでのリクエストベースのプロビジョニングの構成」で説明されている手順をすでに実行したことが前提となっています。

リクエストベースのプロビジョニングからダイレクト・プロビジョニングに切り替えるには:

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

  2. 次の手順で、「Auto Save Form」機能を無効にします。

    1. 「Process Management」を開いて「Process Definition」をダブルクリックします。

    2. Oracle DBプロセス定義を検索して開きます。

    3. 「Auto Save Form」チェック・ボックスを選択解除します。

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

  3. 「Self Request Allowed」機能が有効になっている場合は、次の操作を行います。

    1. 「Resource Management」を開き、「Resource Objects」をダブルクリックします。

    2. Oracle DB Userリソース・オブジェクトを検索して開きます。

    3. 「Self Request Allowed」チェック・ボックスを選択解除します。

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

4.6.5.2 直接プロビジョニングからリクエストベースのプロビジョニングへの切替え

直接プロビジョニングからリクエストベースのプロビジョニングへと切り換えるには、次のようにします。

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

  2. 次の手順で、Auto Save Form機能を有効にします。

    1. 「Process Management」を開いて「Process Definition」をダブルクリックします。

    2. Oracle DBプロセス定義を検索して開きます。

    3. 「Auto Save Form」チェック・ボックスを選択します。

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

  3. エンドユーザーが自分自身に対するリクエストを生成できるようにするには、次の手順を実行します。

    1. 「Resource Management」を開き、「Resource Objects」をダブルクリックします。

    2. Oracle DB Userリソース・オブジェクトを検索して開きます。

    3. 「Self Request Allowed」チェック・ボックスを選択します。

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

4.6.6 Oracle Identity Managerリリース11.1.2.xでのプロビジョニング操作の実行

Oracle Identity Managerリリース11.1.2.xでプロビジョニング操作を実行するには:

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

  2. まずOIMユーザーを作成してから、ターゲット・システム・アカウントをプロビジョニングする場合は、次の操作を行います。

    ノート:

    ユーザーの作成の詳細は、『Oracle Fusion Middleware Oracle Identity Managerでのセルフ・サービス・タスクの実行』のユーザーの作成に関する項を参照してください。

    1. 左ペインの「管理」で、「ユーザー」をクリックします

      「ユーザーの検索」ページが表示されます。

    2. 「アクション」メニューから、「作成」を選択しますまたは、ツールバーにある「作成」をクリックします。

    3. 「ユーザーの作成」ページで、OIMユーザーのフィールドの値を入力し、「送信」をクリックしますユーザーが正常に作成されたことを示すメッセージが表示されます。

  3. ターゲット・システム・アカウントを既存のOIMユーザーにプロビジョニングする場合は、次の操作を行います。

    ノート:

    ユーザーの検索の詳細は、Oracle Fusion Middleware Oracle Identity Managerでのセルフ・サービス・タスクの実行のユーザーの検索に関する項を参照してください。

    1. 左ペインの「管理」で、「ユーザー」をクリックします

      「ユーザーの検索」ページが表示されます。

    2. OIMユーザーを検索するための検索条件を指定して、「検索」をクリックします

    3. 検索結果として表示されるユーザー・リストからOIMユーザーを選択します。右ペインに、ユーザー詳細ページが表示されます。

  4. 「アカウント」タブで、「アカウントのリクエスト」をクリックします

  5. 「カタログ」ページで、アプリケーション・インスタンス(つまり、プロビジョニングするアカウント)を検索してカートに追加し、「チェックアウト」をクリックします

  6. アプリケーション・フォームでフィールドの値を指定して、「送信準備ができています」をクリックします

  7. 「送信」をクリックします。

  8. 権限をプロビジョニングする場合は、次の手順を実行します。

    1. 「権限」タブで、「権限のリクエスト」をクリックします

    2. 「カタログ」ページで、権限を検索してカートに追加し、「チェックアウト」をクリックします

    3. 「送信」をクリックします。

4.7 Oracle Databaseでのコネクタの拡張

特定のビジネス要件に対応するようにコネクタの機能を拡張できます。

この項の内容は次のとおりです。

ノート:

Oracle Identity Managerリリース11.1.2以降では、参照問合せはサポートされません。Identity System Administrationでフォーム・デザイナを使用して参照を管理する方法の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理の参照の管理に関する項を参照してください。

4.7.1 事前定義済問合せの変更または新規問合せの作成

次の各項では、事前定義済問合せの変更または新しい問合せの作成を行うときに従う必要がある構文およびガイドラインについて説明します:

4.7.1.1 Oracle Databaseでの問合せについて

ターゲット・システムのユーザー・レコードのリコンサイル、Oracle Identity Managerと参照フィールド値との同期、およびプロビジョニング操作を行うための事前定義済問合せが用意されています。これらの事前定義済問合せを変更したり、独自の問合せを追加することができます。

問合せファイルは、コネクタ・インストール・メディアのbundleディレクトリにあるJARファイルに含まれています。たとえば、bundle/org.identityconnectors.dbum-1.0.1116.jarなどです。

コネクタには次のタイプの問合せが含まれています。

  • プロビジョニング問合せ

    作成、更新および削除の操作で使用されます。問合せファイルはscripts/oracle/Provisioning.queriesです。

  • 値リスト検索問合せ

    参照定義のリコンシリエーションで使用されます。値リスト問合せは、プロファイル、権限、ロール、表領域などのフィールドの値セットに対して使用します。問合せファイルはscripts/oracle/LoVSearch.queriesです。

  • アカウント検索問合せ

    完全リコンシリエーション、増分リコンシリエーションおよびリコンシリエーション削除の操作に使用されます。アカウント検索問合せは、様々な条件でのアカウント検索およびグループ検索に対して使用します。問合せファイルはscripts/oracle/Search.queriesです。

ノート:

プロセス・フォームでライトバック用にストアド・プロシージャOUTパラメータを構成することはできません。戻された値をコネクタ操作に使用することはできません。

4.7.1.2 Oracle Databaseでのプロビジョニング問合せの構文

プロビジョニング操作で使用される問合せの構文は、次のとおりです。

QUERYID {

Query="QUERY"

QueryType="QUERYTYPE"

Parameters=["PARAM1":"PARAMDEFN1", "PARAM2":"PARAMDEFN2"...]

ExtensionJoin="EXTENSIONJOIN"

ExtensionSeparator="EXTENSIONSEPARATOR"

QueryExtensions=["EXTENSION1","EXTENSION2"...]

}

次に例を示します:

CREATE_EXTERNAL_USER {
    Query="CREATE USER {__NAME__} IDENTIFIED EXTERNALLY"
    QueryType="SQL"
    Parameters=["__NAME__":"Type:String,TAGS:DOUBLEQUOTES"]
    ExtensionJoin=","
    ExtensionSeparator=", "
    QueryExtensions=["TEMP_TABLESPACE_QUERY","TABLESPACE_QUERY","PROFILE_QUERY"]
}

この構文の説明は次のとおりです:

  • QUERYIDは、問合せの一意の名前です。

    たとえば: CREATE_EXTERNAL_USER

    CREATEプロビジョニング問合せの場合、QUERYIDの書式は、CREATE_AUTHENTICATIONTYPE_ACCOUNTTYPEです。デフォルトのアカウント・タイプは、USERです。その他のプロビジョニング問合せでの書式は、OPERATIONTYPE_ATTRIBUTE (UPDATE_GLOBALDNなど)です。

  • QUERYは主問合せです。

    たとえば: Query="CREATE USER {__NAME__} IDENTIFIED EXTERNALLY"

  • QueryTypeは主問合せのタイプ(SQL問合せまたはストアド・プロシージャ)です。QUERYTYPEの値は、SQLまたはStoredProcです。

    たとえば: QueryType="SQL"

  • Parametersは主問合せで使用されるパラメータおよびパラメータ定義のカンマ区切りリストであり、"PARAM1":"PARAMDEFN1", "PARAM2":"PARAMDEFN2"などのように表されます。

    たとえば: Parameters=["__NAME__":"Type:String,TAGS:DOUBLEQUOTES"]

    パラメータには次の属性を指定できます。

    • Typeはパラメータのタイプです。

    • Directionは、問合せとパラメータ間のデータの流れです。値はINOUTまたはINOUTです。

    • TAGSは、問合せの処理前に各パラメータに適用される囲み文字です。この値は、DOUBLEQUOTESQUOTESUPPERCASEまたはLOWERCASE.です。

      複数のタグを使用する場合、それらのタグをエスケープ・クォートで囲んで、カンマで区切る必要があります。ただし、同じ問合せ内でDOUBLEQUOTESQUOTES、またはUPPERCASELOWERCASEを一緒に使用することはできません。

      たとえば: "Type:String,TAGS:\"DOUBLEQUOTES,UPPERCASE\"

  • ExtensionJoin (オプション)はEXTENSIONJOINで表される演算子であり、主問合せを問合せ拡張と結合するために使用されます。

    たとえば: ExtensionJoin=","

  • ExtensionSeparator (オプション)は問合せ拡張間のデリミタであり、EXTENSIONSEPARATORで表されます。

    たとえば: ExtensionSeparator=", "

  • QueryExtensions (オプション)は主問合せに追加する必要のある拡張であり、EXTENSION1EXTENSION2などのように表されます。

    たとえば: QueryExtensions=["TEMP_TABLESPACE_QUERY","TABLESPACE_QUERY","PROFILE_QUERY"]

プロビジョニング操作時に、コネクタによってこれらすべての構成要素が次の問合せに結合されます。

QUERY PARAM1, PARAM2... [EXTENSIONJOIN [EXTENSION1 EXTENSIONSEPARATOR EXTENSION2 EXTENSIONSEPARATOR...]]

次に例を示します:

CREATE USER {__NAME__} IDENTIFIED EXTERNALLY, TEMP_TABLESPACE_QUERY, TABLESPACE_QUERY, PROFILE_QUERY

using-and-extending-connector-oracle-database.htm#GUID-B81AC529-FA05-456B-AA87-8BA76811FDDD__CACDDGHHに、プロビジョニング問合せのスクリプト選択ロジックを示します:

表4-18 Oracleのプロビジョニング問合せのスクリプト選択ロジック

操作 選択ロジック 問合せID

CREATE

CREATE_AUTHTYPE_OBJECTYPE

CREATE_PASSWORD_USER

CREATE_GLOBAL_USER

CREATE_EXTERNAL_USER

DELETE

DELETE_OBJECTTTYPE

DELETE_USER

ENABLE

ENABLE_OBJECTTYPE

ENABLE_USER

DISABLE

DISABLE_OBJECTTYPE

DISABLE_USER

RESET PASSWORD

SET_PASSWORD

SET_PASSWORD

UPDATE

UPDATE_ATTRIBUTE

UPDATE_TABLESPACE

UPDATE_DEFAULTQUOTA

UPDATE_GLOBALDN

UPDATE_PROFILE

UPDATE_TEMPTABLESPACE

ADD CHILD VALUES

UPDATE_ADD_ATTRIBUTE

UPDATE_ADD_ROLES

UPDATE_ADD_PRIVILEGES

REMOVE CHILD VALUES

UPDATE_REVOKE_ATTRIBUTE

UPDATE_REVOKE_ROLES

UPDATE_REVOKE_PRIVILEGES

4.7.1.3 Oracle Databaseでのリコンシリエーション問合せの構文

リコンシリエーション操作時に使用される検索問合せの構文を次に示します。

QUERYID {

Query="QUERY"

QueryType="QUERYTYPE"

Parameters=["PARAM1":"PARAMDEFN1", "PARAM2":"PARAMDEFN2"...]

ExtensionJoin="EXTENSIONJOIN"

ExtensionSeparator="EXTENSIONSEPARATOR"

QueryExtensions=["EXTENSION1","EXTENSION2"...]

}

次に例を示します:

SEARCH_USER {
    Query="SELECT {__UID__}, {authType}, {externalname}, {tablespace}, {status}, {tempTableSpace}, {profile}," +
        " {defaultQuota}, {tmpQuota}, {lastModified} FROM  DBA_USERS dba {filter}"
    QueryType="SQL"
    Parameters=["__UID__":"Type:String,Direction:OUT,ColName:USERNAME",
            "authType":"Type:String,Direction:OUT,ColName:PASSWORD,ColQuery:\"DECODE(PASSWORD, 'EXTERNAL', 'EXTERNAL', 'GLOBAL', 'GLOBAL', 'PASSWORD')\"",
            "tablespace":"Type:String,Direction:OUT,ColName:DEFAULT_TABLESPACE",
            "tmpQuota":"Type:String,Direction:OUT,ColName:TEMPORARY_TABLESPACE_QUOTA,ColQuery:(SELECT MAX_BYTES FROM DBA_TS_QUOTAS WHERE dba.USERNAME = USERNAME AND TABLESPACE_NAME = dba.TEMPORARY_TABLESPACE)",
            "defaultQuota":"Type:String,Direction:OUT,ColName:DEFAULT_TABLESPACE_QUOTA,ColQuery:(SELECT MAX_BYTES FROM DBA_TS_QUOTAS WHERE dba.USERNAME = USERNAME AND TABLESPACE_NAME = dba.DEFAULT_TABLESPACE)",
            "externalname":"Type:String,Direction:OUT,ColName:EXTERNAL_NAME",
            "status":"Type:String,Direction:OUT,ColName:ACCOUNT_STATUS",
            "tempTableSpace":"Type:String,Direction:OUT,ColName:TEMPORARY_TABLESPACE",
            "profile":"Type:String,Direction:OUT,ColName:PROFILE",
            "lastModified":"Type:long,Direction:OUT,ColName:TIMESTAMP, ColQuery:\"((CREATED - TO_DATE('01011970','ddmmyyyy')) *24*60*60*1000)\""]
    QueryExtensions=["SEARCH_USER_ROLE", "SEARCH_USER_PRIVILEGE"]
}

この構文の説明は次のとおりです:

  • QUERYIDは、問合せの一意の名前です。

    たとえば: SEARCH_USER

    QUERYIDの値は次のいずれかです。

    • SEARCH_USER

    • BATCHED_SEARCH_USER

    • SEARCH_USER_ROLE

    • SEARCH_USER_PRIVILEGE

  • QUERYは主問合せです。

    たとえば: Query="SELECT {__UID__}, {authType}, {externalname}, {tablespace}, {status}, {tempTableSpace}, {profile}," + " {defaultQuota}, {tmpQuota}, {lastModified} FROM DBA_USERS dba {filter}"

  • QueryTypeは主問合せのタイプであり、SQL問合せ、ストアド・プロシージャまたは問合せ拡張のいずれかです。QUERYTYPEの値は、SQLStoredProcまたはQUERYEXTENSIONです。

    たとえば: QueryType="SQL"

  • Parametersは主問合せで使用されるパラメータおよびパラメータ定義のカンマ区切りリストであり、"PARAM1":"PARAMDEFN1", "PARAM2":"PARAMDEFN2"などのように表されます。

    次に例を示します:

    Parameters=["__UID__":"Type:String,Direction:OUT,ColName:USERNAME",

    "authType":"Type:String,Direction:OUT,ColName:PASSWORD,ColQuery:\"DECODE(PASSWORD, 'EXTERNAL', 'EXTERNAL', 'GLOBAL', 'GLOBAL', 'PASSWORD')\""]

    パラメータには次の属性を指定できます。

    • Typeはパラメータのタイプです。

    • Directionは、問合せとパラメータ間のデータの流れです。値はINOUTまたはINOUTです。

    • ColNameは、問合せ内のパラメータに対応するターゲット・システム内の列名です。

    • ColQueryは、対応する問合せパラメータの値をフェッチするために使用される問合せです。

  • ExtensionJoin (オプション)はEXTENSIONJOINで表される演算子であり、主問合せを問合せ拡張と結合するために使用されます。

    たとえば: ExtensionJoin=","

  • ExtensionSeparator (オプション)は問合せ拡張間のデリミタであり、EXTENSIONSEPARATORで表されます。

    たとえば: ExtensionSeparator=", "

  • QueryExtensions (オプション)は主問合せに追加する必要のある拡張であり、EXTENSION1EXTENSION2などのように表されます。

    たとえば: QueryExtensions=["SEARCH_USER_ROLE", "SEARCH_USER_PRIVILEGE"]

リコンシリエーション操作時に、コネクタによってこれらすべての構成要素が次の問合せに結合されます。

QUERY PARAM1, PARAM2... [EXTENSIONJOIN [EXTENSION1 EXTENSIONSEPARATOR EXTENSION2 EXTENSIONSEPARATOR...]]

次に例を示します:

SELECT {__UID__}, {authType}, {externalname}, {tablespace}, {status}, {tempTableSpace}, {profile}, {defaultQuota}, {tmpQuota}, {lastModified} FROM DBA_USERS dba {filter}, SEARCH_USER_ROLE, SEARCH_USER_PRIVILEGE

4.7.1.4 Oracle Databaseでの値リスト問合せの構文

User Nameなどのアカウント・タイプに対して検索問合せが実行された場合、その問合せはリコンシリエーション問合せとみなされます。それ以外のオブジェクトに対して検索問合せが実行された場合、その問合せは値リスト問合せとみなされます。

参照フィールド同期に使用される値リスト問合せの構文を次に示します。

OBJECTTYPE = "QUERY"

次に例を示します:

__PROFILE__="SELECT DISTINCT profile FROM dba_profiles"

この構文の説明は次のとおりです:

  • OBJECTTYPEは参照フィールド属性です。

    たとえば: __PROFILE__

  • QUERYは、参照フィールド属性をフェッチするために使用される問合せです。

    たとえば: SELECT DISTINCT profile FROM dba_profiles

値リスト問合せでは、参照フィールドのエントリとして使用される値が戻されます。デフォルトでは、コネクタには各参照定義に専用のスケジュール済ジョブが含まれています。カスタム参照定義を使用するには、カスタム・フィールドを問合せファイルに追加する必要があります。

4.7.1.5 Oracle Databaseからのリコンシリエーションで使用される検索問合せの構成に関するガイドライン

次に、リコンシリエーションのための問合せの変更または作成を行うときに従う必要があるガイドラインを示します。

  • リコンシリエーション問合せのSELECT句で列を追加または削除することにより、リコンシリエーションのためのターゲット・システム属性のリストで属性を追加または削除します。リコンサイルされる属性のリストの変更(追加または削除)をコネクタが処理できるように、コネクタのプロビジョニングの部分で対応する変更を行う必要があります。

    読取り専用属性が存在する場合、個々のプロセス・フォームで読取り専用属性に対する更新を無効化する必要があります。

  • 問合せプロパティ・ファイル内の事前定義済問合せの名前は変更しないでください。

  • 一部の事前定義済問合せでは内部問合せが使用されます。外部問合せの列を追加または削除する場合は、内部問合せもそれに応じて変更する必要があります。

  • 「ユーザー名」リソース・オブジェクト属性に対応する列は削除できません。

  • 「パラメータ」リストに含まれている次の条件が削除されていないことを確認する必要があります。

    "lastModified":"Type:long,Direction:IN,ColQuery:\"((CREATED - TO_DATE('01011970','ddmmyyyy')) *24*60*60*1000)\""]
    

    この条件は、増分リコンシリエーション属性スケジュール済ジョブ属性に格納されているタイムスタンプの後にターゲット・システム・レコードが追加または更新されたかどうかを判別するために使用されます。

  • 日付リテラルの書式は、必ずTO_DATE関数を使用して指定します。たとえば、日付値を'31-Dec-4712'と指定するかわりにTO_DATE('31-Dec-4712','DD-Mon-YYYY')を使用します。

  • プロパティ・ファイル内の問合せのSELECT句の列を追加または削除した場合は、子属性とターゲット・システム列名の間のマッピングが含まれる属性マッピング参照定義を更新する必要があります。さらに、他のOIMオブジェクトも更新する必要があります。

  • Search.queriesファイル内の問合せを変更または追加する前に、標準データベース・クライアントを使用してこの問合せを実行し、ターゲット・システム・データベースで実行したときに必要な結果が生成されることを確認する必要があります。

4.7.2 Oracle Databaseでのカスタム・パラメータおよび参照フィールドのサポートを追加するための問合せの構成

コネクタでは、作成、削除、検索などのコネクタ操作に対して事前定義済問合せが使用されます。要件に応じて、カスタム・パラメータおよび参照定義フィールドを追加できます。

次の各項では、パラメータまたは参照定義フィールドを問合せファイルに追加する手順について説明します。

4.7.2.1 Oracle Databaseでの問合せファイルの更新

問合せファイルを更新するには、次のようにします。

  1. コネクタがすでにインストールされている場合は、Oracle Identity ManagerのJARダウンロード・ユーティリティを実行して、Oracle Identity Managerデータベースからコネクタ・バンドルJARファイルをダウンロードします。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。

    ノート:

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

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/DownloadJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/DownloadJars.sh

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

  2. バンドルJARファイルを一時ディレクトリにコピーします。

    サンプルJARファイル: bundle/org.identityconnectors.dbum-1.0.1116.jar

    サンプル一時ディレクトリ: c:\temp

  3. 次のコマンドを実行して、コネクタ・バンドルJARファイルを抽出します。

    jar -xvf org.identityconnectors.dbum-1.0.1116.jar
    

    ノート:

    また、WinZipまたはWinRARユーティリティを実行して、JARファイルからコンテンツを抽出することもできます。

  4. 一時ディレクトリ内のバンドルJARファイルを削除します。

  5. マニフェスト・ファイル(META-INF/MANIFEST.MF)内のConnectorBundle-Versionの値を新しい値に更新します。

    次に例を示します:

    ConnectorBundle-Version: 1.0.1117

  6. 要件に応じて、「Oracle Databaseでの問合せについて」で説明されている問合せ構文に従って、問合せファイルを新しいパラメータで更新します。

    たとえば、新しいパラメータtmpQuotaをCREATE_USERプロビジョニング問合せに追加する場合は、次のようにします。

    1. テキスト・エディタで、プロビジョニング問合せファイルを開きます。

      サンプル問合せファイル: c:\temp\bundle\org.identityconnectors.dbum-1.0.1116\scripts\oracle\Provisioning.queries

    2. パラメータtmpQuotaCREATE_USER問合せに追加します。

      更新済のサンプル問合せを次に示します。

      CREATE_USER {
          Query="CREATE USER {__NAME__} IDENTIFIED BY {__PASSWORD__} TEMPORARY QUOTA {tmpQuota} ON {tempTableSpace}"
          QueryType="SQL"
          Parameters=["__NAME__":"Type:String,TAGS:DOUBLEQUOTES", "__PASSWORD__":"Type:GuardedString,TAGS:DOUBLEQUOTES", "tmpQuota":"Type:String", "tempTableSpace":"Type:String,Tags:EXCLUDE_VALIDATION"]
          QueryExtensions=["TABLESPACE_QUERY","TEMP_TABLESPACE_QUERY","PROFILE_QUERY","DEFAULTS_QUOTA_QUERY","TEMPTS_QUOTA_QUERY"]
      }
      
    3. 問合せファイルを保存して閉じます。

  7. 次のようにして、更新済マニフェスト・ファイルおよびプロビジョニング問合せファイルを含む新しいバンドルJARファイルを作成します。

    1. コマンド・プロンプトを開いて、一時ディレクトリに移動します。

      c:\temp

    2. 次のコマンドを実行します。

      jar -cvfm org.identityconnectors.dbum-1.0.1117.jar *
      

    新しいコネクタ・バンドルJAR名には、新しいバンドル・バージョンが含まれます。

  8. リモート・コネクタ・サーバーの場合、JARファイルをOracle Identity Managerデータベースに転送するのではなく、新しいバンドルJARファイルをリモート・コネクタ・サーバーのbundlesディレクトリにコピーします。ステップ10に進みます。

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

    ノート:

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

    OracleコネクタとMSSQLコネクタの両方を同じOracle Identity Managerにインストールした場合は、すべてのサード・パーティJARファイルがコネクタ・バンドルJARファイル内の/libディレクトリに含まれていることを確認してください。

    Microsoft Windowsの場合:

    OIM_HOME/server/bin/UpdateJars.bat

    UNIXの場合:

    OIM_HOME/server/bin/UpdateJars.sh

    このユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、更新するJARファイルのタイプ、およびJARファイルの更新元の場所を入力するように求められます。ICFBundleをJARタイプとして選択します。

  10. 構成参照を新しいバンドル・バージョンで更新します。

    たとえば、Lookup.DBUM.Oracle.Configuration参照定義を更新できます。

4.7.2.2 Oracle Identity Managerの構成

追加したパラメータがOracle Identity Managerのデフォルトのフォーム・フィールドとしてすでに存在している場合、この手順は省略できます。

パラメータを追加するためにOracle Identity Managerを構成するには、次のようにします。

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

  2. 新しいバージョンのプロセス・フォームを作成します。

    1. 「開発ツール」を開きます。

    2. 「フォーム・デザイナ」をダブルクリックします。

    3. UD_DB_ORA_Uプロセス・フォームを検索して開きます。

    4. 「新しいバージョンの作成」をクリックします。

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

  3. プロセス・フォームに新しいフィールドを追加します。

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

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

      たとえば、tmpQuotaフィールドを追加する場合は、「名前」フィールドにUD_DB_ORA_U_TMPQUOTA1と入力し、このフィールドの残りの詳細を入力します。

    2. 保存アイコンをクリックし、「バージョンのアクティブ化」をクリックします。

  4. Oracle Identity Managerリリース11.1.2.x以降を使用している場合、次のようにして、Design Consoleの「フォーム・デザイナ」に加えられたすべての変更を、新しいUIフォームで実行する必要があります。

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

    2. サンドボックスを作成し、アクティブにします。

    3. 新たに追加したフィールドと残りのフィールドを表示するために新しいUIフォームを作成します。Oracle Fusion Middleware Oracle Identity Managerの管理 の フォーム・デザイナを使用したフォームの作成に関する項を 参照してください。 

    4. 新たに作成したUIフォームを、ターゲット・システムのアプリケーション・インスタンスと関連付けます。それを行うには、「フォーム」フィールドの、リソースの既存のアプリケーション・インスタンスを開き、(ステップ4.cで作成した)フォームを選択して、アプリケーション・インスタンスを保存します。

    5. Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのサンドボックスの公開に関する項の説明に従って、サンドボックスを公開します。

  5. 「追加」をクリックして、Custom Attribute 1 Updatedなどのタスク名およびタスクの説明を入力します。

  6. プロビジョニングの参照定義で、次のようにして、フィールドのエントリを作成します。

    1. 「管理」を開きます。

    2. 「ルックアップ定義」をダブルクリックします。

    3. Lookup.DBUM.Oracle.UM.ProvAttrMap参照定義を検索して開きます。

    4. 「Add」をクリックし、フィールドのコード・キー値とデコード値を入力します。

      コード・キーの値は、フォーム・フィールドの名前にする必要があります。デコードの値は、ターゲット・システムの属性の名前にする必要があります。

      たとえば、コード・キー・フィールドにTemporary Quotaと入力し、デコード・フィールドにtmpQuotaと入力します。

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

  7. 次のようにして、新しいフィールド「Temporary Quota」を更新するプロセス・タスクを作成します。

    1. 「プロセス管理」を開きます。

    2. 「プロセス定義」をダブルクリックし、Oracle DB Userプロセス定義を開きます。

    3. 「追加」をクリックし、タスク名(Temporary Quota Updatedなど)およびタスクの説明を入力します。

    4. タスク・プロパティ・セクションで、条件付きフィールドと「複数のインスタンスを許可」フィールドを選択して保存アイコンをクリックします。

    5. adpORAUPDATEWITHREFアダプタを選択して保存アイコンをクリックし、表示されるメッセージで「OK」をクリックします。

    6. 次の表に示されているアダプタ変数をマッピングするには、アダプタを選択して「マップ」をクリックし、次の表に示されているデータを指定します。

      変数名 データ型 マップ先 修飾子 リテラル値

      Adapter return value

      オブジェクト

      レスポンス・コード

      N/A

      N/A

      attrName

      文字列

      リテラル

      文字列

      Temporary Quota

      ITResField

      文字列

      リテラル

      文字列

      UD_DB_ORA_U_ITRES

      newVal

      文字列

      プロセス・データ

      tmpQuota

      N/A

      objectType

      文字列

      リテラル

      文字列

      User

      oldValue

      ノート: 「古い値」チェック・ボックスを選択する必要があります。

      文字列

      プロセス・データ

      tmpQuota

      N/A

      procInstance

      Long

      プロセス・データ

      プロセス・インスタンス

      N/A

    7. 「レスポンス」タブで「追加」をクリックして、次のレスポンス・コードを追加します。

      コード名 説明 ステータス

      ERROR

      エラーが発生しました

      R

      UNKNOWN

      不明な応答を受信した

      R

      SUCCESS

      操作が完了しました

      C

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

4.7.3 Oracle Databaseの複数のインストールに対するコネクタの構成について

ターゲット・システムの複数のインストールに対してコネクタを構成する場合があります。次の例でこの要件について説明します。

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

これを実現するために、ITリソースやリソース・オブジェクトなどのコネクタ・オブジェクトのコピーを作成できます。

コネクタ・オブジェクトのコピーを作成するかどうかの決定は、要件に基づきます。たとえば、ITリソースは1つのターゲット・システム・インストールの接続情報を保持できます。このため、ターゲット・システムのインストールごとにITリソースのコピーを作成する必要があります。

その他のコネクタ・オブジェクトでは、コピーを作成する必要はまったくありません。たとえば、1つの属性マッピング参照定義をターゲット・システムのすべてのインストールに使用できます。

すべてのコネクタ・オブジェクトはリンクされています。たとえば、スケジュール済ジョブにITリソースの名前を格納します。同様に、Oracle Databaseなどのターゲット・システムのITリソースに構成参照定義の名前(Lookup.DBUM.Oracle.Configuration)を格納します。オブジェクトのコピーを作成する場合、関連付けられたコネクタ・オブジェクト内にコピーの名前を指定する必要があります。

ノート:

  • 特定のターゲット・システム・インストールからデータをリコンサイルするには、そのターゲット・システム・インストールに対するITリソースの名前を、ITリソース名を保持するスケジュール済ジョブ属性の値として指定します。たとえば、このITリソースの名前を、実行するスケジュール済ジョブのITリソース属性の値として入力します。

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

using-and-extending-connector-oracle-database.htm#GUID-1AFCDA64-2E71-4DE3-A397-2FAF537720EC__CACIHJDCに、コピーを作成できるコネクタ・オブジェクトと、これらのオブジェクトを参照する他のオブジェクトとの関連付けを示します。コネクタ・オブジェクトのコピーを作成する場合、この情報を使用して、そのオブジェクトと他方のオブジェクトの関連付けを変更します。

ノート:

  • 特定のOracle Identity Managerインストールにコネクタ・オブジェクトのコピーを作成する場合、そのコピーに一意の名前を設定する必要があります。

  • Oracle Identity Managerリリース11.1.2.x以降を使用している場合、この項で説明した手順に加えて、各ITリソースに対してアプリケーション・インスタンスを作成する必要があります。アプリケーション・インスタンスの作成の詳細は、「Oracle Identity Managerリリース11.1.2以降の構成」を参照してください。

表4-19 コネクタ・オブジェクトおよびそれらの関連付け

コネクタ・オブジェクト 名前 参照元 コピー作成に関するコメント

ITリソース

Oracle

  • UD_DB_ORA_U (プロセス・フォーム)

  • スケジュール済タスク

ITリソースのコピーは異なる名前で作成します。

リソース・オブジェクト

Oracle DB User

Oracle DB Trusted

すべてのコネクタ操作

リソース・オブジェクトのコピーの作成は、オプションです。ターゲット・システムのすべてのインストールから同じ属性セットをリコンサイルする場合、リソース・オブジェクトのコピーを作成する必要はありません。

ノート: リソース・オブジェクトのコピーを作成するのは、ターゲット・システムの異なるインストール間で属性に違いがある場合のみです。

スケジュール済ジョブ

様々な用途のスケジュール済ジョブが多数あります。

N/A

スケジュール済ジョブは同じ名前で使用できます。ただし、使用するターゲット・システムに応じて、パラメータの値を更新する必要があります。

プロセス定義

Oracle DB User

N/A

プロセス定義のコピーの作成は、オプションです。ターゲット・システムのすべてのインストールから同じ属性セットをリコンサイルまたはプロビジョニングする場合、プロセス定義のコピーを作成する必要はありません。

ノート: プロセス・フォームのコピーを作成するのは、ターゲット・システムの異なるインストール間で属性に違いがある場合のみです。

プロセス・フォーム

UD_DB_ORA_U

Oracle DB User (プロセス定義)

プロセス・フォームのコピーの作成は、オプションです。ターゲット・システムのすべてのインストールから同じ属性セットをプロビジョニングする場合、プロセス定義のコピーを作成する必要はありません。

ノート: プロセス・フォームのコピーを作成するのは、ターゲット・システムの異なるインストール間で属性に違いがある場合のみです。

子プロセス・フォーム

  • UD_DB_ORA_R

  • UD_DB_ORA_P

  • Oracle DB User (プロセス定義)

  • UD_DB_ORA_U (プロセス・フォーム)

子プロセス・フォームのコピーの作成は、オプションです。新しい子データ・セットをプロビジョニングする場合、子プロセス・フォームと親プロセス・フォームのコピーを作成する必要があります。次に、新しく作成した子プロセス・フォームを、新しく作成した親プロセス・フォームに割り当てます。

ターゲット・リソースとして構成されたターゲット・システム用の構成参照定義

Lookup.DBUM.Oracle.Configuration

Oracle DB (ITリソース)

構成参照定義のコピーの作成は、オプションです。(ターゲット・リソースとして構成された)ターゲット・システムのすべてのインストールで同じ属性セットをプロビジョニングおよびリコンサイルする場合、構成参照定義のコピーを作成する必要はありません。

ノート: 構成参照定義のコピーを作成するのは、ターゲット・システムの異なるインストール間で属性の違いがあり、さらに新しいプロセス・フォームを作成した場合のみです。

信頼できるソースとして構成されたターゲット・システム用の構成参照定義

Lookup.DBUM.Oracle.Configuration.Trusted

Oracle DB (ITリソース)

構成参照定義のコピーの作成は、オプションです。(信頼できるソースとして構成された)ターゲット・システムのすべてのインストールで同じ属性セットをリコンサイルする場合、構成参照定義のコピーを作成する必要はありません。

ノート: 信頼できるソースの構成参照定義のコピーを作成するのは、ターゲット・システムの異なるインストール間で属性の違いがあり、さらに新しいプロセス・フォームを作成した場合のみです。

(ターゲット・リソースの)リソース・オブジェクト属性マッピング参照定義

Lookup.DBUM.Oracle.UM.ReconAttrMap

N/A

リソース・オブジェクト属性マッピング参照定義のコピーの作成は、オプションです。ターゲット・システムのすべてのインストールで同じ属性セットをリコンサイルする場合、リソース・オブジェクト属性マッピング参照のコピーを作成する必要はありません。

ノート: この参照定義のコピーを作成するのは、ターゲット・システムの2つのインストール間で属性に違いがある場合のみです。

信頼できるソースとして構成されたターゲット・システム用の構成参照定義

Lookup.DBUM.Oracle.UM.ReconAttrMap.Trusted

Oracle DB (ITリソース)

構成参照定義のコピーの作成は、オプションです。(信頼できるソースとして構成された)ターゲット・システムのすべてのインストールで同じ属性セットをリコンサイルする場合、構成参照定義のコピーを作成する必要はありません。

ノート: 信頼できるソースの構成参照定義のコピーを作成するのは、ターゲット・システムの異なるインストール間で属性の違いがあり、さらに新しいプロセス・フォームを作成した場合のみです。

4.7.4 Oracle Databaseからの複数の信頼できるソースのリコンシリエーション用のコネクタの構成について

ノート:

このコネクタでは、複数の信頼できるソースのリコンシリエーションがサポートされます。

この項ではオプションの手順を説明します。この手順は、複数の信頼できるソースのリコンシリエーションのためにコネクタを構成する場合にのみ実行します。

次に、組織のユーザー・データに対して複数の信頼できるソースが存在する場合の例を示します。

  • ターゲット・システムの1つは、ユーザーに関するデータの信頼できるソースです。2つ目のターゲット・システムは、契約者に関するデータの信頼できるソースです。3つ目のターゲット・システムは、インターンに関するデータの信頼できるソースです。

  • 1つのターゲット・システムは、OIMユーザーを構成する一部のアイデンティティ・フィールドのデータを保持します。他の2つのシステムは、残りのアイデンティティ・フィールドのデータを保持します。つまり、OIMユーザーを作成するには、3つのシステム全部からデータをリコンサイルする必要があります。

組織のオペレーティング環境がこれらのシナリオのいずれかで説明されている環境に類似する場合、このコネクタを使用すると、組織の個人データの信頼できるソースの1つとしてターゲット・システムを使用できるようになります。

複数の信頼できるソースのリコンシリエーションの詳細は、『Oracle Fusion Middleware Oracle Identity Managerの管理』のリコンシリエーションの管理に関する項を参照してください。

4.7.5 Oracle Databaseでのリコンシリエーションおよびプロビジョニング時のデータ検証の構成

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

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

  1. org.identityconnectors.dbum.extension.DBUMValidatorなどの完全修飾ドメイン名(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. 「Oracle Databaseでのデータ検証用の参照定義」に示されている参照定義の1つを検索して開きます(または新しい参照を作成します)。

    たとえば、Lookup.DBUM.Oracle.UM.ProvValidationsなどです。

    ノート:

    これらの参照定義を見つけられなければ、新しい参照定義を作成します。

  4. コード・キー列で、検証するリソース・オブジェクト・フィールド名を入力します。たとえば、Usernameなどです。
  5. デコード列で、クラス名を入力します。たとえば、org.identityconnectors.dbum.extension.DBUMValidatorなどです。
  6. 参照定義に変更を保存します。
  7. 使用するターゲット・システムの構成参照定義を検索して開きます。

    たとえば、Lookup.DBUM.Oracle.UM.Configurationなどです。

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

      Recon Validation Lookup

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

      Provisioning Validation Lookup

  9. デコード列に、ステップ3で更新または作成した参照の名前を入力します。

    たとえば、Lookup.DBUM.Oracle.UM.ProvValidationsなどです。

  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. リコンシリエーションまたはプロビジョニングを実行して、Usernameなどのフィールドの検証を確認します。

4.7.6 Oracle Databaseでのユーザー・リコンシリエーション時のデータ変換の構成

要件に応じて、リコンサイルされた単一値ユーザー・データの変換を構成できます。たとえば、「名」および「姓」値を使用して、Oracle Identity Managerの「氏名」フィールドの値を作成できます。

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

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

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

    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 sUserName = (String) hmUserDetails.get("__NAME__");
            return sUserName + "@example.com";
     
        }
    }
    
  2. Design Consoleにログインします。
  3. 「Oracle Databaseでのデータ変換用の参照定義」に示されている参照定義の1つを検索して開きます(または新しい参照を作成します)。

    たとえば、Lookup.DBUM.Oracle.UM.ReconTransformationsなどです。

    ノート:

    これらの参照定義を見つけられなければ、新しい参照定義を作成します。

  4. コード・キー列に、変換するリソース・オブジェクト・フィールド名を入力します。たとえば、Usernameなどです。
  5. デコード列で、クラス名を入力します。たとえば、org.identityconnectors.dbum.extension.DBUMTransfomationなどです。
  6. 参照定義に変更を保存します。
  7. Lookup.DBUM.Oracle.UM.Configuration参照定義を検索して開きます。
  8. コード・キー列に、リコンシリエーション変換参照を入力します。
  9. デコード列に、ステップ3で更新または作成した参照の名前を入力します。

    たとえば、Lookup.DBUM.Oracle.UM.ReconTransformationsなどです。

    信頼できるモードの場合、Lookup.DBUM.Oracle.UM.ReconTransformations.Trustedを使用します。

  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.7 Oracle Databaseでのリソース除外リストの構成

リコンシリエーションおよびプロビジョニング操作から除外する必要のあるアカウントのリストを指定できます。除外リストで指定したユーザーIDのアカウントは、リコンシリエーションおよびプロビジョニング操作の影響を受けません。

除外リスト用の参照定義の1つに、プロビジョニングおよびリコンシリエーション操作から除外するターゲット・システム・アカウントのユーザーIDを入力します。参照定義およびこれらの参照のエントリの書式の詳細は、「Oracle Databaseでの除外リスト用の参照定義」を参照してください。

Oracle Databaseでのプロビジョニングおよびリコンシリエーション操作時に除外するエントリを参照に追加するには、次のようにします。

  1. Design Consoleで、「Administration」を開き、「Lookup Definition」をダブルクリックします。
  2. Lookup.DBUM.Oracle.UM.ExclusionList参照定義を検索して開きます。
  3. 「追加」をクリックします。
  4. Code Key列で、除外リストが適用されるリソース・オブジェクト・フィールド名を入力します。Decode列で、除外するレコードに対応するIDを入力します。

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

    コード・キー デコード

    User Name

    User001

    ノート:

    リコンシリエーションまたはプロビジョニング中に除外する必要があるアカウントのリストを指定する場合、ここで指定するコード・キー値はLookup.DBUM.Oracle.UM.ReconAttrMap参照定義、またはLookup.DBUM.Oracle.UM.ProvAttrMap参照定義それぞれで対応するコード・キー値のとおりである必要があります。

  5. 除外するユーザーIDが複数ある場合は、デコード列で、除外するすべてのユーザーIDの一覧を入力します。各ユーザーIDは縦線(|)で区切る必要があります。

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

    コード・キー デコード

    User Name

    User001|User002|User088

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

    関連項目:

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

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

    コード・キー デコード

    User Name[PATTERN]

    User001|User002|User088

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

    コード・キー デコード

    User Name[PATTERN]

    00012*

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

4.7.8 Oracle Databaseでのアクション・スクリプトの設定

アクション・スクリプトと、アカウントの作成、更新または削除のプロビジョニング操作の前または後に実行するようにアクション・スクリプトを構成する方法について学習します。

この項の内容は次のとおりです。

4.7.8.1 Oracle Databaseでのアクション・スクリプトについて

アクションは、アカウントの作成、更新または削除のプロビジョニング操作の前または後に実行するように構成できるスクリプトです。たとえば、ユーザーの作成前に実行されるスクリプトを構成できます。あるいは、AUDIT_USERLOGという名前の表があり、コネクタによってのみ実行されるユーザー作成アクティビティをこの表に記録するとします。この場合、作成操作後にデータがこの表に追加されるような作成後スクリプトを作成して使用できます。

ノート:

実行前アクションまたは実行後アクションを構成するには、コネクタでスクリプトの実行がサポートされている必要があります。ただし、(targetがConnectorに設定されている)Groovyは例外であり、収束されたすべてのコネクタがデフォルトでサポートされています。

いずれのコネクタも、スクリプト言語およびサポート対象のターゲットを指定している必要があります。このコネクタでは、次のスクリプトがサポートされています。

  • shell: シェル・スクリプト

  • target: Connector

targetは、スクリプトの実行場所を表します。この場合、スクリプトはコネクタがデプロイされているコンピュータと同じコンピュータ(JVMまたは.NET Runtime)で実行されます。たとえば、コネクタ・サーバーにコネクタをデプロイした場合、スクリプトはそのコンピュータで実行されます。

すなわち、ローカル・フレームワークを使用している場合、スクリプトはJVMで実行されます。リモート・フレームワークに接続されている場合、スクリプトはリモートのJVMまたは.NET Runtimeで実行されます。

4.7.8.2 Oracle Databaseでのアクション・スクリプトの構成

アクションを構成するには:

  1. Design Consoleにログインします。
  2. Lookup.DBUM.Oracle.UM.Configuration参照定義を検索して開きます。
  3. 次の新しい値を追加します。
    • コード・キー: Before Create Action Language

    • デコード: 実行するスクリプトのスクリプト言語を入力します。

    • サンプル値: SQLまたはSTOREDPROC

  4. 次の新しい値を追加します。
    • コード・キー: Before Create Action File

    • デコード: 実行するスクリプトが含まれるファイルのフルパスを入力します(Oracle Identity Managerがこのファイルにアクセスできる必要があります。)

    • 例: /home/scripts/testscript.sql

      このスクリプトには次のような問合せが含まれている可能性があります。

      INSERT INTO AUDIT_USERLOG VALUES ({__NAME__}, CURRENT_TIMESTAMP))
      
  5. 次の新しい値を追加します。
    • コード・キー: Before Create Action Target

    • デコード: Connector

  6. 参照定義を保存します。

これで、ユーザーを作成するたびにこのアクションが実行されるようになります。実行するアクションごとに、これらの3つの値を構成する必要があります。