ヘッダーをスキップ

Oracle Identity Manager Toolsリファレンス
リリース9.1.0.2

B56035-01
目次
目次
索引
索引

戻る 次へ

14 権限データの使用

ターゲット・システム上のアカウントに付与された権限により、アカウントの所有者(ユーザー)は、特定のタスクまたは機能を実行できます。権限は、ロール、職責またはグループ・メンバーシップのいずれかです。たとえば、ユーザーRichardがターゲット・システムで「Inventory Analyst」ロールを付与されている場合、Richardはその権限を使用してターゲット・システムにアクセスし、インベントリ関連のレポートを生成できます。

Oracle Identity Managerでは、1人のOIMユーザーにプロビジョニングされたアカウント(リソース)ごとに、1つのプロセス・フォームがあります。権限データは、プロセス・フォームの子プロセス・フォームに格納されます。前述の例では、ターゲット・システム上のRichardのアカウントのプロセス・フォームに、「Inventory Manager」ロールのデータを保持する子プロセス・フォームがあります。

子プロセス・フォームに格納されている権限データを構成する属性は、ターゲット・システムによって異なる場合があります。さらに、ロールと職責など、違うタイプの権限の属性が異なる場合もあります。たとえば、ターゲット・システムAには、次のロール・データ属性があるとします。

同じターゲット・システムで、職責データには次のような異なるセットの属性がある可能性があります。

ターゲット・システム上の権限を一意に識別する属性をマークまたは強調することができます。前述のロールおよび職責のデータ属性の例の場合、「Role Name」属性およびResponsibility ID属性は、ターゲット・システムA上のロール権限および職責権限を一意に識別します。権限を一意に識別する属性をマークすることにより、他のアイデンティティ管理ソリューションで使用でき、レポートでも表示できる権限データを取得できます。

この章では、次の項について説明します。

14.1 使用可能な権限および割当て済権限

ターゲット・システムには、定義済で、いつでもターゲット・システム上のアカウント(ユーザー)に割り当てられる一連の権限があります。このターゲット・システムをOracle Identity Managerと統合する際、ターゲット・システムの権限データをOracle Identity ManagerのLKV表にインポート(同期化)できます。


注意:

ターゲット・システムを統合するために事前定義のコネクタを使用する場合、スケジュール済タスクを使用して、この表に権限データをフェッチできます。 


LKV表の権限は、アカウントへの割当てに使用可能です。このマニュアルでは、これらの権限を使用可能な権限と呼びます。

プロビジョニング処理中、子プロセス・フォームの参照フィールドから割り当てる権限を選択します。このマニュアルでは、アカウントに割り当てられた権限を割当て済権限と呼びます。割当て済権限に関するデータは、子プロセス・フォーム表に格納されます。

14.2 権限データ取得プロセス

各子プロセス・フォームで権限属性をマークした後、次のプロセスが行われます。

14.2.1 使用可能な権限に関するデータの取得

次の手順では、使用可能な権限に関するデータの取得方法について説明します。


注意:

次の手順で説明するプロセスを有効にするには、各子プロセス・フォームで権限属性をマークする必要があります。その手順は、この章で後ほど説明します。 


  1. 使用可能な権限に関するデータは、ターゲット・システムとの同期化によりLKV表に格納されます。

  2. 「Entitlement List」スケジュール済タスクのスケジュールを設定し、実行します。

  3. スケジュール済タスクにより、UD_表から権限属性が識別されます。

  4. スケジュール済タスクでは、使用可能な権限に関するデータをLKV表からENT_LIST表にコピーします。

14.2.2 割当て済の権限に関するデータの取得

この項では、割当て済の権限に関するデータの取得方法を説明します。


注意:

次の手順で説明するプロセスを有効にするには、各子プロセス・フォームのUD_表で権限属性をマークする必要があります。その手順は、この章で後ほど説明します。 


割当て済権限の最初の同期化を実行する手順は次のとおりです。

  1. 「Entitlement Assignments」スケジュール済タスクが1回実行されるようにスケジュールを設定します。

  2. スケジュール済タスクにより、子プロセス・フォーム(UD_)表から権限属性が識別されます。

  3. スケジュール済タスクにより、各UD_表にINSERT、UPDATEおよびDELETEトリガーが作成されます。

  4. スケジュール済タスクでは、割当て済の権限に関するデータをUD_表からENT_ASSIGN表にコピーします。


    注意:

    ENT_ASSIGN表には、現在リソース(ユーザー)に割り当てられている権限に関するデータが保持されています。権限が失効すると、その権限のレコードは、この表から履歴データに移動します。詳細は、「Entitlement Updations」で説明しています。 


割当て済権限の増分同期化を実行する手順は次のとおりです。

  1. プロビジョニング処理またはリコンシリエーションにより割当て済権限に変更を加えると、INSERT、UPDATEまたはDELETEトリガーにより、追加、変更または削除された行がUD_表からステージング表にコピーされます。

  2. 「Entitlement Updations」スケジュー済タスクをスケジュールし、実行します。

  3. ステージング(ENT_ASSIGN_DELTA)表のレコードごとに、スケジュール済タスクによって実行されるアクションは、割当て済権限に対して実行された操作のタイプに依存します。


    注意:

    操作のタイプ(INSERT、UPDATEまたはDELETE)は、ステージング表に格納されているデータ項目の1つです。 


    • イベント: アカウントに権限が新規に割り当てられました。

      アクション: ENT_ASSIGN表に新規のレコードが作成(ステージング表からコピー)されます。

    • イベント: 既存の権限が変更されました。

      アクション: 既存のレコードは、ENT_ASSIGN表からENT_ASSIGN_HIST表にコピーされます。既存のレコードは、ENT_ASSIGN表から削除されます。新たに変更された権限に対応するレコードが、ENT_ASSIGN表に作成されます。

    • イベント: 既存の権限が失効しました。

      アクション: 既存のレコードは、ENT_ASSIGN表からENT_ASSIGN_HIST表にコピーされます。既存のレコードは、ENT_ASSIGN表から削除されます。

14.3 この機能を使用するためのOracle Application Serverインストールの構成

Oracle Identity ManagerインストールがOracle Application Serverで稼働し、権限データを処理する場合、次の手順を実行します。

  1. テキスト・エディタで、opmn.xmlファイルを開きます。

  2. このファイルで、コードの次のブロックを検索します。

    <process-type id="home" module-id="OC4J" status="enabled">
         <module-data>
         <category id="start-parameters">
         <data id="oc4j-options" value="-userThreads"/>
         <data id="java-options"
    value="-DXL.HomeDir=/home/testoc4j/OIM9102/xlserver/xellerate
    -Dlog4j.configuration=file:/home/testoc4j/OIM9102/xlserver/xellerate/config/lo
    g.properties -server -XX:PermSize=128M -XX:MaxPermSize=256M -ms512M -mx1024M
    -XX:AppendRatio=3 -XX:AppendRatio=3
    -Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy
    -Djava.awt.headless=true -Dhttp.webdir.enable=false"/>
    </category>
     
    
  3. コードのこのブロックに次の行を次のように追加します。

    <process-type id="home" module-id="OC4J" status="enabled">
         <module-data>
         <category id="start-parameters">
         <data id="oc4j-options" value="-userThreads"/>
         <data id="java-options"
    value="-DXL.HomeDir=/home/testoc4j/OIM9102/xlserver/xellerate
    -Dlog4j.configuration=file:/home/testoc4j/OIM9102/xlserver/xellerate/config/lo
    g.properties -server -XX:PermSize=128M -XX:MaxPermSize=256M -ms512M -mx1024M
    -XX:AppendRatio=3 -XX:AppendRatio=3
    -Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy
    -Djava.awt.headless=true -Dhttp.webdir.enable=false"/>
    <data id="oc4j-options" value="-userThreads"/>
    </category>
     
    
  4. ファイルを保存してから閉じます。

14.4 子プロセス・フォームでの権限属性のマーク

権限データを取得するリソースの子プロセス・フォームUD_表で、権限属性をマークする必要があります。操作環境に15のターゲット・システムがあるとします。15のリソースのうち
12から権限データを取得する場合、それら12のリソースの権限属性をマークする必要があります。

この項で説明する手順を実行する場合、次のガイドラインに従います。

子プロセス・フォームで権限としてフィールドをマークする手順は次のとおりです。

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

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

  3. マークする権限のある子フォームを検索し、開きます。

    たとえば、UD_ADUSRC子フォーム上の権限をマークする必要があるとします。

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

  5. 新バージョンのラベルを入力し、「Save」アイコンをクリックして、ダイアログ・ボックスを閉じます。

  6. 「Current Version」リストから、作成するバージョンを選択します。

  7. 「Properties」タブで、権限としてマークするフィールドを選択し、「Add Property」をクリックします。

  8. 「Add Property」ダイアログ・ボックスの「Property Name」リストから、「Entitlement」を選択します。


    注意:

    列タイプが「LookupField」に設定され、プロパティ名が「Lookup Code」に設定されている場合のみ、「Entitlement」をフィールドのプロパティとして設定できます。 


  9. 「Property Value」フィールドに、trueを入力します。

    ダイアログ・ボックス内の他のどのフィールドにも、値を指定する必要はありません。

    次のスクリーンショットは、参照フィールドのための「Edit Property」ダイアログ・ボックスを示しています。


  10. 「Save」アイコンをクリックし、ダイアログ・ボックスを閉じます。

  11. 権限の「Start Date」値および「End Date」値の取得を有効にする場合は、次の手順を実行します。


    注意:

    「Start Date」値および「End Date」値の取得は、両フィールドの列タイプがDateFieldDlgである場合にのみ有効にできます。 


    1. 「Properties」タブで、「Start Date」フィールドを選択し、「Add Property」をクリックします。

    2. 「Add Property」ダイアログ・ボックスの「Property Name」リストから、「Entitlement Valid From」を選択します。

    3. 「Property Value」フィールドに、trueを入力します。

    4. 「Save」アイコンをクリックし、ダイアログ・ボックスを閉じます。

    5. 「Properties」タブで、「End Date」フィールドを選択し、「Add Property」をクリックします。

    6. 「Add Property」ダイアログ・ボックスの「Property Name」リストから、「Entitlement Valid To」を選択します。

    7. 「Property Value」フィールドに、trueを入力します。

      次のスクリーンショットは、「Start Date」フィールドのための「Edit Property」ダイアログ・ボックスを示しています。


    8. 「Save」アイコンをクリックし、ダイアログ・ボックスを閉じます。

  12. 「Save」アイコンをクリックし、子プロセス・フォームに加えられた変更を保存します。

    次のスクリーンショットは、子プロセス・フォームの「Properties」タブを示しています。



    注意:

    「Start Date」および「End Date」のマークはオプションです。 


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

14.5 権限データの処理用スケジュール済タスクの構成

権限データの処理用に、次のスケジュール済タスクを構成します。

14.5.1 Entitlement List

「Entitlement List」スケジュール済タスクでは、子プロセス・フォーム表から権限属性を識別し、権限データをLKV表からENT_LIST表にコピーします。ENT_LIST表で作成されたレコードは、特定のターゲット・システムで定義されている権限に対応します。

操作環境においてそのターゲット・システムで新規の権限が定義される頻度に応じて、このタスクのスケジュールを設定する必要があります。さらに、新規のターゲット・システムがOracle Identity Managerに統合されるときには、このスケジュール済タスクを実行する必要があります。つまり、新規の権限をマークするたびに、このタスクを実行する必要があります。コネクタのスケジュール済タスクで参照フィールド・データをターゲット・システムからLKV表にフェッチすると、「Entitlement List」スケジュール済タスクを実行して、その権限データをENT_LIST表にコピーできます。

このスケジュール済タスクでは、ターゲット・システムへの権限の更新またはターゲット・システムからの権限の削除も処理します。たとえば、「Senior Accounts Analyst」ロールをターゲット・システムから削除すると、コネクタのスケジュール済タスクにより、そのロールのエントリがLKV表から削除されます。「Entitlement List」スケジュール済タスクを実行すると、ENT_LIST表でそのロールを含む行が削除済の行としてマークされます。

14.5.2 Entitlement Assignments

「Entitlement Assignments」スケジュール済タスクは、割当て済の権限に関するデータを初めてENT_ASSIGN表にコピーするために使用されます。このタスクにより子プロセス・フォーム表から権限属性が識別され、割当て済権限に関するデータが子プロセス・フォーム表からENT_ASSIGN表にコピーされます。ENT_ASSIGN表で作成されたレコードは、特定のターゲット・システムの特定のユーザーに割り当てられた権限に対応します。

さらに、このタスクは、権限データのコピー元である子プロセス・フォーム表で、INSERT、UPDATEおよびDELETEのトリガーを作成します。これらのトリガーの機能の詳細は、「割当て済の権限に関するデータの取得」を参照してください。

このスケジュール済タスクのRECORDS_TO_PROCESS_IN_BATCH属性を使用して、各バッチのレコード数を指定できます。デフォルトのバッチ・サイズは5000です。

このスケジュール済タスクは、初めて権限データの使用を開始するときや、新規の子プロセス・フォーム・フィールドを権限としてマークするときに実行する必要があります。

14.5.3 Entitlement Updations

「Entitlement Updations」スケジュール済タスクでは、ENT_ASSIGN表を子プロセス・フォーム表の権限割当てデータに対する変更で更新します。「Entitlement Assignments」スケジュール済タスクによって作成されたトリガーが、権限割当てデータに加えられた変更をステージング表にコピーします。「Entitlement Updations」スケジュール済タスクでは、ステージング表にあるデータを処理し、ENT_ASSIGN表のデータに必要な変更を加えます。

14.6 割当て済権限に対する変更の取得の無効化

ENT_ASSIGN表の割当て済権限データの増分同期化を手動で無効にできます。つまり、割当て済権限への変更の取得を無効にできます。これを実行するには、子プロセス・フォーム表で作成された次のトリガーを削除するSQLスクリプトを作成し、実行します。


注意:

これらのトリガーは、「Entitlement Assignments」スケジュール済タスクによって作成されます。 


スクリプトを実行すると、割当て済権限に対する変更は、ステージング表にコピーされません。

14.7 権限関連のレポート

次の事前定義のレポートでは、割当て済権限に関するデータを提供します。


注意:

これらのレポートを表示するには、ADMINISTRATORSグループのメンバーであることが必要です。

特定のユーザーに対する同じ権限の重複割当ては、ENT_表にコピーされないため、レポートでは抑止されます。たとえば、ユーザーJohn Doeがターゲット・システム上で「Sales Superintendent」ロールを2回割り当てられた場合、レポートではこの権限の1つのインスタンスのみが表示されます。 


14.7.1 Entitlement Access List

「Entitlement Access List」レポートには、レポート生成時に指定した権限を現在割り当てられているユーザーのリストが表示されます。レポートでは、権限に関する基本情報と、権限を割り当てられているユーザーのリストが提供されます。

14.7.2 Entitlement Access List History

「Entitlement Access List History」レポートには、レポート生成時に指定した権限を割り当てられたユーザーのリストが表示されます。レポートでは、権限に関する基本情報と、権限を割り当てられたユーザーのリストが提供されます。

14.7.3 User Resource Entitlement

「User Resource Entitlement」レポートには、レポートの生成時に指定したユーザーの現行の権限のリストが表示されます。レポートには、基本的なユーザー情報と権限の詳細が表示されます。

14.7.4 User Resource Entitlement History

「User Resource Entitlement History」レポートには、レポートの生成時に指定したユーザーに割り当てられた過去の権限の詳細が表示されます。レポートには、基本的なユーザー情報と権限の詳細が表示されます。

14.8 ENT_ASSIGN_HIST表に格納されているデータのアーカイブ


注意:

この項で説明するユーティリティは、Oracle Identity ManagerインストールでOracle Databaseを使用している場合のみ使用できます。 


Oracle Identity Managerでは、ENT_ASSIGN_HIST表からデータが自動的に削除されません。ある期間にわたり、この表のサイズが徐々に大きくなると、Oracle Identity Managerデータベースのパフォーマンスに悪影響が出る可能性があります。権限アーカイブ・ユーティリティを使用すれば、ENT_ASSIGN_HIST表のデータをアーカイブし、表から削除できます。


注意:

権限アーカイブ・ユーティリティによりアーカイブされるデータは、「権限関連のレポート」で示されているレポートを生成してもアクセスできません。  


次の項では、権限アーカイブ・ユーティリティを実行するための手順を説明します。

14.8.1 アーカイブ済権限データを格納する表領域の作成


注意:

この項で説明する手順は、1回かぎりのアクティビティです。作成する表領域は、権限アーカイブ・ユーティリティの後続の実行すべてに使用されます。 


アーカイブ済権限データを格納するための表領域を作成する必要があります。oim_archival_tablespace_setup.sqlスクリプトを使用すれば、表領域を作成できます。このスクリプトは、OIM_HOME/xellerate/db/oracle/Utilities/EntitlementArchivalディレクトリにあります。


注意:

OIM_TASK_ARCH表領域用に作成されるデータファイルのデフォルトのサイズは3GBで、約100万レコードを保持できます。必要に応じて、Oracle Identity Managerのデフォルト・データファイルに領域を追加しても、データファイルを作成してもかまいません。 


Oracle Identity Managerデータベースに表領域を作成する手順は次のとおりです。

  1. Oracle Identity ManagerデータベースにSYSDBAとして接続します。

  2. oim_archival_tablespace_setup.sqlスクリプトを実行します。

    スクリプトから次の情報の入力を要求されます。

    • データファイルの名前(完全なパス付き)。

    • Oracle Identity Managerデータベース・アカウントのユーザー名: ユーティリティでは、アーカイブ処理にこのアカウントを使用します。

14.8.2 権限アーカイブ・ユーティリティの実行


注意:

権限アーカイブ・ユーティリティは、業務時間外に実行することをお薦めします。 


権限アーカイブ・ユーティリティを実行する手順は次のとおりです。

  1. Oracle Identity Managerデータベースが使用可能であることを確認します。さらに、Oracle Identity Managerデータベースが、他のセッションでトランザクションのために開かれていないことを確認します。

  2. ENT_ASSIGN_HIST表のバックアップを作成します。

  3. アクティブな権限の履歴表で最後に更新された統計とそれらの索引を調べるために、次の問合せを実行します。

    SELECT table_name, last_analyzed FROM user_tables;

  4. Oracle Identity Managerを停止します。

  5. LinuxおよびUNIXプラットフォームでは、oim_Entitlement_archival.shファイルの実行権限を設定し、そのファイルが有効なLinuxおよびUNIXのテキスト・ファイルであることを確認するために、次の手順を実行します。

    コマンド・ウィンドウで、次のディレクトリに移動します。

    OIM_HOME/xellerate/db/oracle/Utilities/EntitlementArchival

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

    chmod 755 FULL_PATH/oim_Entitlement_archival.sh
    dos2unix FULL_PATH/oim_Entitlement_archival.sh
    
    
  6. LinuxおよびUNIXプラットフォームでは、FULL_PATH/oim_Entitlement_archival.shファイルを実行します。

    Microsoft Windowsプラットフォームでは、FULL_PATH¥oim_Entitlement_archival.batファイルを実行します。

  7. スクリプトを実行すると、次の情報の入力を要求されます。

    Oracleホーム

    対応: [Enter]キーを押して、デフォルトのOracleホーム・ディレクトリを受け入れます。または、Oracleホーム・ディレクトリのフルパスを指定します。

    Oracle SID

    対応: yを入力して、デフォルトのOracle SIDを受け入れます。または、Oracle SIDを指定します。

    Oracleポート番号

    対応: Oracle Databaseが稼働しているポート番号を入力します。

    データベースのユーザー・パスワード

    対応: ユーティリティ用に作成したデータベース・アカウントのパスワードを入力します。

    YYYYMMDD書式の日付

    アーカイブするレコードの終了日制限を入力します。指定した日付以前の日付のタスクはすべてアーカイブされます。

    バッチ・サイズ

    アーカイブ処理用のバッチ・サイズを入力します。デフォルトのバッチ・サイズは
    10000です。

    アーカイブ・アクション

    次の数値のいずれかを入力します。

    権限データをアーカイブしてから消去するには、1を入力します。

    権限データをアーカイブせずに消去するには、2を入力します。

    終了するには、3を入力します。

    アーカイブ実行の最後に、アーカイブ完了のメッセージが表示されます。

  8. アーカイブ実行に関する情報は、次のディレクトリに作成されるログ・ファイルを参照します。

    OIM_HOME/xellerate/db/oracle/Utilities/EntitlementArchival/logs_ YYYYMMDD_hhmi


戻る 次へ
Oracle
Copyright © 2009 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引