サービスプロバイダユーザーに細かい機能や制御の範囲を付与する場合は、サービスプロバイダユーザー管理者ロールを使用します。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 です。