始める前に
SAML トークンの署名を構成する前に、SAML ポリシー・セット
およびバインディングを構成することによって、
メッセージ・レベルの保全性が保護される、認証をサポートするトークンとして、SAML トークンを作成する必要があります。詳しくは、『SAML を使用したメッセージの保護』を
参照してください。また、
関連付けられた SAML バインディングは、汎用バインディングではなく、アプリケーション固有の
バインディングでなければなりません。汎用バインディングでは 1 つだけの変換アルゴリズムが使用されますが、
SAML アサーションの署名に使用される変換アルゴリズムは、署名される他のパーツとは異なり
ます。
このタスクについて
このタスクは、特に SAML トークンをデジタル署名する方法の手順に対応します。
このタスクは、署名する必要があるメッセージ・パーツに対して、SAML sender-vouches トークンまたは SAML bearer トークンの SAML トークン・プロファイルの OASIS 標準の要件には対応しません。SAML アサーションに署名するには、SOAP メッセージは <wsse:Security> ヘッダー・ブロック内に <wsse:SecurityTokenReference> エレメントを含んでいる必要があります。SecurityTokenReference (STR) はメッセージ署名によって、<ds:Reference> エレメントを使用して参照されます。セキュリティー・トークン参照には、<wsse:KeyIdentifier> エレメントが含まれている必要があり、ValueType 値 http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLID、または http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID で、参照される表明 ID が指定されている必要があります。<ds:Reference> エレメントには、STR 変換アルゴリズムの URI である http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsssoap-message-security-1.0#STR-Transform が含まれている必要があります。STR 変換の使用によって、<wsse:SecurityTokenReference> エレメントだけでなく、SAML アサーション自体が確実に署名されます。
メッセージ・レベルで SAML トークン
の署名を可能にするには、以下の構成ステップを実行します。
トラブルの回避 (Avoid trouble): 初期作成時に SAMLToken にカスタム属性を追加する唯一の方法は、SAML 属性コールバック・ハンドラーを使用することです。SAMLToken オブジェクトへの属性の追加を SAMLToken.addAttribute メソッドを使用して行うことができますが、
このメソッドは、トークンにデジタル署名がある場合はそれを削除します。また、このメソッドを暗号化された SAML トークンまたは暗号化された属性と共に使用することはできません。
gotcha