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

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

SAML API

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

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

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

WebLogic Server 環境での SAML および SAML アサーションの概要については、『WebLogic Security について』の「SAML (Security Assertion Markup Language)」を参照してください。SAML 資格マッピング プロバイダのコンフィグレーションについては、『WebLogic Server のセキュリティ』の「SAML 資格マッピング プロバイダのコンフィグレーション」を参照してください。

SAML 仕様については、http://www.oasis-open.org を参照してください。www.oasis-open.org の「Technical Overview of the OASIS Security Assertion Markup Language (SAML) V1.1」も参照してください。

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

 


SAML API の説明

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

表 9-1 WebLogic SAML API
WebLogic SAML API
説明
WebLogic SAML パッケージ。
アーティファクト プロファイルのアサーションを格納および取得するためのメソッドを定義するインタフェース。このインタフェースは非推奨になり、代わりに SAMLAssertionStoreV2 を推奨。
SAMLAssertionStoreV2 インタフェースは SAMLAssertionStore インタフェースの拡張で、SAML ARS からのアサーションを要求する送り先サイトを特定および認証するためのメソッドが追加されている。
V2 は、SAML 仕様のバージョン 2 ではなく、WebLogic SAML プロバイダの 2 番目のバージョンを表す。
SAMLAssertionStoreV2.retrieveAssertionInfo() によって返される AssertionInfo クラス。このクラスには、取得したアサーションと、その関連情報が格納される。SAMLAssertionStoreV2 インタフェースの実装はこのクラスを返す必要がある。
SAML アサーションのフィールドにサブジェクト情報をマッピングするために使用するメソッドを定義するインタフェース。
SAML アサーションからの情報をユーザ名およびグループ名にマッピングするために使用するメソッドを定義するインタフェース。
POST プロファイルの使用を 1 回に強制するため、アサーション ID をキャッシュするメソッドを定義するインタフェース。
このインタフェースを実装するクラスには、引数を取らないパブリック コンストラクタが必要。
このクラスのインスタンスは、ユーザおよびグループの情報を名前マッパーとやり取りするために使用する。このクラスによって、いくつかの便利な定数も定義される。

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

 


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

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

これらの表には、返された Java オブジェクトをキャストするために必要なパラメータ名とそのデータ型を示します。

どちらの実装でも、SAML 応答自体は、SAML で指定されたパラメータ名を使用して渡されます。

SAML 応答 (文字列) は、base64 でエンコードされた SAML 応答要素です。

表 9-2 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-3 SAML V1 プロバイダのカスタム POST フォーム パラメータ
パラメータ
説明
targetURL (文字列)

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

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


ページの先頭       前  次