Oracle® Fusion Middleware Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理 12c (12.1.2) E47994-03 |
|
![]() 前 |
![]() 次 |
Webサービスに最適なセキュリティ・ポリシーを決定するのに役立てるため、この章で提供する質問を使用できます。この章では、現行のリリースに付属する事前定義済セキュリティ・ポリシーのサマリーも提供します。
この章の構成は、次のとおりです。
次に示す一連の質問で、要件に最適なセキュリティ・ポリシーを確認できます。
セキュリティ・ポリシーの基本的な要件は何ですか。ユーザーのみを認証する必要があるのか、メッセージ保護のみが必要なのか、両方が必要なのかを決定してください。
認証のみが必要ですか。その場合は、手順2に進みます。
認可のみが必要ですか。その場合は、第10章「認可の構成」を参照してください。
認証および認可が必要ですか。その場合は、手順3に進みます。
メッセージ保護のみが必要ですか。その場合は、「セキュリティ・ポリシー - メッセージ保護のみ」を参照してください。
認証およびメッセージ保護の両方が必要ですか。その場合は、手順4に進みます。
認証のみが必要な場合は、考慮する必要のある基本的な質問が2つあります。
トークンをどこに組み込みますか。トランスポート・レイヤーとSOAPヘッダーのどちらにトークンを組み込みますか。
特定タイプのトークンを使用する必要がありますか。認証のみのポリシーでサポートされている資格証明は、ユーザー名/パスワード・トークン、SAMLトークンおよびKerberosトークンです。認証のみのポリシーの詳細は、第3.2.1項「認証のみのポリシー」を参照してください。
認証および認可が必要な場合は、次の内容を考慮する必要があります。
手順2で、認証に関して決定した内容を確認してください。
認可ポリシーの詳細は、第10章「認可の構成」を参照してください。
認証とメッセージ保護の両方が必要な場合は、次の内容を考慮する必要があります。
メッセージ保護をトランスポート・レイヤーで処理しますか。その場合は、Username over SSL、SAML over SSL (Sender-Vouches)、SAML over SSL (Token Bearer)、HTTP token over SSLの4つのポリシー・セットから選択します。Kerberos over SSLもカスタム・ポリシーにより使用可能です。
1つのポリシー・セット(wss_http_token_over_ssl_client_policyおよびwss_http_token_over_ssl_service_policy)では、認証もトランスポート・レイヤーで処理されます。その他3つのポリシーでは、認証はSOAPヘッダーで行われます。
WS-Security V1.0またはv1.1標準を使用している場合は、認証とメッセージ保護の両方がSOAPヘッダーで行われます。5組のポリシーで、ユーザー名/パスワード、SAML、X.509証明書およびKerberosのトークンがサポートされています。
詳細は、「セキュリティ・ポリシー - メッセージ保護および認証」を参照してください。
OWSMには様々な認証ポリシーが含まれており、どれが最適なものか明確でない場合があります。
表3-1では、選択された認証ポリシーとそれを使用すべき場面について説明します。表3-1では、ポリシー名はワイルドカードを使用して表示されています(たとえば、*username_token*は、名前にusername_tokenが含まれるすべてのポリシーを示します。)
表3-1 適切な認証ポリシーの選択
ポリシー・タイプ | 説明 |
---|---|
*username_token* |
これらのポリシーでは、クライアントはユーザー名とパスワードをWebサービスに送信する必要があります。クライアントは、資格証明ストアでパスワードを使用可能である必要があります。このタイプのポリシーは、クライアントが実際のエンド・ユーザー名とは異なるアプリケーション識別子を使用してWebサービスに接続する必要があるアイデンティティ切替えで便利です。これは、最も簡単な認可ポリシーであるため、多種多様なサード・パーティ・クライアントと互換性があります。 |
*saml* |
これらのポリシーでは、クライアントはユーザー名を含むSAMLアサーションを送信する必要があります。SAMLには、次に示すバリアントがあります。
|
SAML送信者保証は、最も使用されるポリシーに含まれるユーザー名トークンであるため、OWSMはoracle/wss_saml_or_username_token_service_policy
など、これら2つを組み合せるORグループ・ポリシーを提供します。多くの場合、Webサービスはこのポリシーを使用します。このポリシーは、グローバル・ポリシー・アタッチメントの候補でもあります。
OWSMは、次の3つのレベルの機密性と整合性を提供します。
機密性と整合性なし: 機密性と整合性には暗号化が必要です。これには、コンピュータ・リソースを消費します。ファイアウォール化されたプライベート・ネットワーク内のミドルウェア・サーバー間で交換されるメッセージでは、機密性および整合性に対する負担はありません。機密性と整合性を持たないOWSMポリシーは、ユーザー名トークンまたはSAMLを介した認証を提供します。
SSLベースの機密性と整合性: SSLはトランスポート・レベルの機密性と整合性を提供します。SSLによりHTTPSを使用するようエンドポイントを変更して、クライアントがHTTPSエンドポイントと対話できるようにする必要があります。
メッセージ・セキュリティ・ベースの機密性と整合性: メッセージ・セキュリティは、SSLよりパフォーマンスは低下しますが、次のいくつかの点でSSLよりも利点があります。
SSLとは異なり、メッセージがSSLの終了地点(ロード・バランサ、Oracle HTTP ServerまたはJ2EEコンテナなど)で保護されなくなっても、メッセージはメッセージ・セキュリティによりアプリケーションに到達するまでセキュアなままです。
SSLのセキュリティはコンテナ・レベルです。つまり、コンテナで実行されているすべてのWebサービスは、同一のキーを共有する必要があります。メッセージ・セキュリティでは、デフォルトではドメインで同一のキーを共有しますが、Webサービスごとにキーをオーバーライドできます。
OWSMでは、wss10とwss11の2つのリリースのメッセージ・セキュリティを提供しています。wss11はwss10を改善したもので、wss10ではすべてのクライアントがクライアント・キーを持つ必要がありましたが、wss11では必要ありません。(SAML送信者保証などの特定のポリシーでは、wss11でもクライアント・キーが必要です。)
また、wss11は必要とする非対称鍵の操作が少ないため、高速です。ただし、wss10は互換性の幅がより広く、一部のクライアントはwss10でのみ動作します。
wss10のみを使用できるクライアントをサポートする必要がある場合以外は、wss11のポリシーを使用してください。
次の項では、事前定義済セキュリティ・ポリシーを、提供するセキュリティのタイプと、ポリシーがトランスポート・レイヤーまたはSOAPヘッダーで実行されるかどうかに基づいてまとめています。事前定義済ポリシー・カテゴリの詳細は、『Oracle Web Services Managerの理解』のポリシー・カテゴリに関する項を参照してください。ポリシーの詳細は、第18章「事前定義済ポリシー」を参照してください。
次の認証のみのポリシーは、SOAPおよびRESTful Webサービス用に提供されています。
表3-3に、SOAPおよびRESTful Webサービスに対して認証のみを実行するセキュリティ・ポリシーをまとめます。
表3-2 認証のみのポリシー: SOAPおよびRESTful Webサービス
クライアント・ポリシー | サービス・ポリシー | 認証(トランスポート) |
---|---|---|
oracle/http_basic_auth_over_ssl_client_policy |
oracle/http_basic_auth_over_ssl_service_policy |
はい |
なし |
oracle/http_oam_token_service_policy |
はい |
oracle/http_saml20_token_bearer_client_policy |
oracle/http_saml20_token_bearer_service_policy |
はい |
oracle/http_saml20_token_bearer_over_ssl_client_policy |
oracle/http_saml20_bearer_token_over_ssl_service_policy |
はい |
次のいずれかをアタッチします。
HTTP OAMセキュリティをサポートするには、OAM Webgateを構成してリクエストをインターセプトする必要があります。詳細は、「oracle/multi_token_rest_service_policy」を参照してください。 |
oracle/multi_token_rest_service_policy |
はい |
次のいずれかをアタッチします。
HTTP OAMセキュリティをサポートするには、OAM Webgateを構成してリクエストをインターセプトする必要があります。詳細は、「oracle/multi_token_over_ssl_rest_service_policy」を参照してください。 |
oracle/multi_token_over_ssl_rest_service_policy |
はい |
表3-3に、SOAP Webサービスに対して認証のみを実行するセキュリティ・ポリシーをまとめ、トークンがトランスポート・レイヤーまたはSOAPヘッダーに組み込まれるかどうかを示します。
表3-3 認証のみのポリシー: SOAP Webサービスの場合のみ
表3-4に、メッセージ保護のみを実行するポリシーをまとめ、ポリシーがトランスポート・レイヤーまたはSOAPヘッダーで実行されるかどうかを示します。
表3-4 メッセージ保護のみのポリシー
クライアント・ポリシー | サービス・ポリシー | 認証(トランスポート) | 認証(SOAP) | メッセージ保護(トランスポート) | メッセージ保護(SOAP) |
---|---|---|---|---|---|
oracle/wss10_message_protection_client_policy |
oracle/wss10_message_protection_service_policy |
いいえ |
いいえ |
いいえ |
はい |
oracle/wss11_message_protection_client_policy |
oracle/wss10_message_protection_service_policy |
いいえ |
いいえ |
いいえ |
はい |
表3-5に、メッセージ保護と認証の両方を実行し、WS-Security 1.0または1.1標準に準拠しないポリシーをまとめます。表には、ポリシーがトランスポート・レイヤーまたはSOAPヘッダーで実行されるかどうかが示されます。
表3-5 メッセージ保護および認証のポリシー
表3-6に、認可を実行するセキュリティ・ポリシーをまとめ、ポリシーがトランスポート・レイヤーまたはSOAPヘッダーで実行されるかどうかを示します。
表3-6 認可のみのポリシー
クライアント・ポリシー | 認証(トランスポート) | 認証(SOAP) | メッセージ保護(トランスポート) | メッセージ保護(SOAP) |
---|---|---|---|---|
oracle/binding_authorization_denyall_policy |
いいえ |
はい |
いいえ |
いいえ |
oracle/binding_authorization_permitall_policy |
いいえ |
はい |
いいえ |
いいえ |
oracle/binding_permission_authorization_policy |
いいえ |
はい |
いいえ |
いいえ |
oracle/component_authorization_denyall_policy |
いいえ |
はい |
いいえ |
いいえ |
oracle/component_authorization_permitall_policy |
いいえ |
はい |
いいえ |
いいえ |
oracle/component_permission_authorization_policy |
いいえ |
はい |
いいえ |
いいえ |
oracle/whitelist_authorization_policy |
いいえ |
はい |
いいえ |
いいえ |
表3-7に、WS-Trustポリシーをまとめます。
表3-7 WS-Trustポリシー
クライアント・ポリシー | サービス・ポリシー | 認証(トランスポート) | 認証(SOAP) | メッセージ保護(トランスポート) | メッセージ保護(SOAP) |
---|---|---|---|---|---|
oracle/sts_trust_config_client_policy |
oracle/sts_trust_config_service_policy |
いいえ |
いいえ |
いいえ |
いいえ |
oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy |
oracle/wss_sts_issued_saml_bearer_token_over_ssl_service_policy |
はい |
いいえ |
はい |
いいえ |
oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policy |
oracle/wss11_sts_issued_saml_with_message_protection_client_policy |
いいえ |
はい |
いいえ |
はい |
oracle/wss11_sts_issued_saml_with_message_protection_client_policy |
いいえ |
はい |
いいえ |
はい |
現行のリリースに含まれるMTOMアタッチメント・ポリシーを次に示します。
次のことに注意してください。
(ローカルまたはグローバル・ポリシー・アタッチメントを介して)oracle/wsmtom_policy
ポリシーをアタッチすることによって、Fusion Middleware ControlからMTOMを構成する場合、リクエストがMTOMエンコードされていないと、エンドポイントはフォルトをスローします。MTOMポリシーは、MTOM形式ではないインバウンド・メッセージを拒否し、アウトバウンド・メッセージがMTOM形式であるかどうかを検証します。この使用方法の場合、リクエストはMTOM対応である必要があります。
oracle-webservices.xml
内のMTOM対応スイッチを編集したり、@MTOM
注釈をWebサービスに直接追加するなどして、Fusion Middleware Controlの外部でADF BC Webサービスに対してMTOMを構成する場合、エンドポイントはMTOMリクエストを受信できますが、リクエストがMTOMエンコードされていない場合にフォルトを返しません。この使用方法の場合、リクエストはMTOM対応の可能性がありますが、MTOM対応である必要はありません。
現行のリリースに含まれる信頼できるメッセージング・ポリシーを次に示します。
OWSMポリシーのサブセットのみがJava EE Webサービスでサポートされます。具体的には、WebLogic JAX-WS Webサービスに次のカテゴリのOWSMセキュリティ・ポリシーをアタッチできます。
認証のみ
メッセージ保護のみ
メッセージ保護および認証
認可
WS-Trust
WS-SecureConversation
次のカテゴリのOWSMポリシーは、現在WebLogic JAX-WS Webサービスでサポートされていません。
アトミック・トランザクション
構成
管理
MTOMアタッチメント
動作無効
信頼できるメッセージング
SOAP over JMSトランスポート
WS-Addressingポリシー
表3-8に示すように、OWSMセキュリティ・ポリシーのサブセットのみがRESTful Webサービスでサポートされます。
表3-8 RESTful WebサービスおよびクライアントでサポートされるOWSMセキュリティ・ポリシー
セキュリティ | サポートされているポリシー |
---|---|
認証ポリシー |
表3-2で定義された認証ポリシー |
認可 |
|
注意:
|
SSLの構成が必要な事前定義済ポリシーは次のとおりです。
oracle/wss_http_token_over_ssl_service_policy
oracle/wss_http_token_over_ssl_client_policy
oracle/wss_saml_token_bearer_over_ssl_server_policy
oracle/wss_saml_token_bearer_over_ssl_client_policy
oracle/wss_saml_token_over_ssl_service_policy
oracle/wss_saml_token_over_ssl_client_policy
oracle/wss_username_token_over_ssl_service_policy
oracle/wss_username_token_over_ssl_client_policy
さらに、次のテンプレートを使用して、SSLを必要とする新しいポリシーを作成できます。
oracle/wss_http_token_over_ssl_service_template
oracle/wss_http_token_over_ssl_client_template
oracle/wss_saml_token_bearer_over_ssl_service_template
oracle/wss_saml_token_bearer_over_ssl_client_template
oracle/wss_saml_token_over_ssl_service_template
oracle/wss_saml_token_over_ssl_client_template
oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_template
oracle/wss_sts_issued_saml_bearer_token_over_ssl_service_template
oracle/wss_username_token_over_ssl_service_template
oracle/wss_username_token_over_ssl_client_template
これらのアサーションおよびポリシーの詳細は、第19章「事前定義済アサーション・テンプレート」および第18章「事前定義済ポリシー」を参照してください。
双方向SSLの構成が必要な事前定義済ポリシーは次のとおりです。
oracle/wss_saml_token_over_ssl_client_policy
oracle/wss_saml_token_over_ssl_service_policy
oracle/wss_username_token_over_ssl_client_policy
(相互認証を選択した場合)
oracle/wss_username_token_over_ssl_service_policy
(相互認証を選択した場合)
oracle/wss_http_token_over_ssl_client_policy
(相互認証を選択した場合)
oracle/wss_http_token_over_ssl_service_policy
(相互認証を選択した場合)
さらに、次のテンプレートを使用して、双方向SSLを必要とする新しいポリシーを作成できます。
oracle/wss_saml_token_over_ssl_client_template
oracle/wss_saml_token_over_ssl_service_template
「OWSMによるアイデンティティ・コンテキストの伝播」で説明するように、OWSMはアイデンティティ・コンテキストの機能をサポートしています。
次のSAMLポリシーは、propagate.identity.context
構成プロパティをサポートしています。
oracle/http_saml20_token_bearer_service_policy
およびoracle/http_saml20_token_bearer_client_policy
oracle/http_saml20_token_bearer_over_ssl_service_policy
およびoracle/http_saml20_token_bearer_over_ssl_client_policy
oracle/wss_saml_or_username_token_service_policy
oracle/wss_saml_or_username_token_over_ssl_service_policy
oracle/wss_saml_token_bearer_over_ssl_service_policy
およびoracle/wss_saml_token_bearer_over_ssl_client_policy
oracle/wss_saml_token_over_ssl_service_policy
およびoracle/wss_saml_token_over_ssl_client_policy
oracle/wss_saml20_token_bearer_over_ssl_service_policy
およびoracle/wss_saml20_token_bearer_over_ssl_client_policy
oracle/wss_saml20_token_over_ssl_service_policy
およびoracle/wss_saml20_token_over_ssl_client_policy
oracle/wss10_saml_token_service_policy
およびoracle/wss10_saml_token_client_policy
oracle/wss10_saml_token_with_message_integrity_service_policy
およびoracle/wss10_saml_token_with_message_integrity_client_policy
oracle/wss10_saml_token_with_message_protection_service_policy
およびoracle/wss10_saml_token_with_message_protection_client_policy
oracle/wss10_saml_token_with_message_protection_ski_basic256_service_policy
およびoracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy
oracle/wss10_saml20_token_service_policy
およびoracle/wss10_saml20_token_client_policy
oracle/wss10_saml20_token_with_message_protection_service_policy
およびoracle/wss10_saml20_token_with_message_protection_client_policy
oracle/wss11_saml_token_with_message_protection_service_policy
およびoracle/wss11_saml_token_with_message_protection_client_policy
oracle/wss11_saml_or_username_token_with_message_protection_service_policy
oracle/wss11_saml20_token_with_message_protection_service_policy
およびoracle/wss11_saml20_token_with_message_protection_client_policy
OWSMには、デフォルトでWS-SecureConversationが有効化されている、次のポリシーが含まれています。
oracle/wss11_saml_token_with_message_protection_wssc_client_policy
oracle/wss11_saml_token_with_message_protection_wssc_service_policy
oracle/wss11_saml_token_with_message_protection_wssc_reauthn_client_policy
oracle/wss11_saml_token_with_message_protection_wssc_reauthn_service_policy
oracle/wss11_username_token_with_message_protection_wssc_client_policy
oracle/wss11_username_token_with_message_protection_wssc_service_policy
oracle/wss11_x509_token_with_message_protection_wssc_client_policy
oracle/wss11_x509_token_with_message_protection_wssc_service_policy
oracle/wss_username_token_over_ssl_wssc_client_policy
oracle/wss_username_token_over_ssl_wssc_service_policy
これらのポリシーに加え、多くの事前定義済アサーション・テンプレートに基づくポリシーがWS-SecureConversationをサポートしています。詳細は、第19章「事前定義済アサーション・テンプレート」を参照してください。