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

ホーム組織ポリシーの管理では、ホーム組織ポリシーのユースケースを理解し、ホーム組織ポリシーのルールを作成、編集および削除します。

この章の構成は、次のとおりです。

13.1 ホーム組織ポリシーについて

ホーム組織ポリシーを使用して、自己登録ユーザーのホーム組織を決定できます。アイデンティティ・システム管理の「ホーム組織ポリシー」ページでは、ホーム組織ポリシーのルールの表示、作成、削除および変更を行うことができます。

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

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

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

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

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

13.2 ホーム組織ポリシーのユースケース

ホーム組織ポリシーでサポートされるユースケースには、デフォルト・ルール、単純ルールまたは複合ルールを使用した自己登録、ルール評価順序のユースケース、およびSOAがオフの場合の自己登録があります。

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

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

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

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

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

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

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

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

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

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

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

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

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

13.2.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に設定されます。

13.2.4 ルール評価順序のユースケース

ユーザーが自己登録すると、ホーム組織のページに表示されるリストのトップ・ルールが最初に評価され、それに続いてその次のルールから最後のルールまでが順に評価されます。

一致するルールが見つかると評価は停止されます。たとえば、図13-1に示すように、ExampleSimpleRuleの後にExampleComplexRuleが作成されます。

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

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

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

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

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

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

SOAサーバーを無効にするステップは、SOAサーバーの無効化を参照してください。

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

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

「ホーム組織ポリシー」ページを使用し、条件ビルダーを使用してルールを作成および構成するか、スクリプトを使用してルール設定操作を実行できます。

ルールを作成するには:

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

  2. 左側のペインの「システム構成」で、「ホーム組織ポリシー」をクリックして「ホーム組織ポリシー」ページを開きます。

  3. ツールバーで「作成」をクリックして、「ホーム組織ポリシー・ルールの追加」ページを開きます。

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

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

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

  6. 条件ビルダーを使用してルールを設定するには:

    1. ルールのIF部分で「条件ビルダー」アイコンをクリックして、「条件ビルダー」ウィンドウを開きます。

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

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

      図13-2の説明が続きます
      「図13-2 「条件ビルダー」オプションを使用したルールの作成」の説明
    2. 属性リストとしてユーザー属性を選択すると、ユーザーに関連付けられたUDFおよびデフォルト属性のリストが表示されます。

      リストから特定の属性を検索するか、フィールドに属性の名前を入力し、「検索」アイコンをクリックします。リストから属性を選択し、「OK」をクリックします。

    3. 条件リストから条件を選択します。使用可能な条件は、「次と等しい」、「次と等しくない」、「次を含む」、「次を含まない」、「次で始まる」、「次で始まらない」、「次で終わる」、「次で終わらない」です。

      ノート:

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

    4. 値を入力するには、フィールドに値を入力して「OK」をクリックするか、「値」アイコンをクリックして「条件ビルダー」ウィンドウを開きます。

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

      「値」を選択すると、値のリストが表示されます。必要な値を選択するか、フィールドに値を入力して「OK」をクリックします。

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

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

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

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

    8. 複合ルールを設定するには、「条件の追加」をクリックします。「AND」または「OR」条件を選択し、その他のルールを設定します。

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

    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;
      }
      

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

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

      図13-3の説明が続きます
      「図13-3 「スクリプト」オプションを使用したルールの作成」の説明
    2. 検索する単語を入力し、「検索」アイコンをクリックします。「検索と置換」パネルが表示されます。

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

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

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

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

ホーム組織ポリシーの既存のルールを編集するには、ポリシーを開いて、ルールの詳細を変更してから、変更したポリシーを保存します。

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

  1. Oracle Identity System Administrationにログインします。
  2. 左側のペインの「システム構成」で、「ホーム組織ポリシー」をクリックして「ホーム組織ポリシー」ウィンドウを開きます。
  3. リストから必要なホーム組織ポリシーを選択し、「開く」をクリックします。
  4. 必要な詳細を変更し、「更新」をクリックします。

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

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

ホーム組織ポリシーで、必要ないルールまたは使用されていないルールを削除します。

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

  1. Oracle Identity System Administrationにログインします。
  2. 左側のペインの「システム構成」で、「ホーム組織ポリシー」をクリックして「ホーム組織ポリシー」ウィンドウを開きます。
  3. 削除する必要があるホーム組織ポリシー・ルールを選択し、「削除」をクリックします。