SAML 発行者構成プロパティー

新規の自己発行 SAML トークンを作成する場合、構成プロパティーを指定して、トークンの構成方法を制御することができます。構成プロパティーは、プロバイダー側情報 (発行者のロケーションなど)、および鍵ストア・ファイルとトラストストア・ファイルのパスを記述する名前/値のペアです。

SAML 発行者構成プロパティーは、SAMLIssuerConfig.properties と呼ばれるプロパティー・ファイルに保管できます。SAMLIssuerConfig.properties ファイルの使用は、 WebSphere Application Server バージョン 8 では推奨されません。

WebSphere Application Server バージョン 8 以降は、これらのプロパティーを WS-Security ポリシー・バインディングまたは Web Services Security (WSS) アプリケーション・プログラミング・インターフェース (API) の WSSGenerationContext でも指定できるようになりました。

管理コンソールで、プロパティーを WS-Security のアウトバウンド・カスタム・プロパティーに設定します。パスの例は、「サービス」 > 「ポリシー・セット」 > 「汎用クライアント・ポリシー・セット・バインディング」 > 「Saml Bearer Client sample」 > 「WS-Security」 > 「カスタム・プロパティー」のようになります。setSAMLIssuerConfigInBinding 管理タスクを使用して、WS-Security ポリシー・バインディングのプロパティーを設定することもできます。詳しくは、『wsadmin コマンドを使用した自己発行される SAML トークン構成の管理』を参照してください。

WS-Security バインディングでは、これらのプロパティーを SAML トークン・コンシューマーまたは SAML トークン・コンシューマー・コールバック・ハンドラーにも設定できます。優先順位は、高い方から低い方へ、コールバック・ハンドラー、トークン・コンシューマー、汎用カスタム・プロパティーの順です。

SAML トークン生成プログラムで SAML トークンを自己発行するのに WS-Security バインディングを使用する場合、トークンの生成に使用できるパスは以下の 2 つがあります。
  1. 自己発行トークンを初めから生成する。
  2. 自己発行トークンを runAs サブジェクトに存在するトークンをベースにして生成する。サブジェクトに存在するトークンがない場合は、トークンは初めから作成されます。
トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): 自己発行トークンが必ず初めから生成されるようにしたい場合は、 SAML トークン生成プログラム・コールバック・ハンドラーに NameID カスタム・プロパティーを設定する必要があります。 NameID プロパティーがトークン生成プログラム・コールバック・ハンドラーに設定されず、 runAs サブジェクトに SAML トークンがなかった場合は、トークン内のサブジェクトの NameID は UNAUTHENTICATED に設定されます。gotcha

SAML トークン生成プログラムを使用して WSSAPI で SAML トークンを自己発行すると、カスタム・プロパティーは HashMap を使用して com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext に直接追加されます。詳しくは、 com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext の javadoc を参照してください。

com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory WSSAPI を使用して自己発行 SAML トークンを作成すると、SAMLTokenFactory.newDefaultProviderConfig() メソッドは com.ibm.wsspi.wssecurity.saml.config.ProviderConfig オブジェクトを返します。このオブジェクトの値は、SAMLIssuerConfig.properties ファイルに指定されたプロパティーに設定されています。SAMLIssuerConfig.properties ファイルが指定されていない場合 (推奨プログラミング・スタイル)、内容が空の ProviderConfig オブジェクトが返されます。そのコンテンツは、ProviderConfig setter メソッドを使用して設定します。詳しくは、com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory の javadoc を参照してください。

SAMLIssuerConfig.properties ファイルの場所

プロバイダー側のプロパティーを含む構成ファイル SAMLIssuerConfig.properties は、各サーバーで作成され、保管されます。WebSphere® Application Server では、このファイルはサーバー・レベルのリポジトリー、またはセル・レベルのリポジトリーにあります。WebSphere がベースでない環境 の場合、ファイルの場所は Java™ システム・プロパティー で定義されます。このプロパティーの名前は com.ibm.webservices.wssecurity.platform.SAMLIssuerConfigDataPath です。

例えば、WebSphere サーバーでサーバー・レベルにあるこのファイルの場所は、以下のようになります。app_server_root/profiles/$PROFILE/config/cells/$CELLNAME/nodes/$NODENAME/servers/$SERVERNAME/SAMLIssuerConfig.properties

WebSphere サーバーでセル・レベルにあるこのファイルの場所は、以下のようになります。app_server_root/profiles/$PROFILE/config/cells/$CELLNAME/sts/SAMLIssuerConfig.properties

SAML トークン・プロパティー

以下の表に、プロバイダー構成プロパティーの説明を示します。
表 1. 新規 SAML トークンに関するプロバイダー情報を構成するためのプロパティー. 以下のプロパティーを使用して、トークンの作成方法を制御します。以下の表は、SAMLIssuerConfig.properties ファイルと WS-Security ポリシー・バインディングで使用されるプロパティーを示しています。
SAMLIssuerConfig.properties プロパティー名 ポリシー・バインディング・プロパティー名 サンプルのプロパティー値 プロパティーの説明
com.ibm.wsspi.wssecurity.dsig.oldEnvelopedSignature com.ibm.wsspi.wssecurity.saml.config.issuer.oldEnvelopedSignature true com.ibm.wsspi.wssecurity.dsig.enableEnvelopedSignatureProperty JVM カスタム・プロパティーを true に設定する場合にのみ使用します。この JVM カスタム・プロパティーを使用する場合は、トピック「Java 仮想マシン (JVM) のカスタム・プロパティー」の説明を参照してください。
IssuerFormat com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerFormat urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName SAML トークンの Issuer エレメントの Format 属性の値。
注: Issuer エレメントに Format 属性を追加する場合は、 このプロパティーを指定する必要があります。
IssuerURI com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerURI http://www.websphere.ibm.com/SAML/SelfIssuer 発行者の URI。
TimeToLiveMilliseconds com.ibm.wsspi.wssecurity.saml.config.issuer.TimeToLiveMilliseconds 3600000 トークンの有効期限までの時間。このプロパティーを使用して、トークンの NotOnOrAfter 属性を設定します。NotOnOrAfter は、(currentTime)+TimeToLive+(currentClockSkew) に設定されます。
KeyStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreRef name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode 署名鍵を格納している管理対象鍵ストアへの security.xml での参照。
KeyStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePath app_server_root/etc/ws-security/samples/dsig-receiver.ks 署名鍵を格納している鍵ストア・ファイルの場所。
注: この値を デフォルト値から変更して、ご使用のシステムのパス・ロケーションに一致させる 必要があります。
KeyStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreType JKS 鍵ストア・タイプ。
KeyStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePassword password 鍵ストア・ファイルのパスワード (パスワードは XOR でエンコード する必要があります)。 詳しくは、ファイル内のパスワードのエンコードに関する 説明を参照してください。
KeyAlias com.ibm.wsspi.wssecurity.saml.config.issuer.KeyAlias soapprovider 鍵ストアで定義されている署名秘密鍵の別名。
KeyName com.ibm.wsspi.wssecurity.saml.config.issuer.KeyName CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP 鍵ストア・ファイルで定義されている署名秘密鍵の名前。この名前は参照用であり、ランタイムでは評価されません。
KeyPassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyPassword password 鍵ストア・ファイルで定義される秘密鍵のパスワード (パスワードは XOR でエンコードする必要があります)。
TrustStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreRef name=myTrustStoreRef managementScope=(cell):myCell:(node):myNode 暗号化証明書を格納している管理対象鍵ストアへの security.xml での参照。
TrustStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePath app_server_root/etc/ws-security/samples/dsig-receiver.ks 暗号化証明書を格納している保管ファイルの場所。
注: この値を デフォルト値から変更して、ご使用のシステムのパス・ロケーションに一致させる 必要があります。
TrustStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreType JKS 暗号化証明書を格納している保管ファイルの保管タイプ。
TrustStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePassword password 暗号化証明書を格納している保管ファイルのパスワード。
AttributeProvider com.ibm.wsspi.wssecurity.saml.config.issuer.AttributeProvider com.mycompany.SAML.AttributeProviderImpl 属性プロバイダーの実装クラス。
注: このクラスは、javax.security.auth.callback.CallbackHandler を実装する必要があります。 このクラスは、com.ibm.websphere.wssecurity.callbackhandler.Saml11AttributeCallback または com.ibm.websphere.wssecurity.callbackhandler.Saml20AttributeCallback コールバック・オブジェクトを受け取り、そのオブジェクトから呼び出された getSAMLAttributes メソッドから受け取った SAMLAttribute リストを更新します。

詳しくは、『API を使用した自己発行 SAML トークンへの属性の追加』を参照してください。

EncryptingAlias com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptingAlias soaprecipient SAML トークンの暗号化に使用されるパブリック証明書を含む、TrustStore プロパティーに指定された保管ファイル内の項目。API を使用して自己発行トークンを生成する場合、このプロパティーに指定された値よりも、setKeyAliasForAppliesTo メソッドを使用して RequesterConfig に設定された別名が優先されます。
EncryptSAML com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptSAML true 暗号化された SAML トークンを生成する場合は、このプロパティーを true に設定します。このプロパティーのデフォルト値は false です。

API を使用して自己発行トークンを生成する場合、RequesterConfig オブジェクトで setEncryptSAML(true) メソッドを使用して SAML トークンの暗号化を示すこともできます。RequesterConfig オブジェクトで setEncryptSAML=true であるか、または EncryptSAML カスタム・プロパティーが true に設定されていれば、SAML トークンは暗号化されます。

NameIDProvider com.ibm.wsspi.wssecurity.saml.config.issuer.NameIDProvider com.mycompany.SAML.NameIDProviderImpl 名前 ID プロバイダーの実装クラス。
注: このクラスは、javax.security.auth.callback.CallbackHandler を実装する必要があります。 このクラスは、com.ibm.websphere.wssecurity.callbackhandler.NameIDCallback コールバック・オブジェクトを受け取り、そのオブジェクトの setSAMLNameID メソッドを呼び出して NameID を更新します。

詳しくは、『API を使用した自己発行 SAML トークンの NameID のカスタマイズ』を参照してください。

UseSha2ForSignature com.ibm.wsspi.wssecurity.saml.config.issuer.UseSha2ForSignature true このプロパティーを true に設定すると、SAML トークンの署名時に SHA-2 署名アルゴリズム (http://www.w3.org/2001/04/xmldsig-more#rsa-sha256) が使用されます。

以下に、SAML トークンの 構成プロパティー・ファイルの例を示します。
IssuerURI=http://www.websphere.ibm.com/SAML/SelfIssuer
TimeToLiveMilliseconds=3600000
KeyStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
KeyStoreType=JKS
KeyStorePassword={xor}LDotKTot
KeyAlias=soapprovider
KeyName=CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP
KeyPassword={xor}LDotKTot
TrustStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
TrustStoreType=JKS
TrustStorePassword={xor}LDotKTot 

トピックのタイプを示すアイコン 参照トピック



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