ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server Security プログラマーズ ガイド
11g リリース 1 (10.3.1)
B55520-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 Fusion Middleware Oracle WebLogic Server Security の紹介』の「SAML (Security Assertion Markup Language)」を参照してください。

SAML 資格マッピング プロバイダのコンフィグレーションについては、『Oracle Fusion Middleware 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。