5.3. PicketLink STS ログインモジュール
PicketLink ログインモジュールは、認証するユーザーにセキュリティートークンサービスを使用するため、通常 JEE コンテナのセキュリティー設定の一部として設定されます。STS は、ログインモジュールと同じコンテナに配置されることがあり、Web サービス呼び出しやその他の技術を使用してリモートアクセスされることがあります。PicketLink ログインモジュールは、標準の WS-Trust 呼び出しを介して PicketLink STS 以外の実装をサポートします。
STS ログインモジュールのタイプ
STS ログインモジュールのタイプは次のとおりです。
STSIssuingLoginModule
- 設定された STS を呼び出し、セキュリティートークンを要求します。
RequestedSecurityToken
を正常に受け取った後、認証の成功を示します。 - 通常、STS への呼び出しには認証が必要です。このログインモジュールは、以下のソースの 1 つよりクレデンシャルを使用します。
useOptionsCredentials
モジュールオプションがtrue
に設定されている場合は、プロパティーファイルを使用します。password-stacking
モジュールオプションがuseFirstPass
に設定されている場合は、以前のログインモジュールクレデンシャルを使用します。- 名前およびパスワードコールバックを提供し、設定された
CallbackHandler
よりクレデンシャルを使用します。
- 認証に成功した後、同じアサーションを持つものがすでに存在しない場合は
SamlCredential
がサブジェクトの公開クレデンシャルに挿入されます。
STSValidatingLoginModule
- 設定された STS を呼び出し、利用可能なセキュリティートークンを検証します。
- 通常、STS への呼び出しには認証が必要です。このログインモジュールは、以下のソースの 1 つよりクレデンシャルを使用します。
useOptionsCredentials
モジュールオプションがtrue
に設定されている場合は、プロパティーファイルを使用します。password-stacking
モジュールオプションがuseFirstPass
に設定されている場合は、以前のログインモジュールクレデンシャルを使用します。- 名前およびパスワードコールバックを提供し、設定された
CallbackHandler
よりクレデンシャルを使用します。
- 認証に成功した後、同じアサーションを持つものがすでに存在しない場合は
SamlCredential
がサブジェクトの公開クレデンシャルに挿入されます。
SAML2STSLoginModule
- このログインモジュールは、
ObjectCallback
を設定されたCallbackHandler
に提供し、SamlCredential
オブジェクトが返されることを想定します。アサーションは、設定された STS に対して検証されます。 - ユーザー ID および SAML トークンが共有されている場合、正常に認証された別のログインモジュールの上にスタックされると、このログインモジュールは検証を省略します。
- 認証に成功した後、ユーザーの ID として設定される
SamlCredential
と、ユーザーのロールとして設定される複数値のロール属性に対してSamlCredential
が確認されます。
SAML2LoginModule
- このログインモジュールは、SAML 認証の他のコンポーネントと一緒に使用され、このログインモジュール自体は認証を行いません。
SPRedirectFormAuthenticator
は、SAML v2 HTTP リダイレクトプロファイルの PicketLink の実装でこのログインモジュールを使用します。- Tomcat オーセンティケーターバルブは、アイデンティティープロバイダーへリダイレクトし、SAML アサーションを取得して、認証を実行します。
- このログインモジュールは、JAAS サブジェクトに入力されるユーザー ID およびロールを JBoss セキュリティーフレームワークへ渡すために使用されます。