Sun Identity Manager 8.1 ビジネス管理者ガイド

第 14 章 監査: 監査ポリシー

この章では、監査ポリシーウィザードを使用して監査ポリシーの作成、編集、削除、および割り当てを行う方法について説明します。

この章では、次の概念およびタスクについて説明します。

監査ポリシーの操作

監査ポリシーを作成するには、Identity Manager の監査ポリシーウィザードを使用します。監査ポリシーの定義後、そのポリシーに対して、変更や削除など、さまざまなアクションを実行できます。

監査ポリシー規則

監査ポリシー規則は特定の違反を定義します。ポリシー規則には、XPRESS、XML オブジェクト、または JavaScript 言語で作成された関数を含めることができます。

監査ポリシーウィザードを使用して簡単な規則を作成したり、Identity Manager IDE や XML エディタを使用してより高度な規則を作成することが可能です。

監査ポリシーウィザードを使用して作成された規則は、true または false の値を返します。true の値を返すポリシー規則がポリシー違反となります。ただし、Identity Manager IDE を使用すると、監査スキャンやアクセスレビューの間にユーザーをスキップする規則を作成できます。ignore の値を返す監査ポリシー規則は、そのユーザーに対する規則の処理を停止し、次の対象ユーザーに進みます。

監査ポリシー規則の作成については、『Sun Identity Manager Deployment Reference』の第 4 章「Working with Rules」を参照してください。

監査ポリシーの作成

監査ポリシーを作成するには、監査ポリシーウィザードを使用します。

Procedure監査ポリシーウィザードを開く

監査ポリシーウィザードでは、監査ポリシーの作成手順を、順を追って説明します。ウィザードにアクセスするには、次の手順を使用します。

  1. 管理者インタフェースにログインします (「Identity Manager エンドユーザーインタフェースへのログイン」)。

  2. 「コンプライアンス」タブをクリックします。

    「ポリシーの管理」サブタブまたはメニューが開きます。

  3. 新しい監査ポリシーを作成するには、「新規」をクリックします。

監査ポリシーの作成: 概要

ウィザードでは、次のタスクを実行して監査ポリシーを作成します。

各ウィザード画面に表示されたタスクを完了したら、「次へ」をクリックして次の手順に進みます。

開始する前に

十分に計画してから監査ポリシーを作成してください。開始する前に、以下のタスクを完了したことを確認します。

Procedure必要な規則を確認する

ポリシーで指定する制限は、作成またはインポートする一連の規則に実装されます。監査ポリシーウィザードを使用して規則を作成する場合は、次の手順を実行します。

  1. 操作する特定のリソースを指定します。

  2. リソースで有効な属性のリストからアカウント属性を選択します。

  3. その属性に課す条件を選択します。

  4. 比較用の値を入力します。

    監査ポリシーウィザードの外部で監査ポリシー規則を作成する場合は、『Sun Identity Manager Deployment Reference』の第 4 章「Working with Rules」を参照してください。

Identity Manager への職務分掌規則のインポート (省略可能)

監査ポリシーウィザードでは、職務分掌規則を作成できません。これらの規則は、Identity Manager の外部で作成し、「設定」タブの「交換ファイルのインポート」オプションを使用してインポートする必要があります。

Identity Manager へのワークフローのインポート (省略可能)

Procedure外部ワークフローをインポートする

現在 Identity Manager から利用できない是正ワークフローを使用するには、外部ワークフローをインポートします。XML エディタまたは Identity Manager IDE を使用して、カスタムワークフローを作成できます。

  1. authType=’AuditorAdminTask’ and add subtype=’SUBTYPE_REMEDIATION_WORKFLOW’ を設定します。これらの設定オブジェクトを設定するには、Identity Manager IDE または任意の XML エディタを使用します。

  2. 「交換ファイルのインポート」オプションを使用してワークフローをインポートします。

    1. 管理者インタフェースにログインします (「Identity Manager エンドユーザーインタフェースへのログイン」)。

    2. 「設定」タブをクリックし、次に「交換ファイルのインポート」サブタブまたはメニューをクリックします。

      「交換ファイルのインポート」ページが表示されます。

    3. アップロードするワークフローファイルを参照し、「インポート」をクリックします。

      正常にインポートされたワークフローは、監査ポリシーウィザード (「監査ポリシーの作成」) の「是正ワークフロー」のオプションリストに表示されます。

監査ポリシーの名前と説明の指定

監査ポリシーウィザードに、新しいポリシーの名前と簡単な説明を入力します (図 14–1)。

図 14–1 監査ポリシーウィザード: 名前と説明の入力画面

監査ポリシーウィザードの画面を示す図


注 –

監査ポリシー名には、次の文字を使用できません。' (アポストロフィー)、. (ピリオド)、| (パイプ)、[ (左角括弧)、] (右角括弧)、, (コンマ)、: (コロン)、$ (ドル記号)、“ (二重引用符)、\ (バックスラッシュ)、= (等号)。

また、_ (下線)、% (パーセント記号)、^ (キャレット)、および * (アスタリスク) の使用も避けてください。


スキャン実行時のアクセス対象を、選択したリソースだけに制限する場合は、「ターゲットリソースを制限」オプションを選択します。

違反の是正として、ただちにユーザーを再スキャンする場合は、「違反の再スキャンを許可」オプションを選択します。


注 –

監査ポリシーでリソースを制限しない場合、スキャンでは、ユーザーがアカウントを持つすべてのリソースがアクセスされます。規則で使用するリソースが少ない場合は、ポリシーの適用をそれらのリソースに限定するほうが効率的です。


「次へ」をクリックして次のページに進みます。

Procedure規則のタイプを選択する

このページで、ポリシーの規則を定義または追加するプロセスを開始します。ポリシー作成時の作業の大部分は、規則の定義と作成です。

次の図に示すように、Identity Manager の規則ウィザードを使用して独自の規則を作成するか、または既存の規則を組み込むことができます。規則ウィザードでは、1 つの規則で使用できるリソースは 1 つだけです。インポートした規則では、必要なだけの数のリソースを参照できます。

監査ポリシー規則ウィザードを示す図
  1. 新しい規則を作成するか、既存の規則を使用するかを決定します。

    次のオプションのいずれかを選択します。

    • 新しい規則を作成する場合は、「規則ウィザード」オプションを選択します (デフォルト)。

    • Identity Manager IDE を使用して作成した既存の規則を組み込む場合は、「既存の規則」オプションを選択します。

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

  3. 手順 1 の選択に基づいて、次のいずれかの操作を行います。

既存の規則を選択する

新しいポリシーに既存の規則を含めるには、「規則の種類の選択」画面で「既存の規則」を選択し、「次へ」をクリックします。次に、「既存の規則の選択」ドロップダウンメニューから既存の監査ポリシー規則を選択します。


注 –

以前に Identity Manager にインポートした規則の名前が表示されない場合は、「監査ポリシー規則を使用したポリシーの作成」で説明した追加属性を規則に追加していることを確認してください。

「次へ」をクリックします。

「規則の追加」に進みます。


規則ウィザードを使用した新しい規則を作成する

監査ポリシーウィザードで「規則ウィザード」を選択して規則を作成する場合は、次の節で説明するページに情報を入力していきます。

新しい規則に名前を付けて説明する

オプションの作業として新しい規則に名前を付けて説明します。このページでは、Identity Manager で規則が表示されるときに規則名の横に表示される説明テキストを入力します。規則の内容を示す簡潔でわかりやすい説明を入力します。この説明は、Identity Manager の「ポリシー違反のレビュー」ページ内に表示されます。

図 14–2 監査ポリシーウィザード: 規則の説明の入力画面

新しい規則の名前と説明の入力方法を示す図

たとえば、Oracle ERP responsibilityKey の Payable User 属性値と Receivable User 属性値の両方を持つユーザーを検出する規則を作成する場合は、「説明」フィールドに「Payable User と Receivable User の両方の役割を持つユーザーを検出する」などのテキストを入力します。

規則に関する追加情報を入力する場合は、「コメント」フィールドを使用します。

規則で参照するリソースの選択

このページでは、規則で参照するリソースを選択します。各規則変数は、このリソースの属性に対応している必要があります。このオプションリストには、表示アクセス権を持つすべてのリソースが表示されます。この例では、「Oracle ERP」が選択されています。

図 14–3 監査ポリシーウィザード: リソースの選択画面

規則で参照するリソースの選択方法を示す図


注 –

使用可能な各リソースアダプタのほとんどの属性 (ただし全部ではない) がサポートされています。利用可能な特定の属性の詳細については、『Sun Identity Manager 8.1 Resources Reference 』を参照してください。


「次へ」をクリックして次のページに進みます。

規則式の作成

この画面では、新しい規則の規則式を入力します。この例では、Oracle ERP responsibilityKeyPayable User 属性値を持つユーザーは、Receivable User 属性値を同時に持つことができないという規則を作成します。

Procedure規則式を作成する

  1. 使用可能な属性のリストからユーザー属性を選択します。この属性は、規則変数に直接対応します。

  2. リストから論理条件を選択します。有効な条件には、「=」(等しい)、「!=」(等しくない)、「<」(より小さい)、「<=」(より小さいまたは等しい)、「>」(より大きい)、「>=」(より大きいまたは等しい)、「が true である」、「が null である」、「が null でない」、「が空の文字列である」、および「が右の文字列を含む」があります。この例では、使用できる属性条件のリストから「contains」を選択します。

  3. 式の値を入力します。たとえば、「Payable user」と入力した場合は、responsibilityKeys 属性の Payable user値を持つ Oracle ERP ユーザーを指定したことになります。

  4. (省略可能) 「AND」または「OR」の演算子をクリックし、行を追加して、別の式を作成します。

    図 14–4 監査ポリシーウィザード: 規則式の選択画面

    監査ポリシーウィザードの「規則式の選択」画面を示す図

    この規則はブール値を返します。両方のステートメントが true の場合、ポリシー規則は、ポリシー違反となる TRUE の値を返します。


    注 –

    Identity Manager では、入れ子になった規則の制御はサポートされません。また、監査ポリシーウィザードを使用して、規則間で異なるブール演算子を使用したポリシーを作成すると、評価の順序が指定されていないため、予期しない結果となる可能性があります。

    複雑な規則式の場合は、監査ポリシーウィザードを使用するのではなく、XML エディタを使用して規則を作成してください。XML エディタを使用すると、必要な場所で否定を指定し、ルール間で 1 つのブール演算子のみを使用するようにできます。


    次のコード例は、この画面で作成した規則の XML を示しています。


    <Description>Payable User/Receivable User</Description>
      <RuleArgument name=’resource’ value=’Oracle ERP’>
        <Comments>Resource specified when  audit policy was created.</Comments>
        <String>Oracle ERP</String>
      </RuleArgument>
        <and>
          <contains>
            <ref>accounts[Oracle ERP].responsibilityKeys</ref>
            <s>Receivable User</s>
          </contains>
          <contains>
            <ref>accounts[Oracle ERP].responsibilityKeys</ref>
            <s>Payables User</s>
          </contains>
        </and>
        <MemberObjectGroups>
          <ObjectRef type=’ObjectGroup’ id=’#ID#Top’ name=’Top’/>
        </MemberObjectGroups>
    </Rule>

    規則から式を削除するには、属性条件を選択して「削除」をクリックします。

    「次へ」をクリックして監査ポリシーウィザードを続行します。既存の規則を追加するか、もう一度ウィザードを使用して、より多くの規則を追加することができます。

規則の追加

既存の規則をインポートするか、ウィザードを使用して、追加規則を作成することができます。詳細については、「規則のタイプを選択する」を参照してください。

必要な場合は、「AND」または「OR」の演算子をクリックして、規則の追加を続行します。規則を削除するには、規則を選択して「削除」をクリックします。

ポリシー違反が発生するのは、すべての規則のブール式が true と評価した場合だけです。規則を AND または OR の演算子でグループ化すると、すべての規則が true でなくても、ポリシーが true に評価される場合があります。Identity Manager は、true に評価された規則に対してのみ、およびポリシー式が true に評価された場合のみ、違反を作成します。


注 –

Identity Manager では、入れ子になった規則の制御はサポートされません。また、監査ポリシーウィザードを使用して、規則間で異なるブール演算子を使用したポリシーを作成すると、評価の順序が指定されていないため、予期しない結果となる可能性があります。

複雑な規則式の場合は、監査ポリシーウィザードを使用するのではなく、XML エディタを使用して規則を作成してください。XML エディタを使用すると、必要な場所で否定を指定し、ルール間で 1 つのブール演算子のみを使用するようにできます。


是正ワークフローの選択

この画面で、このポリシーに関連付ける是正ワークフローを選択します。ここで割り当てたワークフローによって、監査ポリシー違反が検出されたときに Identity Manager で実行されるアクションが決まります。


注 –

違反が検知された監査ポリシーごとに 1 つのワークフローが起動します。各ワークフローには、特定のポリシーのポリシースキャンによって作成されたコンプライアンス違反ごとに、1 つまたは複数の作業項目が含まれます。


図 14–5 監査ポリシーウィザード: 是正ワークフローの選択画面

監査ポリシーウィザードの「是正ワークフローの選択」画面を示す図


注 –

XML エディタまたは Identity Manager IDE で作成したワークフローのインポートについては、「Identity Manager への職務分掌規則のインポート (省略可能)」を参照してください。


「是正ユーザーフォーム規則」ドロップダウンメニューを使用して、是正を通してユーザーを編集するときに適用するユーザーフォームを判定する規則を選択します。デフォルトでは、是正作業項目に対応してユーザーを編集する是正者は、是正者に割り当てられたユーザーフォームを使用します。監査ポリシーで是正ユーザーフォームを指定すると、このフォームが代わりに使用されます。これにより、監査ポリシーで対応する特定の問題を示す場合に、厳密に限定されたフォームを使うことができます。

この是正ワークフローに関連付ける是正者を指定する場合は、「是正者の指定」チェックボックスを選択します。このオプションを選択して「次へ」をクリックすると、是正者の割り当てページが表示されます。このオプションを選択しなかった場合は、監査ポリシーウィザードの組織の割り当て画面が表示されます。

是正者と是正タイムアウトの選択

是正者を指定した場合、この監査ポリシーの違反が検出されると、このポリシーに割り当てられた是正者に通知されます。さらに、デフォルトのワークフローで是正作業項目が是正者に割り当てられます。Identity Manager ユーザーはだれでも、是正者になることができます。

1 人以上のレベル 1 是正者、すなわち、指定されたユーザーを割り当てることができます。レベル 1 是正者は、ポリシー違反が検出されたときに、是正ワークフローによって送信される電子メールで最初に連絡を受けます。レベル 1 是正者が応答する前に、指定したエスカレーションタイムアウト期間が経過すると、Identity Manager は続いて、ここで指定したレベル 2 是正者に連絡します。エスカレーションタイムアウト期間が経過するまでに、レベル 1 是正者とレベル 2 是正者のどちらも応答しなかった場合のみ、Identity Manager はレベル 3 是正者に連絡します。


注 –

選択した最高レベルの是正者に対してエスカレーションタイムアウト値を指定した場合、エスカレーションがタイムアウトすると、リストから作業項目が削除されます。デフォルトでは、エスカレーションタイムアウトは 0 に設定されます。この場合、作業項目は期限切れにならず、是正者のリストに残ります。


是正者の割り当ては省略可能です。このオプションを選択する場合は、「是正者の指定」チェックボックスを有効にして、次の画面に進みます。

是正者の利用可能リストにユーザーを追加するには、ユーザー ID を入力して、「追加」をクリックします。または、「...」ボタンをクリックして、ユーザー名を検索します。「が次の文字列で始まる」フィールドに文字を入力し、「検索」をクリックします。検索リストからユーザーを選択したら、「追加」をクリックして、是正者のリストに追加します。「閉じる」をクリックして、検索領域を閉じます。

是正者のリストからユーザー ID を削除するには、リストでユーザー ID を選択して、「削除」をクリックします。

図 14–6 監査ポリシーウィザード: レベル 1 是正者の選択領域

監査ポリシーウィザードの「レベル 1 是正者の選択」画面を示す図

このポリシーにアクセスできる組織の選択

この画面を使用して、このポリシーを表示および編集できる組織を選択します (図 14–7)。

図 14–7 監査ポリシーウィザード: 閲覧を許可された組織の割り当て画面

監査ポリシーウィザードの「閲覧を許可された組織の割り当て」画面を示す図

組織を選択したら、「完了」をクリックして監査ポリシーを作成し、「ポリシーの管理」ページに戻ります。新しく作成したポリシーがこのリストに表示されます。

監査ポリシーの編集

監査ポリシーに関する一般的な編集タスクは次のとおりです。

ポリシーの編集ページ

監査ポリシー名の列でポリシーの名前をクリックして「監査ポリシーの編集」ページを開きます。このページでは、監査ポリシーに関する情報が次の領域に分類されています。

ページのこの領域では、次の操作を行うことができます。


注 –

この製品で既存の規則を直接編集することはできません。Identity Manager IDE または XML エディタを使用して規則を編集し、これを Identity Manager にインポートします。その後、以前のバージョンの規則を削除して、改訂バージョンの規則を追加します。


監査ポリシーの説明の編集

監査ポリシーの説明を編集するには、「説明」フィールド内のテキストを選択し、新しいテキストを入力します。

オプションの編集

オプションの作業として、「ターゲットリソースを制限」オプションまたは「違反の再スキャンを許可」オプションを選択するか、選択解除します。

ポリシーの規則の削除

ポリシーの規則を削除するには、規則名の前にある「選択」ボタンをクリックし、「削除」をクリックします。

ポリシーへの規則の追加

「追加」をクリックして新しいフィールドを追加し、そのフィールドで、追加する規則を選択します。

ポリシーで使用する規則の変更

「規則名」列で、選択リストから別の規則を選択します。

「是正者」領域

図 14–8 に、ポリシーにレベル 1、レベル 2、およびレベル 3 の是正者を割り当てる、「是正者」領域の一部を示します。

図 14–8 「監査ポリシーの編集」ページ: 是正者の割り当て

「監査ポリシーの編集」ページの「是正者の割り当て」領域を示す図

ページのこの領域では、次の操作を行うことができます。

是正者の削除または割り当て

ユーザー ID を入力して 1 つ以上の是正レベルに対して是正者を選択し、「追加」をクリックします。ユーザー ID を検索するには、「...」ボタンをクリックします。少なくとも 1 人の是正者を選択する必要があります。

是正者を削除するには、リストでユーザー ID を選択し、「削除」をクリックします。

エスカレーションタイムアウトの調整

タイムアウト値を選択し、新しい値を入力します。デフォルトでは、タイムアウト値は設定されていません。


注 –

選択した最高レベルの是正者に対してエスカレーションタイムアウト値を指定した場合、エスカレーションがタイムアウトすると、リストから作業項目が削除されます。


是正ワークフローと組織の領域

図 14–9 に、監査ポリシーの是正ワークフローと組織を指定する領域を示します。

図 14–9 「監査ポリシーの編集」ページ: 是正ワークフローと組織

「監査ポリシーの編集」ページの「是正ワークフローと組織」領域を示す図

ページのこの領域では、次の操作を行うことができます。

是正ワークフローの変更

ポリシーに割り当てられたワークフローを変更するには、オプションリストから別のワークフローを選択します。デフォルトでは、ワークフローは監査ポリシーに割り当てられません。


注 –

監査ポリシーにワークフローが割り当てられていない場合、違反はどの是正者にも割り当てられません。


リストから是正ワークフローを選択し、「保存」をクリックします。

是正ユーザーフォーム規則の選択

オプションの作業として、是正によってユーザーを編集する際に適用されるユーザーフォームを生成する規則を選択します。

組織の閲覧許可の割り当てまたは削除

この監査ポリシーを使用できる組織を調整し、「保存」をクリックします。

サンプルポリシー

Identity Manager には、「監査ポリシー」リストからアクセス可能な次のサンプルポリシーが用意されています。

IDM Role Comparison Policy

このサンプルポリシーを使用すると、Identity Manager ロールで指定されている属性と、ユーザーの現在の属性を比較できます。このポリシーは、ロールに指定されたすべてのリソース属性がユーザーに設定されていることを確認するためのものです。

このポリシーは次の場合に違反を検知します。

IDM Account Accumulation Policy

このサンプルポリシーでは、ユーザーが保有するすべてのアカウントが、そのユーザーによって保有されている少なくとも 1 つのロールによって参照されていることを確認します。

ユーザーに割り当てられているリソースアカウントのうち、いずれか 1 つでも現在ユーザーに割り当てられているどのロールからも明示的に参照されていない場合、このポリシーに違反します。

監査ポリシーの削除

監査ポリシーを Identity Manager から削除すると、そのポリシーを参照する違反もすべて削除されます。

「ポリシーの管理」をクリックしてポリシーを表示した時に、インタフェースの「コンプライアンス」領域からポリシーを削除できます。監査ポリシーを削除するには、ポリシーのリストからポリシー名を選択し、「削除」をクリックします。

監査ポリシーのトラブルシューティング

通常、監査ポリシーに関する問題に対処するにはポリシー規則のデバッグが最善の方法です。

規則をデバッグするには、規則コードに次のトレース要素を追加します。

<block trace=’true’>
<and>
    <contains>
        <ref>accounts[AD].firstname</ref>
        <s>Sam</s>
    </contains>
    <contains>
        <ref>accounts[AD].lastname</ref>
        <s>Smith</s>
    </contains>
</and>
</block>

監査ポリシーの割り当て

組織に監査ポリシーを割り当てるには、少なくとも「Assign Organization Audit Policies」機能を持っている必要があります。ユーザーに監査ポリシーを割り当てるには、「Assign User Audit Policies」機能を持っている必要があります。「Assign Audit Policies」機能を持つユーザーは、これらの両方の機能を持ちます。

組織レベルのポリシーを割り当てるには、「アカウント」タブで「組織」を選択し、「割り当てられた監査ポリシー」リストでポリシーを選択します。

Procedureユーザーレベルのポリシーを割り当てる

  1. 「アカウント」領域でユーザーをクリックします。

  2. ユーザーフォームで「コンプライアンス」を選択します。

  3. 「割り当てられた監査ポリシー」リストでポリシーを選択します。


    注 –

    ユーザーに直接割り当てられている (ユーザーアカウントや組織の割り当てによって割り当てられている) 監査ポリシーは、そのユーザーの違反が是正されるときに常に再評価されます。


監査機能制限の解決

デフォルトでは、監査タスクを実行するために必要な機能は最上位 (Top) 組織 (オブジェクトグループ) に含まれています。このため、最上位 (Top) を管理する管理者のみが、これらの機能をほかの管理者に割り当てることができます。

別の組織に機能を追加することで、この制限を解決できます。Identity Manager には、このタスクに使用できる 2 つのユーティリティーが用意されています。これらのユーティリティーは、sample/scripts ディレクトリに格納されています。

Procedure機能を追加する

監査タスクを実行するために必要な機能を、最上位 (Top) 以外の組織に追加するには、次の手順に従います。

  1. 次のコマンドを実行し、すべての機能 (AdminGroups) およびそれらに関連する組織 (オブジェクトグループ) をリスト表示します。


    beanshell objectGroupUpdate.bsh -type AdminGroup -action list -csv

    このコマンドは、カンマ区切り値 (CSV) ファイルへの出力を取得します。

  2. CSV ファイルを編集し、組織上の機能の場所を必要に応じて調整します。

  3. このコマンドを実行して、Identity Manager を更新します。


    beanshell objectGroupUpdate.bsh -data CSVFileName -action add -groups NewObjectGroup