プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Identity Managerの管理
11g リリース2 (11.1.2.3.0)
E61959-10
  目次へ移動
目次

前
 
次
 

14 ホーム組織ポリシーの管理

ユーザーが自己登録のリクエストを送信すると、ユーザーのホーム組織がホーム組織のポリシーによって決定されます。送信されたリクエストには、ホーム組織ポリシーによって決定された組織名が入力されています。承認者は、リクエストを承認する際に、ユーザーのホーム組織をオーバーライドできます。自己登録時にホーム組織を決定する前処理カスタム・ハンドラが定義されている場合、ホーム組織のポリシーは評価されません。ワークフロー・ポリシーが定義されている場合は、ホーム組織ポリシーに優先します。

ホーム組織ポリシーでは、ユーザー属性に基づいてルールを定義できます。ルールの戻り値は、組織名です。ルールは最初のルールから最後のルールへと、Oracle Identity System Administrationの「ホーム組織ポリシー」ページに表示される順に評価されます。ルールは、「ホーム組織ポリシー」ページで並替えができます。ルール評価は、ルールが一致して組織名が返されると停止します。残りのルールは評価されません。

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

14.1 ホーム組織ポリシーの機能

Oracle Identity Managerのデプロイメント中に、ホーム組織決定ポリシーと呼ばれるデフォルトのホーム組織ポリシー、および単一組織へのすべてのユーザーのデフォルト設定と呼ばれるデフォルトのルールがシードされます(存在していない場合)。Oracle Identity Managerでは新しいホーム組織ポリシーを定義することはできません。ただし、デフォルトのホーム組織ポリシーの下に新しいルールを作成することはできます。

単一組織へのすべてのユーザーのデフォルト設定ルールは、すべてのユーザーによって満たされます。なんらかの理由により、デフォルト・ルールが削除されたときに、ユーザーが他のいずれかのルールを満たさない場合は、送信されたリクエスト内でこのユーザーのホーム組織が空白のままになります。承認者は、承認する前にホーム組織名を入力できます。SOAサーバーが無効な場合、承認者はホーム組織名を入力できないため、空白のホーム組織フィールドにより、リクエストが失敗します。すべてのユーザーが1つ以上のルールを満たし、ホーム組織を割り当てることができるように、ルールが定義されていることを確認します。

ホーム組織ポリシーのルールは、テキスト、数値、チェック・ボックス、および日付タイプのUDFを使用して定義できます。ただし、参照タイプのUDFを自己登録ページに追加することはできません。IF条件を作成するために使用可能な演算子のリストは、UDFの各タイプごとに異なります。

次の各ユースケースでは、ホーム組織ポリシーの機能を示します。

14.1.1 デフォルト・ルールを使用した自己登録ユースケース

デフォルト・ルールは、単一組織へのすべてのユーザーのデフォルト設定です。このルールは変更できますが、削除することはできません。

定義されている条件は、次のとおりです。

IF user.User Login  Equals  $(user.User Login) THEN organization equals "Xellerate Users"

デフォルト条件は常にTrueに評価されます。このため、ホーム組織ポリシーに定義されている他のルールが満たされない場合、デフォルト・ルールが確実に満たされ、ホーム組織名を提供します。

たとえば、userLoginがUser1であるユーザーが自己登録リクエストを送信したときに、他のルールが定義されていないか満たされない場合、デフォルト・ルールが評価されます。また、ホーム組織は「Xellerateユーザー」に設定されます。

14.1.2 単純ルールを使用した自己登録ユースケース

単純ルールは、単一のIF条件を使用し、AND/ORなどの他の演算子は使用しないで作成されるルールです。

たとえば、ExampleSimpleRuleと呼ばれるルールが次の条件で定義されたとします。

IF user.Nickname Starts with "Test" THEN organization equals "testOrg2"

この場合、user.NicknameはテキストUDF属性です。

ここで、TestUser2というニックネームを持つユーザーが自己登録リクエストを送信すると、ルール条件が満たされ、ホーム組織はtestOrg2に設定されます。

14.1.3 複合ルールを使用した自己登録ユースケース

複合ルールは、複数のIF条件を使用して作成されたルールで、AND/OR演算子を使用してルールを形成します。

たとえば、ExampleComplexRuleと呼ばれるルールが次の条件で定義されたとします。

IF user.Nickname Starts with "Test" AND user.Display Name Ends with "User" THEN organization equals "testOrg3"

この場合、user.NicknameはUDF属性であり、user.Display Nameはデフォルト属性です。

ここで、TestUser3というニックネームを持ち、表示名がtestUserであるユーザーが自己登録リクエストを送信すると、ルール条件が満たされ、ホーム組織はtestOrg3に設定されます。

14.1.4 ルール評価順序

ユーザーが自己登録すると、ホーム組織のページに表示されるリストのトップ・ルールが最初に評価され、それに続いてその次のルールから最後のルールまでが順に評価されます。一致するルールが見つかると評価は停止されます。たとえば、図14-1に示すように、ExampleSimpleRuleの後にExampleComplexRuleが作成されます。

図14-1 「ホーム組織ポリシー」ページに定義されているルールのリスト

図14-1の説明が続きます
「図14-1 「ホーム組織ポリシー」ページに定義されているルールのリスト」の説明

この場合、ユーザーが自己登録すると、ユーザー属性値がExampleComplexRuleに対して最初に評価され、一致しない場合は、ExampleSimpleRuleに対する評価に進みます。これも一致しない場合は、デフォルト・ルールである単一組織へのすべてのユーザーのデフォルト設定に対して評価されます。

ExampleSimpleRuleに対する評価が満たされた場合は、ルール内の条件に応じてユーザーのホーム組織が設定されます。

14.1.5 SOAがOFFである場合の自己登録ユースケース

SOAがオフであるときに自己登録リクエストが送信されると、リクエストは自動承認され、リクエストのステータスは完了として表示されます。

SOAサーバーを無効にする手順は、「SOAサーバーの無効化」を参照してください。

これで、ユーザーが自己登録を送信すると、リクエストが自動承認され、ステータスが完了として表示されるようになります。ホーム組織ルールの評価は、前述の例で説明したものと同じです。

14.2 ホーム組織ポリシーのルールの作成

ホーム組織ポリシーのルールを作成するには:

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

  2. 左側のペインの「システム構成」で、「ホーム組織ポリシー」をクリックします。「ホーム組織ポリシー」ウィンドウが表示されます。

  3. ツールバーの「作成」をクリックします。「ホーム組織ポリシー・ルールの追加」ページが表示されます。

  4. 「ルールの作成」セクションで、新しいルールの「名前」「説明」「所有者」および「ステータス」を入力します。ルールの「ステータス」は、「有効化」または「無効化」に設定できます。「ステータス」が「無効化」,に設定されている場合、ユーザーが自己登録すると、評価時にこのルールはスキップされます。

  5. 「条件ビルダー」セクションでルール条件を設定します。たとえば、表示名に「Test」が含まれ、姓に「User」が含まれる場合、組織は「Vision North America」になります。この例では、属性は「Display name」、条件は「contains」、および値は「test」です。

    ルールは、条件ビルダーまたはスクリプトを使用して設定できます。

    • 条件ビルダーを使用してルールを設定するには、次を実行します。

      1. ルールのIF部分で属性を入力するには、「条件ビルダー」アイコンをクリックします。条件ビルダーのポップアップ画面が表示されます。

        例として、図14-2に、ルールを設定するために「条件ビルダー」オプションが選択された「ルールの作成」ページを示します。

        図14-2 「条件ビルダー」オプションを使用したルールの作成

        図14-2の説明が続きます
        「図14-2 「条件ビルダー」オプションを使用したルールの作成」の説明

      2. 属性リストとしてユーザー属性を選択すると、ユーザーに関連付けられたUDFおよびデフォルト属性のリストが表示されます。

        リストから特定の属性を検索するか、テキスト・ボックスに属性の名前を入力し、「検索」アイコンをクリックします。リストから属性を選択し、「OK」をクリックします。

      3. 条件ドロップダウンから条件を選択します。使用可能な条件は、「次と等しい」、「次と等しくない」、「次を含む」、「次を含まない」、「次で始まる」、「次で始まらない」、「次で終わる」、「次で終わらない」です。


        注意:

        このリストは、属性のタイプによって異なります。前述のリストはテキスト・タイプ用です。数値型属性の場合、値は「次より大きい」や「次より小さい」などになります。

      4. 値を入力するには、テキスト・ボックスに値を入力して「OK」をクリックするか、「値」アイコンをクリックして条件ビルダーのポップアップ画面を開きます。

        条件ビルダーでは、「値」「式」のどちらかを選択して入力できます。

        「値」を選択すると、値のリストが表示されます。必要な値を選択するか、テキスト・ボックスに値を入力して「OK」をクリックします。

        「式」を選択すると、条件のリストが表示されます。必要な値を選択し、「OK」をクリックします。

      5. ルールの「THEN」部分を入力するには、組織アイコンをクリックします。条件ビルダーのポップアップ画面が表示されます。組織を選択し、「OK」をクリックします。

      6. デフォルトでは、条件は「次と等しい」に設定されており、変更できません。

      7. 組織を選択するには、組織名アイコンをクリックします。条件ビルダーのポップアップ画面が表示されます。リストから組織名を選択し、「OK」をクリックします。

    • スクリプトを使用できるgroovy式のサポートは、デフォルトで提供されています。

      スクリプトを使用してルールを設定するには、次を実行します。

      1. 「スクリプト」が選択されている場合、既存のスクリプトが表示されます。たとえば、ユーザーの部門番号が構成されている場合は、組織の値を部門番号として設定します。部門番号がOracle、Oracle-HQまたはOracle-IDCの場合、組織の値は部門番号に設定されます。Oracle、Oracle-IDC、Oracle-HQという名前の組織がシステムに存在することを確認してください。

        String deptNum= vo.getString("user.Department Number");
        if(deptNum)
        {
                ValueObject rvo = new ValueObject();
                rvo.put("organization",deptNum);
                return rvo;
        }
        

        例として、図14-3に、ルールを設定するために「スクリプト」オプションが選択された「ルールの作成」ページを示します。

        図14-3 「スクリプト」オプションを使用したルールの作成

        図14-3の説明は次にあります。
        「図14-3 「スクリプト」オプションを使用したルールの作成」の説明

      2. 検索する単語を入力し、「検索」アイコンをクリックします。「検索と置換」パネルが表示されます。

      3. 特定の行にジャンプするには、行番号を入力し、「検索」アイコンをクリックします。

  6. 複合ルールを設定するには、「条件の追加」をクリックします。「AND」または「OR」条件を選択し、手順5の指示に従って追加ルールを設定します。

  7. 「作成」をクリックします。

  8. 定義されているすべてのルールが、「ホーム組織ポリシー」ページに表示されます。定義されたルールは、リスト内で上下に移動してその順序を変更でき、これを行うには、ルールの「順序」列の上矢印または下矢印をクリックします。

14.3 ホーム組織ポリシーのルールの変更

ホーム組織ポリシーのルールを変更するには:

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

  2. 左側のペインの「システム構成」で、「ホーム組織ポリシー」をクリックします。「ホーム組織ポリシー」ウィンドウが表示されます。

  3. リストから必要なホーム組織ポリシーを選択し、「開く」をクリックします。

  4. 必要な詳細を変更し、「更新」をクリックします。

    ルールに対して行った変更を更新しない場合は、「元に戻す」をクリックします。ルールは元のルールにリストアされます。

14.4 ホーム組織ポリシーのルールの削除

ホーム組織ポリシーのルールを削除するには:

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

  2. 左側のペインの「システム構成」で、「ホーム組織ポリシー」をクリックします。「ホーム組織ポリシー」ウィンドウが表示されます。

  3. 削除する必要があるホーム組織ポリシーをリストから選択し、「削除」をクリックします。