サービスプロバイダユーザーの委任管理を有効にするには、Identity Manager 「管理者ロール」または組織ベース認証モデルを使用します。
Identity Manager では、デフォルトで、組織ベース認証モデルを使用して管理作業を委任できます。
組織ベース認証モデルで委任される管理者を作成するときは、次のことに留意してください。
サービスプロバイダ管理者は、特定の機能と管理する組織を持つ Identity Manager ユーザーです。
ユーザーの組織属性の値は、Identity Manager 組織の名前またはオブジェクト ID のいずれかです。これは、「Identity Manager メイン設定」画面の「Identity Manager 組織の属性名が ID を含む」フィールドの設定によって異なります。
Identity Manager 階層を作成し、その階層に組織を配置して、それらの組織の管理を委任することができます。組織の単純名ではなく、組織に固有の識別情報を使用します。
サービスプロバイダユーザーの組織はディレクトリサーバーのユーザー属性から取得されます。
ディレクトリサーバーリソースのスキーママップに属性を設定する必要があります。
属性の比較は、管理者が管理する組織リストとの「完全一致」によって行われます。ディレクトリに格納される値は、階層全体ではなく、組織名と一致する必要があります。管理者が Top:orgA:sub1 を管理する場合、sub1 はサービスプロバイダユーザーの組織属性に格納されている値でなければなりません。
属性が設定されていない場合、または Identity Manager 組織と一致しない場合、そのサービスプロバイダユーザーは最上位 (Top) 組織のメンバーとみなされます。このため、サービスプロバイダ管理者は、それらのユーザーを管理するために、Top 内でサービスプロバイダユーザー機能を持っていることが必要です。
属性設定により、サービスプロバイダ管理者による検索範囲が決まります。
委任される管理者のアカウントを作成するには、まず Identity Manager 管理者を作成し、次に サービスプロバイダ管理者機能を追加します。ユーザーに割り当てることができる Service Provider タスクに固有の機能があります (「ユーザーの編集」ページの「セキュリティー」タブ)。管理する組織は、管理者が変更できるサービスプロバイダユーザーを指定します。サービスプロバイダユーザーが利用可能なリソースはいずれも、すべての Identity Manager 管理者が利用可能です。
Identity Manager の委任管理については、第 6 章管理の「委任された管理」を参照してください。
サービスプロバイダユーザーに細かい機能や制御の範囲を付与する場合は、サービスプロバイダユーザー管理者ロールを使用します。1 人以上の Identity Manager ユーザーまたはサービスプロバイダユーザーへの管理者ロールの割り当てを、ログイン時に動的に行うように設定できます。
管理者ロールを割り当てられたユーザーに与える機能 (「サービスプロバイダのユーザーの作成」など) を指定する規則を定義して管理者ロールに割り当てることができます。
サービスプロバイダユーザーに対して管理者ロールの委任を使用するには、Identity Manager システム設定オブジェクト (「Identity Manager 設定オブジェクトの編集」) で有効にする必要があります。
管理者ロール割り当てによる委任を有効にする場合、「サービスプロバイダ設定」の「IDM 組織の属性名」は必要ありません。
サービスプロバイダ管理者ロール委任 (サービスプロバイダ委任管理) を有効にするには、変更のために システム設定オブジェクトを開き (「Identity Manager 設定オブジェクトの編集」)、次のプロパティーを true に設定します。
security.authz.external.app name.object type
app name は Identity Manager アプリケーション (管理者インタフェースなど)、object type は Service Provider Users です。
このプロパティーは、Identity Manager アプリケーション (管理者インタフェースやユーザーインタフェースなど) 単位およびオブジェクトタイプ単位で有効にすることができます。現在サポートされているオブジェクトタイプは Service Provider Users のみです。デフォルト値は false です。
たとえば、Identity Manager 管理者のサービスプロバイダ委任管理を有効にするには、System Configuration 設定オブジェクトで次の属性を「true」に設定します。
security.authz.external.Administrator Interface.Service Provider Users
特定の Identity Manager またはサービスプロバイダアプリケーションでサービスプロバイダ委任管理を無効に (false に設定) した場合は、組織ベース認証モデルが使用されます。
サービスプロバイダ委任管理を有効にした場合は、実行された認証規則の数および時間に関する情報が追跡イベントによって取得されます。それらの統計情報はダッシュボードで表示できます。
サービスプロバイダユーザー管理者ロールを設定するには、管理者ロールを作成し、制御の範囲、機能、および割り当てるユーザーを指定します。
サービスプロバイダユーザー管理者ロールを作成する前に、その管理者ロールの検索コンテキスト、検索フィルタ、検索後のフィルタ、機能、およびユーザー割り当てに関する規則を定義します。
次の規則を使用するには、規則の authType を指定する必要があります。
SPEUsersSearchContextRule
SPEUsersSearchFilterRule
SPEUsersAfterSearchFilterRule
CapabilitiesOnSPEUserRule
UserIsAssignedAdminRoleRule
SPEUserIsAssignedAdminRoleRule
サービスプロバイダユーザー管理者ロールのこれらの規則を作成するには、Identity Manager に付属するサンプル規則を使用できます。サンプル規則は Identity Manager インストールディレクトリの sample/adminRoleRules.xml にあります。
実際の環境でのサンプル規則の作成については、『Sun Identity Manager Service Provider 8.1 Deployment』を参照してください。
管理者インタフェースで、メニューから「セキュリティー」をクリックし、「管理者ロール」をクリックします。
「管理者ロール」ページが開きます。
「新規」をクリックします。
「管理者ロールの作成」ページが開きます。
管理者ロールの名前を指定し、タイプとして「サービスプロバイダユーザー」を選択します。
次の節の説明に従って、「制御の範囲」、「機能」、および「ユーザーに割り当てる」のオプションを指定します。
サービスプロバイダユーザー管理者ロールの制御の範囲は、特定の Identity Manager 管理者、Identity Manager エンドユーザー、または Identity Mananger サービスプロバイダエンドユーザーが表示できるサービスプロバイダユーザーを指定します。この範囲は、ディレクトリのサービスプロバイダユーザーを一覧表示するようにリクエストされたときに適用されます。
サービスプロバイダユーザー管理者ロールの制御の範囲では、以下の設定を 1 つ以上指定できます。
「ユーザー検索コンテキスト」。検索の開始に規則を使用するかテキスト文字列を使用するかを指定します。
「なし」を指定した場合、デフォルトの検索コンテキストは、サービスプロバイダユーザーディレクトリとして設定された Identity Mananger リソースで指定されたベースコンテキストになります。
「ユーザー検索フィルタ」。検索フィルタに規則を適用するかテキスト文字列を適用するかを指定します。
指定したテキスト文字列、または選択した規則から返されるテキスト文字列は、検索コンテキスト内で、この管理者ロールに割り当てられたユーザーが管理するユーザーセットを表す LDAP 準拠の検索フィルタ文字列になります。指定したフィルタは、ユーザーが指定した検索フィルタと結合されます。 検索結果として返されるユーザーには、この管理者ロールに割り当てられたユーザーが一覧表示する権限を与えられていないユーザーが含まれないようにします。
「ユーザー検索後に適用されるフィルタ規則」。ユーザー検索フィルタの適用後に適用される規則を選択します。
この規則は、サービスプロバイダユーザーディレクトリに対して最初の LDAP 検索が実行されたあとに実行され、検索結果を評価して、リクエスト元のユーザーがアクセスを許可されている識別名 (dn) を決定します。
このタイプの規則を使用できるのは、あるユーザーをリクエスト元ユーザーの制御の範囲に含めるかどうかを LDAP 以外のユーザー属性 (グループメンバーシップなど) を使用して判断する場合や、フィルタでの判断をサービスプロバイダユーザーディレクトリ以外のリポジトリ (Oracle データベースや RACF など) を使用して行う必要がある場合などです。
サービスプロバイダユーザー管理者ロールの機能では、アクセスをリクエストされているサービスプロバイダユーザーに対してリクエスト元のユーザーが持つ機能と権利を指定します。これは、サービスプロバイダユーザーの表示、作成、変更、または削除のリクエストが作成されたときに適用されます。
「機能」タブで、この管理者ロールに適用する「機能規則」を選択します。
ログイン時の評価で認証ユーザーに管理者ロールを割り当てるかどうかを判断する規則を指定することにより、サービスプロバイダユーザー管理者ロールをサービスプロバイダユーザーに動的に割り当てることができます。
「ユーザーに割り当てる」タブをクリックし、割り当てに適用する規則を選択します。
ユーザーへの管理者ロールの動的割り当ては、ログインインタフェース (ユーザーインタフェースや管理者インタフェースなど) ごとに有効にする必要があります。 そのためには、次のシステム設定オブジェクト (「Identity Manager 設定オブジェクトの編集」) を true に設定します。
security.authz.checkDynamicallyAssignedAdminRolesAtLoginTo. loginInterface
すべてのインタフェースのデフォルトは false です。
サービスプロバイダユーザーは、デフォルトで、自分に割り当てられたサービスプロバイダユーザー管理者ロールを、自分の制御の範囲内のサービスプロバイダユーザーに割り当てる (または「委任する」) ことができます。
実際に、サービスプロバイダユーザーを編集する機能を持つ Identity Manager ユーザーは、自分に割り当てられたサービスプロバイダユーザー管理者ロールを、自分の制御の範囲内のサービスプロバイダユーザーに割り当てることができます。
サービスプロバイダユーザー譲渡者ロールに、制御の範囲に関係なく譲渡者ロールを割り当てることができる「譲渡者」のリストを含めることもできます。このような直接の割り当てにより、1 人以上の既知のユーザーアカウントが管理者ロールを割り当てることができるようにします。