Oracle® Fusion Middleware Oracle Access Management管理者ガイド 11g リリース2 (11.1.2.3) for All Platforms E61950-08 |
|
![]() 前 |
![]() 次 |
各ポリシーは、1つ以上の認証または認可レスポンスあるいはその両方をオプションで含むことができます。レスポンスは、Webエージェントで実行される後処理のアクション(必須処理)です。
ノート:
トークン発行ポリシーにはレスポンスがありません。
この項では、次の情報について説明します。
管理者は、認証または認可が成功した後に実行する必要があるアクションを宣言するレスポンスを定義できます。認証および認可データがクライアント(通常はWebエージェント)に戻されます。
ポリシー・レスポンスにより、情報をセッションまたはアプリケーションに挿入し、SSOを有効化するために後で情報を抽出できます。たとえば、アイデンティティ・マッピングを顧客アプリケーションに挿入するか、エージェントまたはアプリケーションでアクションを実行できます。
認証または認可の成功および失敗に応じて指定されるレスポンスによっては、ユーザーが特定のURLにリダイレクトされたり、ヘッダー変数またはCookie値を通じてユーザー情報が他のアプリケーションに渡されたりする場合があります。
ノート:
Oracle Access Manager 10gでは、特定の順序のURLのリダイレクトでのみ、アプリケーションのデータの経路を提供しました。
デフォルトのレスポンスは提供されません。図25-30に、Oracle Access Managementコンソールの管理者に定義された認可ポリシー・レスポンスを示します。認可レスポンスは、認可条件と組み合せて操作できます。
各レスポンスは、2つの入力(タイプおよび式)と1つの出力(評価された式の値)で構成されます。式は、式を処理する場合の値の構築方法を宣言します。レスポンス・タイプは、値文字列を使用して実行するアクションの形式を定義します。
認証ポリシーは、ユーザーのアイデンティティを決定します。各認証ポリシーには、認証スキームおよびレスポンス(式)が必要です。
認可ポリシーは、リソースへのユーザーのアクセス権を付与するかどうかを決定します。各認可ポリシーには、認可条件およびレスポンス(式)が必要です。
レスポンスのガイドライン
Cookie、ヘッダーおよびセッション・レスポンスがサポートされます。
URLリダイレクトを設定できます。
レスポンス定義は、各ポリシーの一部です。レスポンス値は、リテラル文字列の場合も、リクエスト、ユーザーおよびセッション属性から値を取得する追加的な埋込み式を含む場合もあります。
管理者は、表25-25で説明されているとおり、Oracle Access Managementコンソールのレスポンスを設定します。
表25-25 レスポンス要素
要素 | 説明 |
---|---|
名前 |
このレスポンスと同じメカニズム(タイプ)を使用する他のレスポンスを区別する一意の名前。 |
タイプ |
レスポンスを伝達するために使用されるメカニズム。値文字列を使用して実行するアクションの形式。
|
値 |
変数として設定されるレスポンスの式。 詳細は、「ポリシー・レスポンスの言語について」を参照してください。 |
リライイング・パーティ(ID伝播ユースケース)へのプロキシ・アクセスを得るためにトークンをリクエストするAccess Managerによって保護されるWebアプリケーションであるセキュリティ・トークン・サービス・クライアントでは、エンド・ユーザーを表すAccess Manager IDアサーションを渡す必要があります。 IDアサーション・トークンは、正常に認証された後に生成され、ポリシー・レスポンス(名前が「OAM_IDENTITY_ASSERTION」で値がSAMLトークンというHTTPヘッダー)として返されます。 (「アサートされた属性」以外のタイプの)レスポンスを追加するたびに、 関連項目: |
2つの主な構造とともに非常に小規模なドメイン固有言語(DSL)を使用して、Access Manager認証および認可レスポンスを定義します。
リテラル文字列: This is a valid expression
などです。
変数の参照:
ドル記号の接頭辞($
)を使用して宣言します。
ネームスペース$namespace.var_name
でスコープされます。
ノート:
変数に$ns.name.attribute
属性が含まれる場合があります。
ネームスペース・メカニズムを使用すると、次の変数タイプでシングル・サインオンが有効化します。
リクエスト: リクエストしたリソース、リクエストを実行したクライアントおよび評価中に一致したポリシーの情報
セッション: ユーザー・セッションの詳細
ユーザー: ユーザーの詳細(ユーザーID、グループおよび属性情報)
詳細は、次の表を参照してください。
表25-26 シングル・サインオンのネームスペース・リクエスト変数
ネームスペース | 説明 |
---|---|
agent_id |
リクエストしているエージェントの名前 |
client_ip |
ユーザー・ブラウザのIPアドレス |
policy_appdomain |
リクエストに一致するポリシーを保持するアプリケーション・ドメインの名前 |
policy_eval_success_conditions |
trueに評価されるポリシー条件のリスト。コロンまたは構成済レスポンス区切り文字で区切られています。 |
policy_eval_failure_conditions |
falseに評価されるポリシー条件のリスト。コロンまたは構成済レスポンス区切り文字で区切られています。 |
policy_res |
リクエストに一致するリソース・ホストIDおよびURLパターン |
policy_name |
リクエストに一致する特定のポリシーの名前 |
res_host |
リクエストしたリソースのホスト名 |
res_port |
リクエストしたリソースのポート番号 |
res_type |
リクエストしたリソースのタイプ |
res_url |
リクエストされたリソースURLパス |
res_complete_url |
問合せ文字列を含む、リクエストされたリソースURLパス |
表25-27 シングル・サインオンのネームスペース・セッション変数
ネームスペース | 説明 |
---|---|
attr |
名前が変数属性として渡される任意のセッション属性の参照。前のリクエストでセッション・レスポンスを実行することで、値がセッションにバインドされています。 |
authn_level |
セッションの現在の認証レベル |
authn_scheme |
現在の認証レベルを実現するために実行される認証スキームの名前 |
count |
セッションにバインドされたユーザーのセッション数 |
creation |
セッションの作成時間 |
expiration |
セッションの有効期間 |
表25-28 ネームスペース・ユーザー変数
ネームスペース | 説明 |
---|---|
attr.<attrName> |
ユーザー変数attrNameの値attrNameが複数値の場合、コロンまたは構成済レスポンス区切り文字で区切られた値のリスト。 |
groups |
コロンまたは構成済レスポンス区切り文字で区切られた、ユーザーのグループ・メンバーシップのリスト。 |
userid |
ユーザーID |
user.id_domain |
ユーザーのアイデンティティ・ドメイン(基本的にアイデンティティ・ストアと同じ) |
guid |
アイデンティティ・ストアでユーザー・エントリを特定する一意の識別子 |
レスポンス・タイプとネームスペースおよび変数を決定した後、Oracle Access Managementコンソールでレスポンス属性を入力します。
図25-31に示すように、単純なレスポンスはいくつかの認可レスポンスのいずれかのようになります。
単純なレスポンスはスタンドアロンです。それぞれの先頭にドル記号($)が付けられ、変数値とドット(.)で区切られるネームスペースがその後に付けられます。次に例を示します。
$namespace1.var1
表25-29は、いくつかの単純なレスポンスおよびそれぞれに戻される内容の説明を示しています。
表25-29 単純なレスポンスおよび説明
名前 | タイプ | 値(単純な$ネームスペース.変数) | 戻される環境変数および値 |
---|---|---|---|
oam_sessioncount |
ヘッダー |
$session.count |
HTTP_OAM_SESSIONCOUNT 整数 |
oam_userid |
ヘッダー |
$user.userid |
HTTP_OAM_USERID 名前 |
oam_ipaddress |
ヘッダー |
$request.client_ip |
HTTP_OAM_IPADDRESS nnn.nn.nn.nnn |
oam_literal |
ヘッダー |
これはレスポンス文字列です。 |
HTTP_OAM_LITERAL これはレスポンス文字列です。 |
複合的または複雑なポリシー・レスポンスを作成する場合、管理者は、中括弧{}を使用してリテラルおよび変数を任意に結合して式を構築できます。コロン(:)はセパレータとして使用されます。
次に例を示します。
${namespace1.var1}:${namespace2.var2}
リテラル文字列(LS): ${namespace1.var1}:${namespace2.var2}
LS: ${namespace1.var1}, LS:${namespace2.var2}
図25-32は、管理者によって定義されるいくつかの複雑なレスポンスを示しています。すべてがヘッダー・タイプ・レスポンスで、ダウンストリーム・アプリケーションで利用されるHTTPリクエストのヘッダー変数の値が設定されます。
表25-30 複雑なレスポンス
名前 | 値 | 戻される環境変数および値 |
---|---|---|
oam_resinfo |
ランタイム・リソース: ${request.res_host}:${request.res_port}${request.res_url} |
HTTP_OAM_RESINFO ランタイム・リソース: myhost.domain.com:1234/cgi-bin/myres3 |
oam_clientinfo |
ランタイム・クライアント: エージェントID: ${request.agent_id}、ブラウザIP: $request.client_ip |
HTTP_OAM_CLIENTINFO ランタイム・クライアント: エージェントID: RREG_OAM、ブラウザIP: 123.45.67.891 |
oam_userinfo |
${user.userid}のグループ: ${user.groups}、説明: ${user.attr.description} |
HTTP_OAM_USERINFO WebLogicのグループ: 管理者、説明: このユーザーはデフォルトの管理者です。 |
oam_sessioninfo |
セッションの作成/有効期間/数: ${session.creation}/${session.expiration}/${session.count} |
HTTP_OAM_SESSIONINFO セッションの作成/有効期間/数: Tue Oct 23 17:47:42 PST 2011/Wed Oct 24 01:47:42 PST 2011/7 |
oam_app_user |
$user.userid |
HTTP_OAM_USERID 名前 |
詳細は、「ポリシー・レスポンス処理について」を参照してください。
Access Manager 11gは、複数値を持つレスポンスをサポートします。これらには、複数値のユーザー属性レスポンス、ユーザーのグループ・メンバーシップ・レスポンスなどがあります。複数値のレスポンスの場合、Access Managerでは、区切り文字としてコロンを、エスケープ文字として円記号を使用します。
たとえば、ユーザー属性genType
は、値としてGold、PlatinumおよびSilverを持ちます。$user.attr.genType
に対するポリシー・レスポンスは、次のようになります。
"Gold:Platinum:Silver"
コロンが属性値に出現すると、円記号でエスケープされます。たとえば、Administrators、Special:Usersなどのグループ・メンバーシップを持つユーザーの場合、$user.groups
に対するポリシー・レスポンスは、次のようになります。
"Administrators:Special\:Users"
configurePolicyResponses(responseSeparator, responseEscapeChar) WLSTコマンドを使用すると、デフォルトの区切り文字およびエスケープ文字を変更できます。
ポリシー・レスポンス処理は、認証レスポンスを再実行する認可リクエストの実行中に発生します。変数の参照に適切な値が入力され、すべての変数に値が設定されて認可値で一貫して設定できることを確認します。
一連のステップを実行して、レスポンスの式を処理します。
スキャナ/トークナイザ
パーサー
インタプリタ
解釈中、値の変数の参照が解決します。処理後の結果は単純な文字列値で、エージェントに伝播されるか、将来の使用に備えてセッション内に保存されます。
最初の適用される認可リクエストの認可レスポンスとともに認証の成功レスポンスが保存され、再実行されます。
認可レスポンスの式は、式の評価(成功、失敗または未確定)に応じて実行されるアクションを作成します。
ノート:
Oracle Access Manager 10gでは、認証Webゲート構成内と同じ動作を示します。これはAccess Manager 11gで10g Webgateを使用した場合にも適用されます。10g Webgateは常に、認証Webgateのような働きをするAccess Manager 11g資格証明コレクタにリダイレクトします。
変数を参照すると、値または次の内容が戻されます。
変数が設定されていない場合、NOT FOUNDが戻されます。
変数がnull値に設定されている場合、NULLが戻されます。
ノート:
レスポンスを検証してください。
処理のないパススルー:
処理しないでパススルーを実行する必要がある値は、\を使用して識別できます。次に例を示します。
\$1000
値$1000
の結果が戻される値に表示されます。