信頼できる認証局のサービスとして、OpenSSO のセキュリティートークンサービスはセキュリティートークンを発行および検証します。Web サービスセキュリティープロバイダとして、セキュリティートークンサービスは Web サービスクライアントと OpenSSO STS サービス自身との間の通信をセキュリティー保護します。OpenSSO 8.0 Update 2 から、多くの機能拡張がセキュリティートークンサービスに追加されました。
この章は次のトピックで構成されています。
Web サービスセキュリティーの認証モジュールを利用することで、OpenSSO は 認証トークンとして受信したダイジェストパスワード、および Web サービスクライアントから Web サービスプロバイダに送信されるサービス要求に含まれるダイジェストパスワードを使用して、UserName を検証できます。
「Access Manager」タブで、「Authentication」サブタブをクリックします。
「Module Instances」セクションで、「New」をクリックします。
「Name」フィールドで、この WSSAuth 認証モジュールのインスタンス名を入力します。
「Type」には「WSSAuth」を選択します。
WWSAuth 認証モジュールのインスタンスを設定します。
「Access Manager」タブで、「Authentication」サブタブをクリックします。
「Module Instances」セクションで、設定する WSSAuth 認証モジュールのインスタンス名をクリックします。
WSSAuth 認証モジュールのインスタンスレルム属性の値を入力します。
設定できる属性のリストとその説明を次の表に示します。
作成予定
作成予定
作成予定
作成予定
Oracle の認証モジュールを利用することで、OpenSSO は以前に Oracle Access Manager に対して認証されていた管理者を OpenSSO に対しても認証し、シングルサインオンを実現します。管理者は OpenSSO に資格情報を提供する必要はありません。
「Access Manager」タブで、「Authentication」サブタブをクリックします。
「Module Instances」セクションで、「New」をクリックします。
「Name」フィールドで、この Oracle 認証モジュールのインスタンス名を入力します。
「Type」には「OAMAuth」を選択します。
「了解」をクリックします。
OAMAuth 認証モジュールのインスタンスを設定します。
「Access Manager」タブで、「Authentication」サブタブをクリックします。
「Module Instances」セクションで、設定する OAMAuth 認証モジュールのインスタンス名をクリックします。
Oracle 認証モジュールのインスタンスレルム属性の値を入力します。
設定できる属性のリストとその説明を次の表に示します。
Oracle OpenSSO セキュリティートークンサービス (OpenSSO STS) は、Web サービスクライアントと Web サービスプロバイダの間で信頼関係を確立したり、その信頼関係を破棄したりします。Web サービスは、複数のクライアントと通信をする必要なく、1 つのエンティティー「OpenSSO STS」のみが発行したトークンを信頼できます。このようにして、OpenSSO STS はトラストポイントを管理するためのオーバーヘッドを大幅に削減します。
次にセクションでは、セキュリティートークンのニーズを判定する手順、およびそのニーズを満たすようセキュリティートークンサービスを設定してセキュリティートークンの生成と検証を行う手順を解説します。
新しい Web サービスプロバイダのセキュリティーエージェントプロファイルを追加する場合、Web サービスプロバイダは OpenSSO STS に自動で登録されます。詳細については以降の節を参照してください。
Web サービスプロバイダを OpenSSO STS に登録したら、OpenSSO STS を設定して Web サービスプロバイダが受け入れられる Web クライアントのセキュリティートークンを生成できます。
Web クライアントセキュリティートークンを生成するには、セキュリティートークンサービスを設定する前に、Web サービスプロバイダが必要としているセキュリティートークンの種類を調べる必要があります。OpenSSO STS は、Liberty Alliance Project のセキュリティートークンと Web Services Interoperability の Basic Security Profile セキュリティートークンをサポートしています。
Liberty Alliance Project のトークンを使用してセキュリティーを有効にしている場合、HTTP クライアント (ブラウザ) は Web サービスクライアントを通じて Web サービスプロバイダにアクセス要求を送信します。Web サービスのセキュリティーエージェントは、OpenSSO STS の認証サービスにその要求をリダイレクトします。Liberty Alliance Project のセキュリティー機構が機能している場合は、HTTP セキュリティーエージェントがリダイレクトを発行します。WS-IBS のセキュリティーを使用している場合は、SOAP セキュリティーエージェントがリダイレクトを発行します。
OpenSSO STS の認証サービスは、Web サービスプロバイダによって登録されたセキュリティー機構を判定し、適切なセキュリティートークンを取得します。認証成功後、Web サービスクライアント側の SOAP セキュリティーエージェントがセキュリティーヘッダーとトークンを挿入している間、Web サービスクライアントは SOAP メッセージ本文を提供します。その後、要求が WSP に送信される前にメッセージは署名されます。
Web サービスプロバイダ側の SOAP セキュリティーエージェントは、要求を Web サービスプロバイダ自身に転送する前に、SOAP 要求の中の署名とセキュリティートークンを検証します。Web サービスプロバイダはこの要求を処理して、SOAP セキュリティーエージェントによって署名された応答を Web サービスクライアントに返します。Web サービスクライアント側の SOAP セキュリティーエージェントは、応答を Web サービスクライアントに転送する前に、その署名を検証します。
Liberty Alliance Project のトランザクションでサポートされているトークンのリストと簡単な説明を次の表に示します。
表 3–1 要求者のトークン - Liberty Alliance Project
WS-IBS のトランザクションでサポートされているトークンのリストと簡単な説明を次の表に示します。
表 3–2 要求者のトークン - WS-IBS
セキュリティートークン生成表を使用すれば、OpenSSO STS を設定して、Web サービスプロバイダが必要とする Web サービスクライアントのセキュリティートークンを生成できるようになります。まず、「OpenSSO STS 出力トークン」という名前の最後の列で、Web サービスプロバイダトークンの要件を満たす説明文を探します。そして、セキュリティートークンサービスを設定する場合は同じ行にあるパラメータの値を使用します。「トークン生成表の凡例」では、表の見出しと利用可能なオプションについての情報を記載しています。設定手順についての詳細は、5.2.3 節「To Configure the Security Token Service」を参照してください。Web サービスのセキュリティーと関連技術についての一般的な情報については、次を参照してください。
http://www.oracle.com/technology/tech/standards/pdf/security.pdf
http://download.oracle.com/docs/cd/E15523_01/web.1111/b32511/intro_security.htm#CDDHHGEE
セキュリティートークン生成表では、頻繁に使用するセキュリティートークンサービスのパラメータ設定と、それらの設定に基づいて OpenSSO STS が生成するセキュリティートークンの種類についてまとめています。
表 3–3 セキュリティートークン生成表
行 |
メッセージレベルのセキュリティーバインディング |
Web サービスクライアントのトークン |
KeyType |
OnBehalfOf トークン |
Use Key |
OpenSSO STS 出力トークン |
1 |
非対称 |
X509 |
ベアラー |
はい |
いいえ |
SAML ベアラー (証明鍵なし) |
2 |
非対称 |
ユーザー名 |
ベアラー |
はい |
いいえ |
SAML ベアラー (証明鍵なし) |
3 |
非対称 |
X509 |
ベアラー |
いいえ |
いいえ |
SAML ベアラー (証明鍵なし) |
4 |
非対称 |
ユーザー名 |
ベアラー |
いいえ |
いいえ |
SAML ベアラー (証明鍵なし) |
5 |
非対称 |
X509 |
対称 |
はい |
いいえ |
SAML Holder-of-Key (対称証明鍵) |
6 |
非対称 |
ユーザー名 |
対称 |
はい |
いいえ |
SAML Holder-of-Key (対称証明鍵) |
7 |
非対称 |
X509 |
対称 |
いいえ |
いいえ |
SAML Holder-of-Key (対称) |
8 |
非対称 |
ユーザー名 |
対称 |
いいえ |
いいえ |
SAML Holder-of-Key (対称証明鍵) |
9 |
非対称 |
X509 |
非対称 |
いいえ |
Web サービスクライアントの公開鍵 |
SAML Holder-of-Key (非対称証明鍵) |
10 |
非対称 |
X509 |
SAML Sender-Vouches |
はい |
いいえ |
SAML Sender-Vouches (証明鍵なし) |
11 |
非対称 |
ユーザー名 |
SAML Sender-Vouches |
はい |
いいえ |
SAML Sender-Vouches (証明鍵なし) |
12 |
非対称 |
X509 |
SAML Sender-Vouches |
いいえ |
いいえ |
エラー |
13 |
非対称 |
ユーザー名 |
SAML Sender-Vouches |
いいえ |
いいえ |
エラー |
14 |
トランスポート |
ユーザー名 |
ベアラー |
はい |
いいえ |
SAML ベアラー (証明鍵なし) |
15 |
トランスポート |
ユーザー名 |
ベアラー |
いいえ |
いいえ |
SAML ベアラー (証明鍵なし) |
16 |
トランスポート |
ユーザー名 |
対称 |
はい |
いいえ |
SAML Holder-of-Key (対称) |
17 |
トランスポート |
ユーザー名 |
対称 |
いいえ |
いいえ |
SAML Holder-of-Key (対称証明鍵) |
18 |
トランスポート |
ユーザー名 |
SAML Sender-Vouches |
はい |
いいえ |
SAML Sender-Vouches (証明鍵なし) |
19 |
トランスポート |
ユーザー名 |
SAML Sender-Vouches |
いいえ |
いいえ |
エラー |
20 |
非対称 |
ユーザー名 |
非対称 |
いいえ |
Web サービスクライアントの公開鍵 |
エラー |
21 |
トランスポート |
ユーザー名 |
非対称 |
いいえ |
Web サービスクライアントの公開鍵 |
エラー |
22 |
非対称 |
X509 |
非対称 |
はい |
いいえ |
エラー |
23 |
非対称 |
ユーザー名 |
非対称 |
はい |
いいえ |
エラー |
24 |
トランスポート |
ユーザー名 |
非対称 |
はい |
いいえ |
エラー |
25 |
非対称 |
X509 |
非対称 |
いいえ |
いいえ |
SAML Holder-of-Key (非対称証明鍵) |
26 |
非対称 |
X509 |
いいえ |
いいえ |
いいえ |
SAML Holder-of-Key (非対称証明鍵) |
27 |
非対称 |
ユーザー名 |
いいえ |
いいえ |
いいえ |
SAML Holder-of-Key (対称証明鍵) |
28 |
トランスポート |
ユーザー名 |
いいえ |
いいえ |
いいえ |
SAML Holder-of-Key (対称証明鍵) |
作成予定
作成予定
作成予定