Web サービス・セキュリティーの呼び出し元構成
Web サービスは、認証モードまたは非認証モードで実行することができます。 ユーザーの ID に基づいてリソースへのアクセスを制限する場合、この Web サービスは認証モードで実行する必要があります。 Web サービスが認証モードで実行されると、Web サービスが実行される同じスレッドにこのユーザーの ID が設定されます。
- HTTP 基本認証
- HTTP ヘッダーからの ID が Web コンテナーによってスレッドに設定されます。
- WS-Security 呼び出し元構成
- SOAP セキュリティー・ヘッダー内のいずれかのトークンの ID が、 WS-Security ランタイムによってスレッドに設定されます。
WS-Security の仕様では、SOAP メッセージのセキュリティー・ヘッダーで複数のトークンを渡すことが許されています。 WS-Security を使用して認証モードで Web サービスを実行する必要があるときには、 どのトークンを ID に使用するかを WS-Security ランタイム環境に指示するためのメカニズムが必要になります。 このメカニズムは、呼び出し元構成と呼ばれます。
WS-Security の呼び出し元構成は、server.xml ファイルに <callerToken> エレメントで指定されます。
<wsSecurityProvider ...>
...
<callerToken name="UsernameToken" />
...
</wsSecurityProvider>
- UsernameToken
- X509Token
- SamlToken
呼び出し元トークンとして X509Token を構成する場合は、必ず、セキュリティー・ヘッダーから解決できるクライアントの X509Certificate が 1 つしかないようにしてください。例えば、AsymmetricBinding のイニシエーター・トークンから解決されるクライアント証明書が 1 つしかない、または承認トークンから解決されるクライアント証明書が 1 つしかないようにします。
呼び出し元トークンとして UsernameToken を構成する場合は、 セキュリティー・ヘッダーに UsernameToken が 1 つのみ含まれる必要があります。
呼び出し元トークンとして SamlToken を構成する場合は、セキュリティー・ヘッダーに SAML トークンが 1 つのみ含まれる必要があります。認証済みサブジェクトの作成時にプリンシパル、グループ、またはレルムとして使用できる SAML 属性を指定するために使用される userIdentifier、groupIdentifier、realmIdentifier などの追加構成オプションがあります。オプションの SAML callerToken 構成について詳しくは、製品資料の『WS-Security SAML 呼び出し元構成の作成』を参照してください。