Oracle® Fusion Middleware Oracle WebCenter WSRP Producer for .NET開発ガイド 11gリリース1(11.1.1.7.0) B69391-02 |
|
前 |
次 |
WSRPの仕様は、どのセキュリティ技術を使用する必要があるかを規定していませんが、メッセージレベルのセキュリティを使用する者にはWS-Security標準を使用することを薦めています。仕様はトランスポートレベルのセキュリティについて説明していますが、プロデューサのWSDLは、HTTPSサービス・エントリ・ポイント用のポートを宣言することのみを求めています。この章では、Oracle WebCenter WSRP Producer for .NETによってサポートされているセキュリティ・オプションについて説明します。
Oracle WebCenter WSRP Producer for .NETは、SAMLとユーザー名トークン(UNT)という2つのタイプのWS-Securityトークン・プロファイルをサポートしています。WS-Security標準の詳細は、OASIS WS-Securityサイトhttp://www.oasis-open.org/committees/wss/
を参照してください。
WSSポリシー情報を含んでいる2つのWSDLファイルがあります。
WSRP 1.0: wsrp_v1_bindings.wsdl
およびWSRPService.wsdl
(<installdir>\wsrpdefault\wsdl\1.0
)
WSRP 2.0: wsrp-2.0-bindings.wsdl
およびWSRPService.wsdl
(<installdir>\wsrpdefault\wsdl\2.0
)
WSRPService.wsdlファイルは、次のものをルート要素<wsdl:definitions>
の子として、<wsdl:service>
要素の前に含める必要があります。
例4-1 SAML
<wsp:UsingPolicy wsdl:Required="true" /> <wsp:Policy s1:Id="SAMLAuth.xml"> <wsp:All> <wssp:Identity> <wssp:SupportedTokens> <wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-2004-01-saml-token-profile-1.0#SAMLAssertionID"> <wssp:Claims> <wssp:ConfirmationMethod>sender-vouches</wssp:ConfirmationMethod> </wssp:Claims> </wssp:SecurityToken> </wssp:SupportedTokens> </wssp:Identity> </wsp:All> </wsp:Policy>
例4-2 UNT
<wsp:UsingPolicy wsdl:Required="true" /> <wsp:Policy s1:Id="UNTAuth.xml"> <wsp:All> <wssp:Identity> <wssp:SupportedTokens> <wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken"> <wssp:UsePassword Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"/> </wssp:SecurityToken> </wssp:SupportedTokens> </wssp:Identity> </wsp:All> </wsp:Policy>
UsingPolicy
は"required"に設定する必要があります。そうしないと、特定のWSRPコンシューマ(Oracle WebLogic Portalなど)は、セキュリティ・ポリシーを守らなくなります。Policyノードは、標準のWS-Securityポリシー要素で、ここでSAML v1.1 sender-vouchesの確認が定義されます。詳細は、WS-Securityの仕様を参照してください。
WSDLの構成について注意するうえで最も重要な点は、ポリシーのId
属性です。これは、wsrp*bindings.wsdlファイル内で参照される必要があります。wsrp_v1_bindings.wsdlまたはwsrp-2.0-bindings.wsdlファイルを開き、getMarkup
およびperformBlockingInteraction
という名前を持った<wsdl:input>
要素を見つけます。これらのセクションでは、使用するポリシーを参照する必要があります。たとえば、WSRPService内のポリシーのIdが"SAMLAuth.xml"の場合、wsrp*bindings.wsdl内のポリシー参照は、次のようになります。
<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <wsp:PolicyReference URI="#SAMLAuth.xml"/> </wsp:Policy>
(WSRPService.wsdl内のポリシーのIdが"UNTAuth.xml"の場合、wsrp*bindings.wsdl内のPolicyReference URI値は"#UNTAuth.xml"になります。)
Oracle WebCenter WSRP Producer for .NETは、Microsoft Web Services Extensions (WSE) 2.0 SP3を使用しています。この項では、WS-Securityトークンを処理するようにWSEを設定するデフォルトの方法について説明します。WSEおよびセキュリティ・トークンの詳細は、Microsoft社のドキュメント(http://msdn.microsoft.com/en-us/library/ms824677.aspx
)を参照してください。
WSEのセキュリティ面は、Web.config内の<microsoft.web.services2>
要素の下の<security>
のもとで管理されます。
Web.configに定義されているデフォルトのUNTおよびSAMLセキュリティ・トークン・マネージャは、実際には認証を行いません。かわりに、トークンXMLを取り除き、WSRPプロデューサに登録されている個別のポートレットにトークンXMLを提供します。これにより、個別のポートレットは独自の認証および認可方法を実装できます。WSRP SOAPエンドポイントで認証を実装するには、Microsoft社のドキュメントに従って、独自のSecurityTokenManagerを作成します。
注意: WSEは、Oracle WebCenter Portal WSRP Consumerによって送信されるWSS 1.0セキュリティ・トークンを適切に処理しません。したがって、Oracle WebCenter WSRP Producer for .NETは、リクエスト・フィルタを使用して、暗号化コンテンツを復号化し、署名を検証し、次に暗号化と署名のない変更済のSOAPメッセージをWSEに渡します。Oracle WebCenter Portalから送信されるセキュリティ・トークン用に実装されたデフォルトのリクエスト・フィルタの詳細は、第5章「一般的な開発シナリオの実装」の開発チュートリアルを参照してください。 |
デフォルトのUNTおよびセキュリティ・トークン・マネージャの詳細は、次の章の第5.9項「セキュリティ・トークンの設定」を参照してください。デフォルトのSecurityTokenManagerのソース・コードは、インストール・ディレクトリの\wsrpdefault\src
フォルダにあります。
SSL (一方向または双方向)を設定するには、IISの構成に関するMicrosoft社のドキュメント、およびWSRPコンシューマ・ポータル用に提供されているドキュメントに従います。WSRPService.wsdl内のすべてのエンドポイントURLに"https"を使用します。WSRPリソースの場合、Oracle WebCenter WSRP Producer for .NETは、エンドポイントへのアクセスにいずれを使用したかに応じて、httpまたはhttpsのいずれを使用するかを決定します。
注意: 双方向SSLは、Oracle WebCenter Portalではサポートされていません。 |