Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング 11g リリース1(10.3.3) B61619-01 |
|
![]() 前 |
![]() 次 |
SAML (Security Assertion Markup Language)は、様々なエンティティの間でセキュリティ情報をやり取りするためのXMLベースのプロトコルです。SAML標準は、Web上のソフトウェア・エンティティの間でセキュリティ情報を交換するためのフレームワークを定義します。SAMLセキュリティは、アサーション側と依存側の対話に基づいています。
SAMLは、シングル・サインオン機能を提供します。1つの場所で認証されたユーザーは、あらためてログインしなくても、別の場所のサービス・プロバイダにアクセスできます。
WebLogic Serverは、SAMLバージョン2.0および1.1をサポートしています。WebLogic Server実装では、以下がサポートされます。
SAML 1.1のWeb SSOのHTTP POSTおよびHTTPアーティファクト・バインディング。SAML 2.0では、Web SSOプロファイルのHTTPリダイレクト・バインディングが追加されます。
SAML認証文とSAML属性文(SAML認可文はサポートされません)
WebLogic Server環境でのSAMLおよびSAMLアサーションの概要については、『Oracle WebLogic Serverのセキュリティの理解』のSecurity Assertion Markup Language (SAML)に関する項を参照してください。
SAML資格証明マッピング・プロバイダの構成の詳細は、『Oracle WebLogic Serverの保護』のSAML 1.1のためのSAML資格証明マッピング・プロバイダの構成に関する項およびSAML 2.0のためのSAML 2.0資格証明マッピング・プロバイダの構成に関する項を参照してください。
SAML仕様については、http://www.oasis-open.org
を参照してください。「Technical Overview of the OASIS Security Assertion Markup Language (SAML) V1.1」(http://www.oasis-open.org/committees/download.php/6628/sstc-saml-tech-overview-1.1-draft-05.pdf
)および 「Security Assertion Markup Language (SAML) 2.0 Technical Overview」(http://www.oasis-open.org/committees/download.php/11511/sstc-saml-tech-overview-2.0-draft-03.pdf
)も参照してください。
この節では、以下のトピックを取り上げます。
表9-1に、WebLogic SAML APIの一覧を示します。表9-2に、WebLogic SAML 2.0 APIの一覧を示します。詳細についてはJavadocを参照してください。
表9-1 WebLogic SAML API
WebLogic SAML API | 説明 |
---|---|
WebLogic SAMLパッケージ。 |
|
アーティファクト・プロファイルのアサーションを格納および取得するためのメソッドを定義するインタフェース。このインタフェースは非推奨であり、SAMLAssertionStoreV2が推奨されます。 |
|
SAMLAssertionStoreV2インタフェースはSAMLAssertionStoreインタフェースの拡張で、SAML ARSからのアサーションをリクエストする送り先サイトを特定および認証するためのメソッドが追加されています。 V2は、SAML仕様のバージョン2ではなく、WebLogic SAMLプロバイダの2番目のバージョンを表します。 |
|
サブジェクトからSAMLAssertionの属性へのマッピングを実行するためのインタフェース。 |
|
SAMLアサーションのフィールドにサブジェクト情報をマッピングするために使用するメソッドを定義するインタフェース。 |
|
SAML属性文から属性プリンシパルへのマッピングを実行するためのインタフェース。 |
|
SAMLアサーションの情報をユーザー名およびグループ名にマッピングするために使用するメソッドを定義するインタフェース。 |
|
POSTプロファイルの使用を1回に強制するため、アサーションIDをキャッシュするメソッドを定義するインタフェース。 このインタフェースを実装するクラスには、引数を取らないパブリック・コンストラクタが必要です。 |
|
このクラスのインスタンスは、ユーザーおよびグループの情報を名前マッパーとやり取りするために使用します。このクラスによって、いくつかの便利な定数も定義されます。 |
|
SAMLAssertionStoreV2.retrieveAssertionInfo()によって返されるAssertionInfoクラス。このクラスには、取得したアサーションと、その関連情報が格納されます。SAMLAssertionStoreV2インタフェースの実装はこのクラスを返す必要があります。 |
|
SAMLAssertion AttributeStatementの1つの属性を表すクラス。 |
|
SAMLAssertionのAttributeStatementを表すクラス。 |
|
SAMLアサーションのユーザー名とグループ情報を表すために使用します。 |
|
SAML 1.1パートナに共通の属性の抽象表現。 |
|
SAMLリライイング・パーティ・レジストリ内のSAMLリライイング・パーティ・エントリを表します。 |
|
LDAPアサーティング・パーティ・レジストリ内のSAMLアサーティング・パーティ・エントリを表します。 |
|
SAMLパートナの抽象表現。 |
注意: SAML名前マッパー・クラスは、システム・クラス・パスに含めなければなりません。カスタムのSAMLIdentityAssertionNameMapper、SAMLCredentialNameMapper、SAMLAssertionStore、またはSAMLUsedAssertionCacheを作成した場合は、それぞれに対応するクラスをシステム・クラス・パスに含める必要があります。 |
表9-2 WebLogic SAML 2.0 API
WebLogic SAML 2.0 API | 説明 |
---|---|
WebLogicセキュリティ・レルムでSAML 2.0セキュリティ・プロバイダを構成、制御、およびモニターするためのインタフェースとクラスを提供します。 |
|
ユーザーとグループの情報をSAML 2.0アサーションにマッピングするために使用するインタフェース。 |
|
SAML 2.0アサーションに格納されたユーザー情報をローカル・ユーザー名にマップするために使用するインタフェース。 |
|
SAML 2.0アサーションに格納されたユーザー名とグループ情報を表すために使用します。 |
|
SAML 2.0 IDプロバイダおよびサービス・プロバイダ・パートナとメタデータの抽象インタフェース。 |
|
バインディング・クライアント・パートナとは、バックエンド・チャネルの通信をサポートするパートナ。 |
|
SAML 2.0 IDプロバイダ・パートナの抽象表現。 |
|
SAML 2.0サービス・エンド・ポイントの抽象表現。 |
|
このクラスは、アーティファクト解決サービスのエンド・ポイントのように索引化可能なエンド・ポイントを表します。 |
|
メタデータ・パートナは、主にSAML 2.0メタデータ・プロファイルで必要なパートナの連絡先情報を格納します。 |
|
SAML 2.0パートナの抽象表現。このインタフェースはパートナの必須情報を定義します。 |
|
SAML 2.0サービス・プロバイダ・パートナの抽象表現。 |
|
Web SSOプロファイルのSAML 2.0 IDプロバイダ・パートナの抽象表現。 |
|
Web SSOプロファイルのSAML 2.0パートナの抽象表現。 |
|
Web SSOプロファイルのSAML 2.0サービス・プロバイダ・パートナの抽象表現。 |
|
WSS SAMLトークン・プロファイルのSAML 2.0 IDプロバイダ・パートナの抽象表現。 |
|
WSS SAMLトークン・プロファイルのSAML 2.0パートナの抽象表現。 |
|
WSS SAMLトークン・プロファイルのSAML 2.0サービス・プロバイダ・パートナの抽象表現。特定の属性やメソッドはありません。 |
SAML POSTプロファイル処理のためにカスタムPOSTフォームを指定した場合、POSTフォームに渡されるパラメータ名は、どのSAMLプロバイダが構成されているかによって異なります。
V2プロバイダを構成すると有効になるWebLogic Server 9.1以降のフェデレーション・サービス実装の場合は、表9-1を参照してください。
V1プロバイダを構成すると有効になるWebLogic Server 9.0 SAMLのサービス実装の場合は、表9-1を参照してください。
これらの表には、返されたJavaオブジェクトをキャストするために必要なパラメータ名とそのデータ型を示します。
どちらの実装でも、SAMLレスポンス自体は、SAMLで指定されたパラメータ名を使用して渡されます。
SAMLレスポンス(文字列)は、base64でエンコードされたSAMLレスポンス要素です。
表9-3 SAML V2プロバイダのカスタムPOSTフォーム・パラメータ
パラメータ | 説明 |
---|---|
TARGET(文字列) |
受信したサイト間転送サービス(ITS)リクエストで、問合せパラメータとして指定されるTARGET URL。 |
SAML_AssertionConsumerURL(文字列) |
送り先サイト(フォームをPOSTする必要のあるサイト)のアサーション・コンシューマ・サービス(ACS)のURL。 |
SAML_AssertionConsumerParams(マップ) |
このマップには、依存側に構成されたアサーション・コンシューマ・パラメータの名前と値のマッピングが含まれます。名前と値は文字列です。 |
SAML_ITSRequestParams(マップ) |
このマップには、ITSリクエストで受信した問合せパラメータの名前と値のマッピングが含まれます。名前と値は文字列です。マップがnullの場合もあります。TARGETパラメータおよびRPID (Rich Presence Information Data)形式のパラメータは、マップがフォームに渡される前にマップから削除されます。 |