SAML 用のアプリケーション・プログラミング・インターフェース (API) の概要

SAML 用の WebSphere® Application Server サポートは、SAML トークンを認識するアプリケーションのビルドに使用できる、共通アプリケーション・プログラミング・インターフェース (API) を提供しています。

SAML トークンの作成、検証、および認証 と、SAML トークンを表す JAAS サブジェクトの作成には、SAMLTokenFactory API を使用できます。 SAMLTokenFactory 実装は、OASIS SAML v1.1 トークン仕様 と OASIS SAML v2.0 トークン仕様の両方をサポートします。指定された STS への WS-Trust 要求メッセージの 送信、発行、および検証には、WSSTrustClient API を使用します。WSSTrustClient 実装は、 WS-Trust v1.3 仕様と WS-Trust v1.2 仕様の両方をサポートし、 SOAP v1.1 名前空間と SOAP v1.2 名前空間の両方をサポートします。

注: WebSphere Application Server リリース 8 より、Web Services Security (WSS) アプリケーション・プログラミング・インターフェース (API) の com.ibm.websphere.wssecurity.wssapi.token.SAMLToken クラスを使用できます。 混同する恐れがなければ、完全なパッケージ名を使用せずに SAMLToken という用語を使用します。 WSS API を使用すると、外部セキュリティー・トークン・サービス (STS) から SAMLToken 処理を要求したり、 SOAP 要求メッセージで SAMLToken を伝搬したり、SAMLToken で識別される対称鍵または非対称鍵を使用して SOAP メッセージを保護したりできます。

WSS API SAML サポートは、com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory インターフェースおよび com.ibm.websphere.wssecurity.wssapi.trust.WSSTrustClient インターフェースを補完します。 com.ibm.websphere.wssecurity.wssapi.WSSFactory newSecurityToken() メソッドを使用して生成される SAMLToken は、SAMLTokenFactory プログラミング・インターフェースおよび WSSTrustClient プログラミング・インターフェースによって処理できます。 一方、SAMLTokenFactory によって生成される SAMLToken または WSSTrustClient によって返される SAMLToken は、WSS API で使用できます。 アプリケーションでどの API を使用するか決定することは、特定のニーズによって異なります。 WSS API SAML サポートは、Web サービス・クライアント・アプリケーションに関する限り、SAMLTokenFactory インターフェースおよび WSSTrustClient インターフェースと同等の機能を提供するという点では、自己完結的です。SAMLTokenFactory インターフェースには、SAMLToken を検証し、認証された SAMLToken を表す JAAS サブジェクトを作成する追加機能があります。この検証は、 Web サービス・プロバイダー側で役に立ちます。SAMLToken を消費するようにアプリケーションを開発する場合、 SAMLTokenFactory プログラミング・インターフェースがより適しています。

SAML 対応の WebSphere Application Server は、 セキュリティー・トークンとして SAML を実装する、以下の API を 提供します。これらの API におけるメソッドについては、 SAML トークン・ライブラリー API 資料を参照してください。資料には、 各 API の説明とサンプル・コードが記載されています。

SAMLTokenFactory API はメインの SAML トークン・プログラミング・インターフェースです。 この API を使用して、SAML トークンの作成、SAML 属性の挿入、 SAML トークンの XML 表現としての SAML アサーションの構文解析と検証、 および、SAML トークン内に定義されたユーザー ID と属性を表す JAAS サブジェクトの 作成を行うことができます。
  • com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory
  • com.ibm.websphere.wssecurity.wssapi.token.SAMLToken
SAMLAttribute システム・プログラミング・インターフェース (SPI) および SAMLNameID SPI は、 SAML 属性および SAML ユーザー名 ID を表します。
  • com.ibm.wsspi.wssecurity.saml.data.SAMLAttribute
  • com.ibm.wsspi.wssecurity.saml.data.SAMLNameID
以下の SAML SPI を使用して、どのように SAML トークンが 作成され、どのように SAML アサーション XML 文書が検証されるのかを指定できます。ProviderConfig オブジェクト は、SAML アサーション発行者の構成情報 (発行者名、発行者署名鍵、 および署名証明書) を指定します。 RequesterConfig オブジェクトに含まれる構成パラメーターは、SAML アサーションおよび SAML トークンが 作成されるときにそれらの特性を定義します。これらの構成パラメーターには、確認方式、 SAML アサーションの署名、組み込み暗号鍵タイプ、および認証方式 があります。ConsumerConfig オブジェクトに含まれる構成パラメーターは、 暗号化解除鍵情報、暗号化アルゴリズム、クロック・スキュー用のタイマー値、 および、発行者にデジタル署名が必要かどうかを含め、 SAML アサーション XML 文書がどのように検証されるのかを定義します。
  • com.ibm.wsspi.wssecurity.saml.config.ConsumerConfig
  • com.ibm.wsspi.wssecurity.saml.config.CredentialConfig
  • com.ibm.wsspi.wssecurity.saml.config.ProviderConfig
  • com.ibm.wsspi.wssecurity.saml.config.RequesterConfig
  • com.ibm.wsspi.wssecurity.saml.config.SamlConstants
  • com.ibm.wsspi.wssecurity.core.token.config.ConsumerConfiguration
  • com.ibm.wsspi.wssecurity.core.token.config.CredentialConfiguration
  • com.ibm.wsspi.wssecurity.core.token.config.ProviderConfiguration
  • com.ibm.wsspi.wssecurity.core.token.config.RequesterConfiguration
以下の SAML Callback クラスおよび CallbackHandler クラスは、 SAML アサーションの特性を定義したり、ランタイム環境での SAML LoginModule の動作を 制御するのに使用できる、構成パラメーターを指定します。これらのパラメーターは、Web Services Security バインディング文書に保管されます。SAML トークン構成は、Web Services Security ポリシー構成の CustomToken 拡張によってモデル化されています。
  • com.ibm.websphere.wssecurity.callbackhandler.SAMLConsumeCallback
  • com.ibm.websphere.wssecurity.callbackhandler.SAMLConsumerCallbackHandler
  • com.ibm.websphere.wssecurity.callbackhandler.SAMLGenerateCallback
  • com.ibm.websphere.wssecurity.callbackhandler.SAMLGenerateCallbackHandler
com.ibm.websphere.wssecurity.wssapi.token.SecurityToken プログラミング・インターフェース にある getXML() メソッドは、XMLStructure インターフェースを実装 するオブジェクトを戻します。WebSphere Application Server によって追加される機能拡張は、カスタムの SecurityToken 実装をサポートします。以下の 2 つ の SPI を使用して、Axis2 Axiom OM 実装または DOM 実装を デプロイできます。SAML トークンは GenericSecurityToken インターフェースを継承します。 このインターフェースは、SecurityToken インターフェースを継承しています。GenericSecurityToken は、 SAML 対応の WebSphere Application Server によって 追加された新しいインターフェースです。SAML トークンは、OMStructure インターフェースも実装します。
  • com.ibm.wsspi.wssecurity.wssapi.DOMStructure
  • com.ibm.wsspi.wssecurity.wssapi.OMStructure
WS-Trust Client API は、WSSTrustClient クラスと、 その他の補助的な API および SPI を含みます。WSSTrustClient API は、 指定された外部セキュリティー・トークン・サービス (STS) に WS-Trust SOAP 要求を送信して、その STS が、1 つ以上の SAML アサーション、 または他のタイプのセキュリティー・トークンを発行または検証できるように します。WSSTrustClient は、WS-Trust バージョン 1.3 仕様 と WS-Trusts バージョン 1.2 仕様の両方をサポートします。WSSTrustClient API は、 API 呼び出し元が SAML トークン・タイプを要求したとき、SAML トークンを戻します。 また、この API は、API 呼び出し元が非 SAML トークン・タイプを要求したときは GenericSecurityToken インターフェース を使用します。詳しい説明とサンプル・コードについては、『WS-Trust Client API』 を参照してください。API および SPI について 詳しくは、API 文書を参照してください。
  • com.ibm.websphere.wssecurity.wssapi.trust.WSSTrustClient
  • com.ibm.websphere.wssecurity.wssapi.token.GenericSecurityToken
トークンの特性、およびランタイム環境での トークンの動作を指定するには、以下の SPI を使用します。ProviderConfig オブジェクトに含まれる構成パラメーターは、STS エンドポイント、Web Services Security ポリシー・セット、STS へのアクセスに使用されるバインディング文書、および、汎用バインディングとアプリケーション固有バインディングのどちらが使用されるのかを指定します。ProviderConfig オブジェクトは、RequestSecurityTokenResponse (RSTR) XML 文書 が GenericSecurityToken オブジェクトと SAMLToken オブジェクトの どちらに保管されるのかも指定します。RequesterConfig オブジェクトには、 WS-Trust 要求に入れて指定された STS へ送信される 構成パラメーターが含まれます。ConsumerConfig インターフェースは、 WS-Trust 応答メッセージおよび RequestSecurityTokenResponse エレメントの 属性およびデータを定義します。このデータは、GenericSecurityToken getProperties() メソッド を使用して取得されます。RequestSecurityTokenResponse XML エレメントは、 ProviderConfig setIncludeRSTRProperties() が呼び出されたことがあれば、プロパティーとして 保存されています。アプリケーションが必要とする特定の属性 が ConsumerConfig インターフェースによって定義されていない場合、 代わりに RSTR エレメントを取得し、解析することができます。
  • com.ibm.wsspi.wssecurity.trust.config.ConsumerConfig
    • com.ibm.wsspi.wssecurity.trust.config.ConsumerConfig.RSTR
  • com.ibm.wsspi.wssecurity.trust.config.ProviderConfig
  • com.ibm.wsspi.wssecurity.trust.config.RequesterConfig
  • com.ibm.wsspi.wssecurity.core.token.config.WSSConstants
    • com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.Namespace
    • com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.TokenType
    • com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.WST12
    • com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.WST13
    • com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.Algorithm
    • com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.SAML

これらの API をいつ、どのように適用するのかを示す実用的なシナリオなど、API の使用に関する追加情報については、 『SAML の使用シナリオ』を参照してください。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_overviewsamlapis
ファイル名:cwbs_overviewsamlapis.html