WebLogic Security プログラマーズ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

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 アサーションの概要については、『WebLogic Security について』の「SAML (Security Assertion Markup Language)」を参照してください。

SAML 資格マッピング プロバイダのコンフィグレーションについては、『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」および「Security Assertion Markup Language (SAML) 2.0 Technical Overview」も参照してください。

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

 


SAML API の説明

表 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 サービス プロバイダ パートナの抽象表現。特定の属性やメソッドはない。

 


カスタム 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。


ページの先頭       前  次