ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング
11g リリース1(10.3.3)
B61619-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

9 SAML API

SAML (Security Assertion Markup Language)は、様々なエンティティの間でセキュリティ情報をやり取りするためのXMLベースのプロトコルです。SAML標準は、Web上のソフトウェア・エンティティの間でセキュリティ情報を交換するためのフレームワークを定義します。SAMLセキュリティは、アサーション側と依存側の対話に基づいています。

SAMLは、シングル・サインオン機能を提供します。1つの場所で認証されたユーザーは、あらためてログインしなくても、別の場所のサービス・プロバイダにアクセスできます。

WebLogic Serverは、SAMLバージョン2.0および1.1をサポートしています。WebLogic Server実装では、以下がサポートされます。

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)も参照してください。

この節では、以下のトピックを取り上げます。

SAML APIの説明

表9-1に、WebLogic SAML APIの一覧を示します。表9-2に、WebLogic SAML 2.0 APIの一覧を示します。詳細についてはJavadocを参照してください。

表9-1 WebLogic SAML API

WebLogic SAML API 説明

weblogic.security.providers.saml

WebLogic SAMLパッケージ。

SAMLAssertionStore

アーティファクト・プロファイルのアサーションを格納および取得するためのメソッドを定義するインタフェース。このインタフェースは非推奨であり、SAMLAssertionStoreV2が推奨されます。

SAMLAssertionStoreV2

SAMLAssertionStoreV2インタフェースはSAMLAssertionStoreインタフェースの拡張で、SAML ARSからのアサーションをリクエストする送り先サイトを特定および認証するためのメソッドが追加されています。

V2は、SAML仕様のバージョン2ではなく、WebLogic SAMLプロバイダの2番目のバージョンを表します。

SAMLCredentialAttributeMapper

サブジェクトからSAMLAssertionの属性へのマッピングを実行するためのインタフェース。

SAMLCredentialNameMapper

SAMLアサーションのフィールドにサブジェクト情報をマッピングするために使用するメソッドを定義するインタフェース。

SAMLIdentityAssertionAttributeMapper

SAML属性文から属性プリンシパルへのマッピングを実行するためのインタフェース。

SAMLIdentityAssertionNameMapper

SAMLアサーションの情報をユーザー名およびグループ名にマッピングするために使用するメソッドを定義するインタフェース。

SAMLUsedAssertionCache

POSTプロファイルの使用を1回に強制するため、アサーションIDをキャッシュするメソッドを定義するインタフェース。

このインタフェースを実装するクラスには、引数を取らないパブリック・コンストラクタが必要です。

SAMLNameMapperInfo

このクラスのインスタンスは、ユーザーおよびグループの情報を名前マッパーとやり取りするために使用します。このクラスによって、いくつかの便利な定数も定義されます。

SAMLAssertionStoreV2.AssertionInfo

SAMLAssertionStoreV2.retrieveAssertionInfo()によって返されるAssertionInfoクラス。このクラスには、取得したアサーションと、その関連情報が格納されます。SAMLAssertionStoreV2インタフェースの実装はこのクラスを返す必要があります。

SAMLAttributeInfo

SAMLAssertion AttributeStatementの1つの属性を表すクラス。

SAMLAttributeStatementInfo

SAMLAssertionのAttributeStatementを表すクラス。

SAMLNameMapperInfo

SAMLアサーションのユーザー名とグループ情報を表すために使用します。

SAMLCommonPartner

SAML 1.1パートナに共通の属性の抽象表現。

SAMLRelyingParty

SAMLリライイング・パーティ・レジストリ内のSAMLリライイング・パーティ・エントリを表します。

SAMLAssertingParty

LDAPアサーティング・パーティ・レジストリ内のSAMLアサーティング・パーティ・エントリを表します。

SAMLPartner

SAMLパートナの抽象表現。



注意:

SAML名前マッパー・クラスは、システム・クラス・パスに含めなければなりません。カスタムのSAMLIdentityAssertionNameMapper、SAMLCredentialNameMapper、SAMLAssertionStore、またはSAMLUsedAssertionCacheを作成した場合は、それぞれに対応するクラスをシステム・クラス・パスに含める必要があります。

表9-2 WebLogic SAML 2.0 API

WebLogic SAML 2.0 API 説明

com.bea.security.saml2.providers

WebLogicセキュリティ・レルムでSAML 2.0セキュリティ・プロバイダを構成、制御、およびモニターするためのインタフェースとクラスを提供します。

SAML2CredentialNameMapper

ユーザーとグループの情報をSAML 2.0アサーションにマッピングするために使用するインタフェース。

SAML2IdentityAsserterNameMapper

SAML 2.0アサーションに格納されたユーザー情報をローカル・ユーザー名にマップするために使用するインタフェース。

SAML2NameMapperInfo

SAML 2.0アサーションに格納されたユーザー名とグループ情報を表すために使用します。

com.bea.security.saml2.providers.registry

SAML 2.0 IDプロバイダおよびサービス・プロバイダ・パートナとメタデータの抽象インタフェース。

BindingClientPartner

バインディング・クライアント・パートナとは、バックエンド・チャネルの通信をサポートするパートナ。

IdPPartner

SAML 2.0 IDプロバイダ・パートナの抽象表現。

Endpoint

SAML 2.0サービス・エンド・ポイントの抽象表現。

IndexedEndpoint

このクラスは、アーティファクト解決サービスのエンド・ポイントのように索引化可能なエンド・ポイントを表します。

MetadataPartner

メタデータ・パートナは、主にSAML 2.0メタデータ・プロファイルで必要なパートナの連絡先情報を格納します。

Partner

SAML 2.0パートナの抽象表現。このインタフェースはパートナの必須情報を定義します。

SPPartner

SAML 2.0サービス・プロバイダ・パートナの抽象表現。

WebSSOIdPPartner

Web SSOプロファイルのSAML 2.0 IDプロバイダ・パートナの抽象表現。

WebSSOPartner

Web SSOプロファイルのSAML 2.0パートナの抽象表現。

WebSSOSPPartner

Web SSOプロファイルのSAML 2.0サービス・プロバイダ・パートナの抽象表現。

WSSIdPPartner

WSS SAMLトークン・プロファイルのSAML 2.0 IDプロバイダ・パートナの抽象表現。

WSSPartner

WSS SAMLトークン・プロファイルのSAML 2.0パートナの抽象表現。

WSSSPPartner

WSS SAMLトークン・プロファイルのSAML 2.0サービス・プロバイダ・パートナの抽象表現。特定の属性やメソッドはありません。


カスタムPOSTフォーム・パラメータ名

SAML POSTプロファイル処理のためにカスタムPOSTフォームを指定した場合、POSTフォームに渡されるパラメータ名は、どのSAMLプロバイダが構成されているかによって異なります。

これらの表には、返された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)形式のパラメータは、マップがフォームに渡される前にマップから削除されます。


表9-4 SAML V1プロバイダのカスタムPOSTフォーム・パラメータ

パラメータ 説明

targetURL(文字列)

ITSリクエストで、問合せパラメータとして指定されるTARGET URL。

consumerURL(文字列)

送り先サイト(フォームをPOSTする必要のあるサイト)のACSのURL。