ヘッダーをスキップ
Oracle Identity Manager Audit Report開発者ガイド
リリース9.0
B31970-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

3 Oracle Identity Managerのレポート機能

Oracle Identity Managerには、カスタム・レポート・エンジンが付属しており、Oracle Identity Managerのトランザクション・データベースまたはセカンダリ・データベース(構成されている場合)に対して事前定義済レポートを実行できます。Javaコードを編集しなくても新しいレポートを追加でき、ストアド・プロシージャを起動してレポート・データを取得できます。


関連資料:

Oracle Identity Managerとともにインストールされる操作レポートおよび履歴レポートの詳細なリストは、『Oracle Identity Manager管理およびユーザー・コンソール・ガイド』を参照してください。

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

レポート機能

Oracle Identity Managerのレポート機能は、次のとおりです。

次の各項では、Oracle Identity Managerのデータ、XMLおよびAPIの各レイヤーでのレポートに関するデータ保存について説明します。

データ・レイヤー

データ・レイヤーでは、データベース・スキーマの変更およびストアド・プロシージャの追加ができます。

新しいREP表およびRPG表が、レポート作成をサポートしています。REP表に含まれるものは、次のとおりです。

  • システム内のすべてのレポートのリスト

  • レポート名

  • レポート・コード

  • レポート・タイプ

  • レポート説明

  • レポートのストアド・プロシージャの名前

  • データソースの名前

  • 最大レポート・サイズ

  • レポート・ページに表示されるフィルタ数

  • 各レポートのXMLメタデータ

RPG表は、REP表とUGP表間のリンク表です。この表は、レポートのグループ権限に関する情報を格納します。

レポートはそれぞれ、1つのストアド・プロシージャに関連付けられています。レポートを実行するには、関連付けられたストアド・プロシージャを適切な引数を指定して実行します。データベース問合せに基づいてレポートを実行することはできません。

システムには多数のレポートが存在するため、ストアド・プロシージャでは、ルールに従ってレポートを包括的に起動できるようにしています。詳細は、「新しいレポートの作成方法」を参照してください。

各ストアド・プロシージャには、必須の汎用パラメータ・セットがあります。これらのパラメータは、開始行、ページ・サイズ、フィルタ列など、標準的な情報を指定します。また、ストアド・プロシージャには、レポート固有のパラメータを必要なだけ指定できます。各ストアド・プロシージャは、2つの値、すなわち1ページのレポート・データ全体を表す結果セットおよびレポート・データの合計数を返します。ストアド・プロシージャおよびXMLメタデータの標準形式により、Javaコードを変更せずにレポートを追加および実行できます。

XMLメタデータ

各レポートのXMLメタデータは、そのレポートのREP表に格納されます。メタデータは、レポートに関する次の情報を指定します。

  • レイアウト情報

  • すべての入力パラメータの表現とそれに対応するストアド・プロシージャのパラメータとの関連

  • ユーザー定義パラメータのサポート(操作レポートのみ)

  • フィールド・ラベルやフィールド・タイプ(TextFieldLookupFieldなど)といった各レポート入力パラメータの表示情報

  • レポート表示ページにおける各列の場所

  • 各レポート・データ列に関する表示情報

  • フィルタのドロップダウンに含まれる列

  • インタラクティブ・レポート用のクリック可能な列

メタデータの構造の詳細は、「新しいレポートの作成方法」を参照してください。

APIレイヤー

APIレイヤーは、すべてのバックエンド・レポート機能を提供します。バックエンドは、フロントエンドとは連動しません。レポートAPIを使用してカスタム・ユーザー・インタフェースを作成できます。

新しいレポートの作成方法

新しいレポートを作成するためのタスクは、次のとおりです。

ストアド・プロシージャの作成

レポートはそれぞれ、1つのストアド・プロシージャをベースにしています。ストアド・プロシージャに関するルールは、次のとおりです。

  • ユーザー定義ファンクションではなく、ストアド・プロシージャを使用します。

  • ストアド・プロシージャは、2つの値、すなわちレポート・データの結果セットおよびレポートの行の合計数を返します。

  • レポートの結果セットは、ページ化されます。

    ストアド・プロシージャの実行時に戻される結果セットは、レポート・データ全体の1ページを表します。開始行とページ・サイズは、ストアド・プロシージャの実行時に指定されます。

  • ストアド・プロシージャは、フィルタ・パラメータとユーザー定義入力パラメータを処理します。

各ストアド・プロシージャでは汎用パラメータを使用しますが、ストアド・プロシージャ固有のパラメータを使用することもできます。これらのパラメータ・タイプは、次の各項で説明します。

汎用パラメータ

汎用パラメータは、すべてのストアド・プロシージャに共通です。汎用パラメータは、固有パラメータの前に必須の順序で指定します。

汎用パラメータは12個あります。たとえ値がNULLであっても、12個すべての汎用パラメータが必要です。次に、汎用パラメータを必須の指定順に示します。

  1. レポート結果セット(タイプ=cursor、OUT): レポート・データを表す結果セット。


    注意:

    SQL Serverの場合、戻り型はInteger(int)であり、cursorではありません。SQL Serverでは、データは最後の問合せで返されます。実際の戻りパラメータはありません。このパラメータ・タイプは、ストアド・プロシージャの問合せの要件を満たします。

  2. ユーザー・キー(タイプ=int、IN): レポートを実行するユーザーのキー。

    このユーザー・キーにより、ユーザーに読取り権限があるレコードのみが必ず返されます。

  3. ソート列(タイプ=varchar、IN): レポート結果セットがソートされる列名のカンマ区切りのリスト。

    今後の使用のために予約されています。

  4. ソート順序(タイプ=varchar、IN): レポート結果セットのソート順序(昇順または降順)。

    今後の使用のために予約されています。

  5. 開始行(タイプ=int、IN): 結果セットが開始される行番号。

  6. ページ・サイズ(タイプ=int、IN): 結果セットのサイズまたは複数ページ・レポートでの1ページのエントリ数。

  7. 計算対象(タイプ=int、IN): 値0、1または2を指定できます。

    値0は、結果セットが計算されて返されますが、レポート・データ全体の行の合計数は計算されないことを示します。値1は、結果セットと行の合計数が計算されることを示します。値2の場合、行の合計数のみが計算され、空の結果セットが返されます。

  8. 行の合計(タイプ=int、OUT): これは出力パラメータで、計算対象の変数が1または2のときに行の合計数を返します。

    レポート・データはページ化されるため、行の合計数の値は、返される結果セットのサイズではありません。レポート全体のサイズです。

    たとえば、ストアド・プロシージャがすべてのユーザーのリストを返すとします。システム内には200ユーザーが存在し、開始行=1、ページ・サイズ=50です。このストアド・プロシージャの場合、結果セットのサイズは50ですが、行の合計のOUTパラメータの値は200です。

  9. フィルタ列名(タイプ=varchar、IN): これは、レポート・データをフィルタ処理できる列名のカンマ区切りのリストです。

    ストアド・プロシージャには、リストされた列に使用する別名を認識する方法がありません。ストアド・プロシージャでは、このリストの列名は、必要な場合は次のように適切な表の別名で正しく修飾されているものと想定します。

    usr.usr_first_name,obj.obj_name

  10. フィルタ列値(タイプ=varchar、IN): これは、前のパラメータにリストされた列名と1対1で対応する列値のカンマ区切りのリストです。

    前のパラメータに2つの列名で構成されたカンマ区切りのリストが指定されている場合、このパラメータは、2つの値で構成されたカンマ区切りのリストとなります。Jo%,Laptopのように、ワイルド・カード(%)文字を使用できます。

  11. ユーザー定義列名(タイプ=varchar、IN): これは、システム・フォームのユーザー定義列を表す列名のカンマ区切りのリストです。

    これらの名前には、必要な場合は次のように適切に別名を付ける必要があります。

    USR.USR_UDF_SSN

  12. ユーザー定義列値(タイプ=varchar、IN): これは、ユーザー定義フィールドの列値のカンマ区切りのリストです。

    これらの値は、前のパラメータにリストされた列名と1対1で対応します。次のように、ワイルド・カード(%)文字を使用できます。

    1234567890

固有パラメータ

固有パラメータは、各レポートに固有です。これらのパラメータは、レポート入力パラメータと1対1で対応します。ただし、日付範囲入力パラメータとユーザー定義パラメータは除きます。

固有パラメータは、汎用パラメータの後に追加する必要があります。各固有パラメータは、「レポート入力」ページの1つのレポート入力パラメータを表します。

varchar2タイプのすべての固有パラメータでは、ワイルド・カード(%)文字を使用できます。

その他のストアド・プロシージャの注意事項

エラーが発生するたびに、例外がスローされます。例外には、エラー・コードが含まれます。コール元のJavaコードは、エラー・コードが埋め込まれたSQL例外としてエラーを受け取ります。ストアド・プロシージャは、次のルールに基づいてエラーがないかコードをチェックします。

  • 開始行の値は0またはNULLでないこと

  • ページ・サイズの値は0またはNULLでないこと

  • ユーザー・キーの値は0またはNULLでないこと

  • 計算対象の値は0、1または2のいずれかであること

  • フィルタ列名とフィルタ列値の間には1対1のマッピングがあること

  • ユーザー定義列名とユーザー定義列値の間には1対1のマッピングがあること

レポート用に返されるデータがない場合でも、空の結果セットが返されます。

ストアド・プロシージャのシグネチャの例

例3-1に、Oracle Databaseの「ユーザー・リソース・アクセス」レポートのストアド・プロシージャのシグネチャを示します。

例3-1 Oracle Databaseの「ユーザー・リソース・アクセス」ストアド・プロシージャのシグネチャ

PROCEDURE XL_SP_UserResourceAccess (
    csrresultset_inout            IN OUT   sys_refcursor,
    intuserkey_in                 IN       NUMBER,
    strsortcolumn_in              IN       VARCHAR2,
    strsortorder_in               IN       VARCHAR2,
    intstartrow_in                IN       NUMBER,
    intpagesize_in                IN       NUMBER,
    intdocount_in                 IN       NUMBER,
    inttotalrows_out              OUT      NUMBER,
    strfiltercolumnlist_in        IN       VARCHAR2,
    strfiltercolumnvaluelist_in   IN       VARCHAR2,
    strudfcolumnlist_in           IN       VARCHAR2,
    strudfcolumnvaluelist_in      IN       VARCHAR2,
    struserlogin_in               IN       VARCHAR2,
    strfirstname_in               IN       VARCHAR2,
    strmiddlename_in              IN       VARCHAR2,
    strlastname_in                IN       VARCHAR2,
    struseremail_in               IN       VARCHAR2,
    strorgname_in                 IN       VARCHAR2,
    strusergroup_in               IN       VARCHAR2,
    strmgrfirstname_in            IN       VARCHAR2,
    strmgrlastname_in             IN       VARCHAR2,
    struserstatus_in              IN       VARCHAR2,
    struseremptype_in             IN       VARCHAR2
)

例3-1では、最初の12個のパラメータ(strudfcolumnvaluelist_inまで)が汎用パラメータです。残りのパラメータは固有パラメータです。

例3-2に、SQL Serverの「ユーザー・リソース・アクセス」ストアド・プロシージャのシグネチャを示します。

例3-2 SQL Serverの「ユーザー・リソース・アクセス」ストアド・プロシージャのシグネチャ

CREATE PROCEDURE  XL_SP_UserResourceAccess
(@csrResultSet_inout                  INT OUTPUT,
@intUserKey_in                        INT,
@strSortColumn_in                     VARCHAR(4000),
@strSortOrder_in                      VARCHAR(4000),
@intStartRow_in                       INT,
@intPageSize_in                       INT,
@intDoCount_in                        INT,
@intTotalRows_inout                   INT OUTPUT,
@strFilterColumnList_in               VARCHAR(8000),
@strFilterColumnValueList_in          VARCHAR(8000),
@strudfcolumnlist_in                  VARCHAR(8000),
@strudfcolumnvaluelist_in             VARCHAR(8000),
@strUserLogin_in                      varchar(256),
@strFirstName_in                      varchar(80),
@strMiddleName_in                     varchar(80),
@strLastName_in                       varchar(80),
@strUserEmail_in                      varchar(256),
@strorgname_in                        varchar(256),
@strUserGroup_in                      varchar(30),
@strMgrFirstName_in                   varchar(80),
@strMgrLastName_in                    varchar(80),
@strUserStatus_in                     varchar(25),
@strUserEmptype_in                    varchar(255)
)

レポートのXMLメタデータの作成

ストアド・プロシージャを作成したら、レポートのXMLメタデータを作成します。すべてのレポート固有の情報をメタデータに含め、レポートを正しく実行して表示できるようにします。レポートのメタデータは、レポート固有の入力パラメータの属性、レポート入力パラメータの表示プロパティ、レポート・データの表示プロパティ(レポート・レイアウト、表示ラベルなど)といった情報を指定します。

メタデータのルート要素はreportです。この要素は、レポートのレイアウトを指定します。3つの表示レイアウト、すなわち表レイアウト、セクション・レイアウトおよびレポート・ヘッダー付きセクション・レイアウトがサポートされています。

report要素には、2つの子要素、すなわちStoredProcedureおよびReturnColumnsがあります。

StoredProcedure要素

StoredProcedure要素は、ストアド・プロシージャ固有のパラメータとユーザー定義フィールドに関する情報を指定します。複数のInputParameter要素を含む1つのInputParameters要素で構成されます。

ストアド・プロシージャ固有の各パラメータは、「レポート入力」ページの1つの入力パラメータに対応しています。ただし、2つのストアド・プロシージャ・パラメータによって表されるDateRangeフィールドは除きます。入力パラメータはそれぞれ1つのInputParameter要素で表されます。「レポート入力」ページには、システム・フォームのユーザー定義フィールドも表示されます。「レポート入力」のユーザー定義フィールドもそれぞれ1つのInputParameter要素で表されます。ユーザー定義フィールドの数は変更できますが、ストアド・プロシージャ入力パラメータの数は毎回変更することはできません。ユーザー定義フィールドは、カンマ区切りのリストで表されます。

たとえば、レポートで7つの入力パラメータをサポートする必要があるとします。2つのパラメータはユーザー定義フィールド、5つのパラメータはストアド・プロシージャのシグネチャの固有パラメータ(12個の汎用パラメータとは別)です。これらは、5つのInputParameterタグで表されます。2つのユーザー定義パラメータも2つのInputParameterタグで表されますが、ストアド・プロシージャのシグネチャに対応するパラメータはありません。かわりに、列名とその値のカンマ区切りのリストとして引き渡されます。したがって、メタデータには合計7つのInputParameterタグが必要です。

DateRange入力タイプをサポートする場合は、一方は開始日用、他方は終了日用の2つのストアド・プロシージャ・パラメータで「レポート入力」ページをサポートする必要があります。

InputParameter要素の属性は、次のとおりです。

  • name(必須): 入力パラメータの名前。

    ユーザー定義以外の入力パラメータの場合、この値はなんでもかまいません。しかし、明確にするために、対応するストアド・プロシージャ入力パラメータの名前と一致している必要があります。ユーザー定義入力パラメータの場合、この名前はユーザー定義列の列名で、必要な場合は規定の表別名を前に付けます。

  • parameterType(必須): 対応するストアド・プロシージャ・パラメータのSQLデータ型。

    ユーザー定義入力パラメータの場合、この値はvarcharです。

  • order(必須): レポート固有の入力パラメータの順序。

    順序は1から始まります。標準の入力パラメータをリストし、その後にユーザー定義入力パラメータをリストする必要があります。

  • fieldType(必須): 「レポート入力」ページの表示フィールドのタイプ。

    サポートされる入力タイプは、TextFieldDateDateRangeLookupFieldおよびComboboxです。

  • fieldLabel(必須): このフィールドのフィールド・ラベルのプロパティ値。

    このプロパティ値は、メッセージ・リソース・プロパティ・ファイル(この場合xlWebAdmin.properties)の値で、実際のラベルを表します。

  • allowedValuesfieldTypeCombobox以外の場合、任意): コンボ・ボックスに関連付けられる参照コード。

    Combobox入力タイプは、静的値のみをサポートします。

  • required(任意、デフォルト: false): trueに設定すると、ユーザーは実行するレポートのこのフィールドに対する値を指定する必要があります。

  • udf(任意、デフォルト: false): InputParameter要素で表されるユーザー定義フィールドの場合、この属性を指定する必要があり、値をtrueに設定します。操作レポート専用です。

属性fieldTypeの値がLookupFieldである場合、InputParameter要素の下にValidValuesという子要素が必要です。レポート機能では、3つの参照タイプ、すなわちコードによる参照、メソッドによる参照および列による参照をサポートしています。ValidValues要素のサポートされる属性は、次のとおりです。

  • lookupCode(任意): コードによる参照の場合のみ指定する必要があります。

    指定する場合、この属性の値は参照コードです。

  • lookupColumn(任意): 列による参照の場合のみ指定する必要があります。

    指定する場合、この属性の値は参照列の列コードです。

  • lookupMethod(任意): クラスまたはメソッドによる参照の場合のみ指定する必要があります。

    指定する場合、この属性の値は参照値を指定するメソッド名です。

  • operationClass(任意): lookupMethod属性が指定されている場合のみ指定する必要があります。

    この属性の値は、参照メソッドを含むクラスの完全修飾名です。

  • displayColumns(任意): lookupMethod属性が指定されている場合のみ指定する必要があります。

    参照で表示される列を表す列コードのカンマ区切りのリストです。

  • selectionColumn(任意): lookupMethod属性またはlookupColumn属性が指定されている場合のみ指定する必要があります。

    値がデータベースに保存される列の列コードを表します。

InputParameterタグの例

  • 標準のTextField入力パラメータの場合:

    <InputParameter name="strfirstname_in" parameterType="varchar2" order="2" 
    fieldType="TextField" fieldLabel="report.userResourceAccess.label.firstName" required="false" />
    
    
  • ユーザー定義入力パラメータの場合:

    <InputParameter name="USR.USR_UDF_SSN" parameterType="varchar2" order="11" 
    fieldType="TextField" fieldLabel="report.userResourceAccess.label.SSN" required="false" udf="true" />
    
    
  • Comboboxタイプの入力パラメータの場合:

    <InputParameter name="struserstatus_in" parameterType="varchar2" order="10" 
    fieldType="Combobox" allowedValues="Lookup.WebClient.Users.Status" 
    fieldLabel="report.userResourceAccess.label.userStatus" required="false" />
    
    
  • lookupCodeが指定されたLookupFieldタイプの入力パラメータの場合:

    <InputParameter name="struseremptype_in" parameterType="varchar2" order="11" 
    fieldType="LookupField" fieldLabel="report.userResourceAccess.label.employeeType" 
    required="false" >  <ValidValues lookupCode="Lookup.Users.Role"/> 
    </InputParameter>
    
    
  • lookupColumnが指定されたLookupFieldタイプの入力パラメータの場合:

    <InputParameter name="struseremail_in" parameterType="varchar2" order="5" 
    fieldType="LookupField" fieldLabel="report.userResourceAccess.label.userEmail" required="false" >
    <ValidValues lookupColumn="Users.Xellerate Type" selectionColumn="Lookup Definition.Lookup Code Information.Decode" />
    </InputParameter>
    
    
  • lookupMethodが指定されたLookupFieldタイプの入力パラメータの場合:

    <InputParameter name="struserlogin_in" parameterType="varchar2" order="1" 
    fieldType="LookupField" fieldLabel="report.userResourceAccess.label.userLogin" required="false" >
    <ValidValues lookupMethod="findUsersFiltered"
    operationClass="Thor.API.Operations.tcUserOperationsIntf"
    displayColumns="Users.User ID,Users.Last Name,Users.First Name"
    selectionColumn="Users.User ID"/> 
    </InputParameter>
    
    

fieldType属性の値がDateRangeである場合、2つの子要素InputStartDateおよびInputEndDateを指定する必要があります。各要素には、次の属性が必要です。

  • name(必須): パラメータの名前

    この日付パラメータを表すストアド・プロシージャ・パラメータの名前と一致する必要があります。

  • parameterType(必須): この日付パラメータを表すストアド・プロシージャ・パラメータのSQLタイプ

  • order(必須): ストアド・プロシージャ・パラメータの順序

  • defaultValue(任意、デフォルト: 01/01/1900および12/31/2049): ユーザーが「開始日」フィールドまたは「終了日」フィールドに日付を入力しなかった場合に指定されるデフォルト値

  • format(任意、デフォルト: reports.generic.message.internalDateFormat): デフォルトの日付の書式

ReturnColumnsタグ

ReturnColumnsタグは、結果セットで返されるすべての列のリストを表します。このタグには、複数のReturnColumnタグが含まれ、それぞれが返された結果セットの1列を表します。ReturnColumnタグの属性は、レポート・データの表示に有用な情報を指定します。

ReturnColumnsタグの属性は、次のとおりです。

  • name(必須): この名前は、この特定のタグで表される結果セットの列の列コードを表します。

    列コードが使用できない場合は、別名または列名でもかまいません。

  • label(必須): この列の列ヘッダーまたはラベルのプロパティ値を指定します。

    このプロパティ値は、メッセージ・リソース・プロパティ・ファイル(この場合xlWebAdmin.properties)の値で、実際のラベルを表します。

  • position(必須): この属性には、3つの値、すなわちTableSectional HeaderまたはReport Headerを指定できます。

    この属性は、各列の場所を指定します。各列は、表(任意のレイアウトの場合)、セクション・ヘッダー(セクション・レイアウトおよびレポート・ヘッダー付きセクション・レイアウトの場合)またはレポート・ヘッダー(レポート・ヘッダー付きセクション・レイアウトの場合)に属すことができます。

  • filterColumn(任意、デフォルト: false): この属性は、列がフィルタ列かどうかを指定します。

    値がtrueの場合は、「レポート表示」ページ上部のフィルタのドロップダウン・リストに列名が含まれます。

  • filterColumnNamefilterColumnが指定されていない場合、任意): この属性は、必要な場合は表の別名が前に付いた、実際の列名を表します。

  • filterTypefilterColumnがtrueの場合は、任意): レポート結果ページのフィルタ表示フィールドのタイプ。サポートされる入力タイプは、Comboboxのみです。

  • filterLookupKeyfilterColumnがtrueの場合は、任意): レポート結果ページのフィルタ表示フィールドに表示されるコンボ・ボックスに関連付けられる参照コードを表します。

  • clickable(任意、デフォルト: false): この属性は、列値がリンクかどうかを指定します。

    この属性は、レポートの動作性をサポートします。

レポート・モジュールでは、インタラクティブ・レポートを構成できます。インタラクティブ・レポートでは、列値をリンクとして定義し、ユーザーが列値をクリックすると管理およびユーザー・コンソールの内外のページに移動するようにします。リンクを構成するには、ユーザーが適切なページに移動するように、情報をメタデータに追加します。リンクには、動的または静的な場所を指定できます。リンクをクリックすると新しいブラウザ・ウィンドウが開きます。このウィンドウは、同じブラウザ・セッションを共有しますが、それ以外は独立しています。

リンクを構成するには、clickable属性をtrueに設定し、ReturnColumn要素とその2つの子要素LinkおよびRequestParametersを次のように構成します。

  • Link要素: この要素に1つのhref属性を構成します。

    この属性は、宛先ページのベースURLを指定します。絶対URLは、http://www.xyz.comのようにhttpで始まります。絶対URLの宛先ページは、管理およびユーザー・コンソールの外にあります。searchResources.doなどの相対URLは、管理およびユーザー・コンソールの中の宛先ページに移動します。

  • RequestParameters要素: この要素に複数のRequestParameter要素を構成します。

    RequestParameter要素は、宛先ページを正しく表示するために発行される必要がある1つのリクエスト・パラメータを表します。name属性は、リクエスト・パラメータの名前を指定します。リクエスト・パラメータが静的である場合、つまり結果セットの他の値に依存しない場合は、value属性を使用してその値を構成します。リクエスト・パラメータの値が動的である場合、つまり結果セットの他の列(リソース・キーなど)に依存する場合は、column属性を使用して値を指定します。column属性には、値が返される列の列コードを指定します。

REPエントリの作成とレポートへのアクセス権の付与

レポート・メタデータが完成したら、REP表とRPG表を更新してレポートを使用できるようにします。

REP表での新しいエントリの作成

REP表には、システム内のすべてのレポートのリストが含まれます。新しいレポートを定義するには、そのレポートを表す新しい行をREP表に作成する必要があります。作成日、作成者、行バージョンなどの共通の列以外に、移入される列を指定する必要があります。カッコ内の値は、「ユーザー・リソース・アクセス」レポートの例です。

  • REP_NAME: この列には、ユーザーに表示されるレポートの名前が含まれます。

    この名前はREP表では一意です。(User Resource Access)

  • REP_CODE: レポートに対する一意のコード。(UserResourceAccess

  • REP_DESCRIPTION: ユーザーに表示されるレポートの説明。(Resource access rights for selected users)

  • REP_SP_NAME: レポートのデータを指定するストアド・プロシージャの名前。(XL_SP_UserResourceAccess

  • REP_XML_META: この列は、前の項で定義したレポートのメタデータ全体を含むclobです。

  • REP_TYPE: レポートのタイプ。2つの値、すなわちOperationalまたはHistoricalを指定できます。(Operational

  • REP_DATASOURCE: レポートの実行対象となるデータソースの名前。

    2つの値、すなわちDefaultまたはReportingを指定できます。通常、操作レポートはデフォルト・データベースに対して実行されますが、履歴レポートはレポート・データベースに対して実行されます。(Default)

  • REP_MAX_REPORT_SIZE: レポートで返すことができる最大レコード数を表します。

    レポートが返す各レコードのデータ量は、レポートごとに異なります。レポートに対するレスポンス時間を許容内に保つには、レポートで返すことができる最大レコード数をレポートごとに強制適用します。(5000)

  • REP_FILTER_COUNT: このレポートに対する「レポート表示」ページのフィルタのドロップダウンの数。(3)

REP表にOracle Databaseの「ユーザー・リソース・アクセス」レポートのデータを移入するINSERT文の例を次に示します。

INSERT INTO REP (REP_KEY, REP_CODE, REP_TYPE, REP_NAME, REP_DESCRIPTION,
                 REP_DATASOURCE, REP_SP_NAME, REP_MAX_REP_SIZE, REP_FILTER_COUNT,
                 REP_DATA_LEVEL, REP_CREATE, REP_CREATEBY, REP_UPDATE,
                 REP_UPDATEBY, REP_ROWVER) VALUES (rep_seq.nextval, 'UserResourceAccess', 'Operational', 
                 'User Resource Access','Resource access rights for selected users', 'Default', 
                 'XL_SP_UserResourceAccess', 5000, 3, 1, SYSDATE, <System Administrator User Key>,  
                 SYSDATE, <System Administrator User Key>, HEXTORAW('0000000000000000'));

REP表にSQL Serverの「ユーザー・リソース・アクセス」レポートのデータを移入するINSERT文の例を次に示します。

INSERT INTO REP (REP_CODE, REP_TYPE, REP_NAME, REP_DESCRIPTION, REP_DATASOURCE,
                 REP_SP_NAME, REP_MAX_REP_SIZE, REP_FILTER_COUNT, REP_DATA_LEVEL,
                 REP_CREATE, REP_CREATEBY, REP_UPDATE, REP_UPDATEBY, REP_ROWVER)
VALUES ('UserResourceAccess', 'Operational', 'User Resource Access',
       'Resource access rights for selected users', 'Default', 'XL_SP_UserResourceAccess',
       5000, 3, 1, GETDATE(), <System Administrator User Key>, GETDATE(), <System Administrator User Key>, 0x0);

XMLメタデータのロード

レポートに対するエントリをREP表に作成したら、レポートのXMLメタデータをREP表のREP_XML_META列にロードする必要があります。メタデータの作成の詳細は、「レポートのXMLメタデータの作成」を参照してください。

ユーザー・グループへのレポートへのアクセス権の付与

レポートへのアクセス権を付与する手順は、次のとおりです。


関連資料:

『Oracle Identity Manager管理およびユーザー・コンソール・ガイド』

新しいレポートへのアクセス権を特定のユーザー・グループに付与するには、次のようにします。

  1. 「ユーザーの管理」アプリケーションを使用して、ユーザー・グループを検索します。

  2. ユーザー・グループの詳細ページにナビゲートします。

  3. 「追加詳細」ドロップダウンで「許可されたレポート」リンクをクリックします。

    「グループの詳細」の下に「レポート」ページが表示されます。

  4. 「レポートの割当て」ボタンをクリックします。

    「グループの詳細」の下の「レポート」セクションに、「レポートの割当て」ページが表示されます。作成したばかりのレポートがこのページに表示されます。

  5. レポートへのアクセス権を付与するには、1つ以上のグループに割り当てます。

ラベル名、レポート名およびレポート説明を翻訳するためのプロパティ・ファイルの変更

この項では、ラベル名、レポート名およびレポート説明を翻訳するために、プロパティ・ファイルを変更する方法について説明します。内容は次のとおりです。

ラベル名を翻訳するためのプロパティの追加

XMLメタデータを作成したら、新しいフィールド・ラベル・プロパティをプロパティ・ファイル内のメタデータ・ファイルに挿入する必要があります。プロパティは、サポートする必要があるロケールに対応するファイルに追加します。Oracle Identity Managerリリース9.0では、英語、フランス語および日本語のロケールをサポートしており、それぞれxlWebAdmin_en_US.properties、xlWebAdmin_fr.propertiesおよびxlWebAdmin_ja.properitesファイルで表されます。Oracle Identity Managerでは、サポート外のロケールが検出されると、xlWebAdmin.propertiesファイルを参照します。これらのファイルに、対象のプロパティをInputParameterタグのfieldLabel属性およびReturnColumnタグのlabel属性として追加します。入力フィールド・ラベルまたは戻り列ラベルの実際の名前を指定するかわりに、プロパティ名を指定します。それぞれのプロパティ・ファイルからは、このプロパティ名が参照されます。この方法により、国際化が簡単になります。

次の例では、InputParameterタグのfieldLabel属性とReturnColumnタグを設定する方法を示します。

例1

<InputParameter name="struserlogin_in" parameterType="varchar2" order="1"
fieldType="TextField" fieldLabel="report.userResourceAccess.label.userLogin"
required="false" />

このInputParameterタグは、「ユーザー・リソース・アクセス」レポートのUserResourceAccess.xmlメタデータ・ファイルからのものです。このタグのfieldLabel属性の値はreport.UserResourceAccess.label.userLoginです。xlWebAdmin_en_US.propertiesファイルの対応するこのプロパティのエントリは、次のとおりです。

report.UserResourceAccess.label.userLogin=Userid

例2

<ReturnColumn name="Users.First Name" label="report.userResourceAccess.label.firstName"
 position="SectionHeader" filterColumn="true"
 filterColumnName="usr.usr_first_name" />

このReturnColumnタグは、「ユーザー・リソース・アクセス」レポートのUserResourceAccess.xmlメタデータ・ファイルからのものです。このタグのlabel属性の値はreport.userResourceAccess.label.firstNameです。xlWebAdmin_en_US.propertiesファイルの対応するこのプロパティのエントリは、次のとおりです。

report.userResourceAccess.label.firstName=First Name

注意:

実際のラベル名が(不具合の修正などにより)変更されても、プロパティ名を変更する必要はありません。

次の手順に従って、xlWebAdmin_en_US.propertiesファイルを編集します。

  1. % XL_HOME%/webappディレクトリのxlWebApp.warファイルを一時ファイルに解凍します。

  2. テキスト・エディタで、xlWebApp.warファイルを解凍した一時ディレクトリのxlWebAdmin_en_US.propertiesファイルを開きます。

  3. 適切なプロパティをInputParameterタグのfieldLabel属性およびReturnColumnタグのlabel属性として追加します。

  4. xlWebApp.warファイルを再作成し、それを% XL_HOME%/webappディレクトリにコピーします。

レポート名およびレポート説明を翻訳するためのプロパティの追加

REP表にエントリを作成したら、レポート名およびレポート説明の翻訳プロパティをプロパティ・ファイルに追加する必要があります。この手順は、データベースの英語のエントリをローカライズするために必要で、英語のロケールのみサポートする必要がある場合でも実行する必要があります。

レポート名およびレポート説明を翻訳するためのプロパティを追加するには、次のようにします。

  1. % XL_HOME%/webappディレクトリのxlWebApp.warファイルを一時ファイルに解凍します。

  2. テキスト・エディタで、xlWebApp.warファイルを解凍した一時ディレクトリのxlDefaultAdmin.propertiesファイルを開きます。

  3. xlDefaultAdmin.propertiesファイルで、システム内のすべてのレポート名を識別するglobal.resultSet.Reports.Report~Nameプロパティを探します。このプロパティに割り当てられたレポートはそれぞれパイプ文字(|)で区切られます。パイプ文字と新しいレポートの名前をこのプロパティ値の最後に追加します。パイプ文字とレポート名の間に空白がないことと、レポート名の末尾に空白がないことを確認してください。

  4. xlDefaultAdmin.propertiesファイルで、システム内のすべてのレポートの説明が含まれるglobal.resultSet.Reports.Report~Descriptionプロパティを探します。このプロパティに割り当てられたレポートはそれぞれパイプ文字(|)で区切られます。パイプ文字と新しいレポートの説明をこのプロパティ値の最後に追加します。パイプ文字と説明の間に空白がないことと、説明の末尾に空白がないことを確認してください。

  5. テキスト・エディタで、レポート名およびレポート説明を翻訳するロケールを表すプロパティ・ファイルを開きます。

  6. レポート名とローカライズされた値を識別するglobal.resultSet.Reports.Report~Name.ReportNameプロパティを追加します。プロパティ名のReportName部分は、レポート名を表します。プロパティ名の空白はチルダ(~)で表します。ローカライズされた値をこのプロパティに割り当てます。たとえば、Group Informationというレポートを表すには、次のプロパティをxlWebAdmin_en_US.propertiesファイルに追加します。

    global.resultSet.Reports.Report~Name.Group~Information=Group Information
    
    
  7. レポート説明とローカライズされた値を含むglobal.resultSet.Reports.Report~Description.Report~Descriptionプロパティを追加します。プロパティ名のReport~Description部分は、デフォルトのレポート説明を表します。レポート説明の空白はティルデ(~)で表します。ローカライズされた値をこのプロパティに割り当てます。たとえば、Group Informationの説明の場合、次のプロパティをxlWebAdmin_en_US.propertiesファイルに追加します。

    global.resultSet.Reports.Report~Description.Description~of~the~Group~Information~report=Description of the Group Information report
    
    
  8. 新しいレポートごとに、global.ReportName.Lookup.Report-Nameおよびglobal.ReportDesc.Lookup.Report-Description参照プロパティを追加します。各プロパティ名のReport-Name部分およびReport-Description部分はそれぞれデフォルトのレポート名およびレポート説明を表します。レポート説明の空白はハイフン(-)で表します。ローカライズされた値を各プロパティに割り当てます。たとえば、Group Informationレポートの場合、次のプロパティをxlWebAdmin_en_US.propertiesファイルに追加します。

    global.ReportName.Lookup.Group-Information=Group Information
    global.ReportDesc.Lookup.Description~of~the~Group~Information~report=Description of the Group Information report
    
    
  9. xlWebApp.warファイルを再作成し、それを% XL_HOME%/webappディレクトリにコピーします。

サード・パーティのレポート・ツールとの連携

サード・パーティのレポート・ツールでは、用意されたストアド・プロシージャを使用し、Oracle Identity Managerに対してレポートを実行することができます。データ・モデルを理解したり、事前定義済レポートの問合せを作成する必要はありません。いずれのレポート・ツールも、カスタム・ストアド・プロシージャおよびカスタム・レポートに使用できます。

スナップショットおよび変更に関する情報は、XML形式でUPA表に格納されます。サード・パーティのXMLレポート・ツールでは、この表からレポートを生成できます。XMLが好ましい形式ではない場合は、ユーザー・プロファイル監査機能に関連するレポート表UPA_USRUPA_FIELDSUPA_GRP_MEMBERSHIPおよびUPA_RESOURCEを使用して、データを取り出すことができます。