Sun Java System Access Manager 7.1 管理ガイド

標準ポリシー

Access Manager では、アクセス権を定義するポリシーを標準ポリシーと呼びます。標準ポリシーは、ルール対象条件、および応答プロバイダから構成されます。

ルール

ルールは 1 つのサービスタイプ、1 つ以上のアクション、および 1 つの値からなります。基本的に、ルールがポリシーを定義します。


注 –

一部のサービスに対しては、リソースなしでアクションを定義することも可能です。


対象

対象はポリシーが影響を与えるユーザーまたはユーザーの集合 (たとえば、グループ、または特定のロールを持つ複数のユーザー) を定義します。対象の一般則は、ユーザーがポリシー中の少なくとも 1 つの対象のメンバーである場合にのみポリシーが適用される、というものです。デフォルトの対象は次のとおりです。

Access Manager アイデンティティー対象

この対象は、「レルム対象」タブで作成して管理しているアイデンティティーを対象のメンバーとして追加できることを示します。

認証済みユーザー

この対象タイプは、有効な SSOToken を持つ任意のユーザーがこの対象のメンバーであることを示します。

すべての認証済みユーザーは、ポリシーが定義されている組織とは別のレルムに認証しても、この対象のメンバーになります。リソース所有者が、別の組織のユーザー用に管理されているリソースにアクセスできるようにする場合は、これが便利です。特定組織のメンバーに保護されているリソースに対するアクセスを制限する場合は、組織対象を使用してください。

Web サービスクライアント

この対象タイプは、SSOToken に含まれる主体の DN がこの対象の選択された値のいずれかに一致する場合、SSOToken が特定する Web サービスクライアント (WSC) がこの対象のメンバーであることを示します。有効な値は、信頼できる WSC の証明書に対応する、ローカル JKS キーストア内の信頼できる証明書の DN です。この対象は、Liberty Web サービスフレームワークに依存し、Liberty サービスプロバイダが WSC を承認するためにのみ使用する必要があります。

この対象をポリシーに追加する前に、キーストアが作成されていることを確認します。キーストアの設定に関する説明は、次の場所にあります。

AccessManager-base /SUNWam/samples/saml/xmlsig/keytool.html

さらに次の対象は、レルムのポリシー設定サービスで選択することによって使用可能になります。

Access Manager ロール

この対象タイプは、ある Access Manager ロールの任意のメンバーがこの対象のメンバーであることを示します。Access Manager ロールは、旧バージョンモードで動作している Access Manager と 6.3 ベースのコンソールを使用して作成されます。これらのロールは Access Manager が規定するオブジェクトクラスを持ちます。Access Manager のロールには、ホスティングする Access Manager のポリシーサービス経由でのみアクセスできます。

LDAP グループ

この対象タイプは、ある LDAP グループの任意のメンバーがこの対象のメンバーであることを示します。

LDAP ロール

この対象タイプは、ある LDAP ロールの任意のメンバーがこの対象のメンバーであることを示します。LDAP ロールは、Directory Server ロール機能を使用するロール定義です。LDAP ロールは、Directory Server ロール定義が規定するオブジェクトクラスを持ちます。ポリシー設定サービスで LDAP ロール検索フィルタを変更して、検索範囲を絞り込みパフォーマンスを向上させることができます。

LDAP ユーザー

この対象タイプは、任意の LDAP ユーザーがこの対象のメンバーであることを示します。

組織

この対象タイプは、あるレルムの任意のメンバーがこの対象のメンバーであることを示します。

Access Manager ロールと LDAP ロールの比較

Access Manager ロールは Access Manager を使用して作成します。これらのロールは Access Manager が規定するオブジェクトクラスを持ちます。LDAP ロールは、Directory Server ロール機能を使用するロール定義です。LDAP ロールは、Directory Server ロール定義が規定するオブジェクトクラスを持ちます。すべての Access Manager ロールは Directory Server のロールとして使用できます。しかし、すべての Directory Server ロールが必ずしも Access Manager ロールというわけではありません。LDAP ロールは、「ポリシー設定サービス」を設定することにより、既存のディレクトリから利用できます。Access Manager のロールには、ホスティングする Access Manager のポリシーサービス経由でのみアクセスできます。ポリシー設定サービスで LDAP ロール検索フィルタを変更して、検索範囲を絞り込みパフォーマンスを向上させることができます。

入れ子ロール

入れ子ロールはポリシー定義の対象の LDAP ロールとして正しく評価できます。

条件

条件によって、ポリシーに制約を定義できます。たとえば、給与アプリケーション用のポリシーを定義する場合、アプリケーションへのアクセスを特定の時間帯だけに制限するようにアクションに対して条件を定義することができます。また、所定の IP アドレスまたは企業のイントラネットからの要求に対してのみアクションを許可するように条件を定義することもできます。

条件は、同じドメインの別の URI で別のポリシーを設定するために、補助的に使用されることもあります。たとえば、http://org.example.com/hr/*jsporg.example.net ドメインより午前 9 時 〜 午後 5 時の間だけアクセスできるようにします。これは IP 条件と時間条件を使用して実現します。またルールのリソースを http://org.example.com/hr/*.jsp に指定することで、ポリシーは http://org.example.com/hr 以下、サブディレクトリ内を含むすべての JSP に適用されるようになります。


注 –

参照、ルール、リソース、対象、条件、アクション、値の各用語は、policy.dtd 内の ReferralRuleResourceNameSubjectConditionAttributeValue の各要素に対応しています。


追加できるデフォルトの条件は、次のとおりです。

アクティブなセッション時間

ユーザーセッションのデータに基づいて条件を設定します。変更できるフィールドは、次のとおりです。

最大セッション時間

セッションを開始してから、ポリシーがユーザーセッションに適用され続ける時間の最大値を指定します。

セッションを終了

選択すると、「最大セッション時間」フィールドで定義した許可される最大値をセッション時間が超えた場合に、ユーザーセッションを終了します。

認証連鎖

このポリシーは、指定したレルムの認証連鎖にユーザーが正しく認証された場合に適用されます。レルムを指定しなかった場合は、認証連鎖でどのレルムに対する認証も条件を満たします。

認証レベル (大きいか等しい)

ユーザーの認証レベルが条件に設定された認証レベル以上である場合にポリシーが適用されます。この属性は、指定したレルム内での認証の信用レベルを示しています。

認証レベル (小さいか等しい)

ユーザーの認証レベルが条件に設定された認証レベル以下である場合にポリシーが適用されます。この属性は、指定したレルム内での認証の信用レベルを示しています。

認証モジュールインスタンス

このポリシーは、指定したレルムの認証モジュールにユーザーが正しく認証された場合に適用されます。レルムを指定しなかった場合、認証モジュールでどのレルムに対する認証も条件を満たします。

現在のセッションプロパティー

ユーザーの Access Manager セッションに設定されたプロパティーの値に基づいて要求にポリシーを適用できるかどうかを決定します。ポリシーの評価中に条件が「真」を返すのは、ユーザーのセッションに条件で定義されたすべてのプロパティー値が存在する場合だけです。条件の中で複数の値を使用して定義されたプロパティーについては、トークンのプロパティーの値が少なくとも 1 つあれば十分です。

IP アドレス/DNS 名

IP アドレスの範囲に基づいて条件を設定します。定義できるフィールドは、次のとおりです。

「IP アドレス 開始 / 終了」

IP アドレスの範囲を指定します。

DNS 名

DNS 名を指定します。このフィールドには、完全修飾ホスト名または次の形式の文字列を指定できます。

domainname

*.domainname

LDAP フィルタ条件

このポリシーは、定義された LDAP フィルタがポリシー設定サービス内で指定された LDAP ディレクトリでユーザーエントリを検索するときに適用されます。このポリシーが適用されるのは、ポリシーが定義されたレルム内のみです。

レルム認証

このポリシーは、指定したレルムにユーザーが認証された場合に適用されます。

時間 (曜日、日付、時刻、およびタイムゾーン)

時間の制約に基づいて条件を設定します。フィールドは次のとおりです。

開始日付 / 終了日付

日付の範囲を指定します。

時刻

1 日での時間の範囲を指定します。

曜日

曜日を指定します。

タイムゾーン

タイムゾーンを標準またはカスタムで指定します。カスタムのタイムゾーンとして指定できるのは、Java で認識されるタイムゾーン ID だけです (PST など)。値を指定しない場合は、デフォルト値は Access Manager JVM に設定されたタイムゾーンになります。

応答プロバイダ

応答プロバイダは、ポリシーベースの応答属性を提供するプラグインです。応答プロバイダ属性は、ポリシー決定とともに PEP に送信されます。Access Manager には、IDResponseProvider が 1 つだけ実装されています。このバージョンの Access Manager では、カスタム応答プロバイダはサポートされていません。エージェントの PEP は通常、これらの応答属性をヘッダーとしてアプリケーションに渡します。アプリケーションは通常、これらの属性を使用して、ポータルページなどのアプリケーションページをポリシーに基づいて設定します。

ポリシーアドバイス

条件で決定したようにポリシーを適用できない場合は、ポリシーを要求に適用できなかった理由を示すアドバイスメッセージを条件によって作成できます。このアドバイスメッセージは、ポリシー決定でポリシー適用ポイントに伝わります。ポリシー適用ポイントでは、このアドバイスを取得し、認証メカニズムにユーザーを戻してより高いレベルに認証するなど、適切なアクションを実行しようとします。アドバイスの適切なアクションを実行したあとでポリシーが適用可能になると、ユーザーはより高いレベルの認証を要求され、リソースにアクセスできるようになることがあります。

詳細については、次のクラスを参照してください。

com.sun.identity.policy.ConditionDecision.getAdvices()

条件が満たされない場合、アドバイスを提供するのは AuthLevelCondiitonAuthSchemeCondition のみです。

AuthLevelCondition アドバイスは、次のキーに関連します。

com.sun.identity.policy.plugin.AuthLevelCondition.AUTH_LEVEL_CONDITION_ADVICE

AuthSchemeCondition アドバイスは、次のキーに関連します。

com.sun.identity.policy.plugin.AuthLevelCondition.AUTH_SCHEME_CONDITION_ADVICE

カスタム条件でもアドバイスを作成できます。ただし、Access Manager ポリシーエージェントは、認証レベルアドバイスと認証方式アドバイスのみに応答します。カスタムエージェントを作成してより多くのアドバイスを理解させて応答させたり、既存の Access Manager エージェントを拡張してより多くのアドバイスを理解させて応答させたりすることができます。詳細は、『Sun Java System Access Manager Policy Agent 2.2 User’s Guide』を参照してください。