この章では、WebサービスおよびWebサービス・クライアントでポリシーを構成して、サービスのクオリティ(QoS)の要件を実現する方法を説明します。
事前定義済ポリシーは、付録B「事前定義済ポリシー」で説明されています。この付録は、ポリシーの形式に関する最も信頼性の高い情報源です。利便性を考慮して、この章でも付録の情報の一部を掲載しています。
この章では次の項について説明します。
次に示す一連の質問で、要件に最適なセキュリティ・ポリシーを確認できます。
セキュリティ・ポリシーの基本的な要件は何ですか。ユーザーのみを認証する必要があるのか、メッセージ保護のみが必要なのか、両方が必要なのかを決定してください。
認証のみが必要ですか。その場合は、ステップ2に進みます。
認可のみが必要ですか。その場合は、「認可ポリシーと構成手順」を参照してください。
認証および認可が必要ですか。その場合は、ステップ3に進みます。
メッセージ保護のみが必要ですか。その場合は、「メッセージ保護のみのポリシーと構成手順」を参照してください。
認証およびメッセージ保護の両方が必要ですか。その場合は、ステップ4に進みます。
認証のみが必要な場合は、考慮する必要のある基本的な質問が2つあります。
トークンをどこに組み込みますか。トランスポート・レイヤーとSOAPヘッダーのどちらにトークンを組み込みますか。
特定タイプのトークンを使用する必要がありますか。認証のみのポリシーでサポートされている資格証明は、ユーザー名/パスワード・トークン、SAMLトークンおよびKerberosトークンです。
認証および認可が必要な場合は、次の内容を考慮する必要があります。
ステップ2で、認証に関して決定した内容を確認してください。
認可ポリシーの詳細は、「認可ポリシーと構成手順」を参照してください。
認証とメッセージ保護の両方が必要な場合は、次の内容を考慮する必要があります。
メッセージ保護をトランスポート・レイヤーで処理しますか。その場合は、Username over SSL、SAML over SSL(Sender-Vouches)、SAML over SSL(Token Bearer)、HTTP token over SSLの4つのポリシー・セットから選択します。
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証明書のトークンがサポートされています。
詳細は、「メッセージ保護および認証ポリシーと構成手順」を参照してください。
メッセージ保護では、メッセージ機密保護のためのメッセージの暗号化と、メッセージ整合性のためのメッセージへの署名が行われます。Oracle Fusion Middlewareの事前定義済ポリシーと、メッセージ保護アサーション・テンプレートのいずれかを使用して作成するポリシーには、メッセージ機密保護かメッセージ整合性、あるいはその両方のオプションがあります。
次の手順は、メッセージが保護されるよう、クライアントおよびサービスを構成するために実行が必要な操作をまとめたものです。
適切なメッセージ保護ポリシーをクライアントおよびサービスのそれぞれに添付します。
メッセージ整合性が必要な場合には、メッセージに署名する必要があります。
メッセージ機密保護が必要な場合には、メッセージを暗号化する必要があります。
必要な公開鍵と秘密鍵を、クライアントおよびサービスのキーストアに追加します。この手順を実行するには、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを構成しておく必要があります。
メッセージ保護には、メッセージ機密保護とメッセージ整合性の2つの概念があります。
メッセージの機密保護には、送信ユーザーと受信ユーザーのIDのみならずデータの機密性も関係します。メッセージのコンテンツを暗号化し、送信ユーザーと受信ユーザーのIDを不明瞭化することで機密保護が実現されます。送信者は受信者の公開鍵を使用してメッセージを暗号化します。メッセージは受信者の秘密鍵でのみ正常に復号化できるため、送信中に第三者によってメッセージが読み取られることはありません。「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
メッセージ整合性は、認証局がメッセージにデジタルで署名することにより実現します。デジタル署名は、SOAPメッセージの送信者を認証したり、SOAPメッセージの整合性(SOAPメッセージが送信中に変更されていないこと)を保証したりするために使用されます。
デジタル署名がSOAPメッセージに適用されると、メッセージから一意のハッシュが生成されます。このハッシュは送信者の秘密鍵で暗号化されます。メッセージを受信すると、受信者は送信者の公開鍵を使用してハッシュを復号化します。
注意: 通常、証明書を検証するために受信者のキーストアに送信者の公開鍵を格納しておく必要はありません。キーストアにルート証明書があれば、証明書チェーンを検証できます。ただし、ThumbprintやSerialIssuerメカニズムなど、メッセージに送信者の公開鍵が存在しない場合は、送信者の公開鍵を受信者のキーストアに格納する必要があります。 |
送信者のみが秘密鍵を使用してハッシュを暗号化できるため、これで送信者を認証できます。また、受信者はメッセージとともに送信されるハッシュと、受信者側で生成するハッシュを比較できるため、SOAPメッセージが送信中に改ざんされていないことを証明できます。
次の内容を実行することで、メッセージ保護アサーション・テンプレートおよび事前定義済ポリシーを、リクエストやレスポンス・メッセージの保護に使用できます。
メッセージの署名
メッセージの暗号化
署名およびメッセージの暗号化
メッセージの復号化
署名の検証
メッセージの復号化と署名の検証
事前定義済メッセージ保護ポリシー用のFusion Middleware Controlユーザー・インタフェースでは、署名、暗号化またはその両方を行うメッセージ部分を簡単に指定できます。本文全体、アイデンティティ固有のヘッダー要素や本文要素に対して署名、暗号化またはその両方を行うことができます。次に示すのは、部分暗号化の例です。
この例では、SOAPメッセージの一部がFusion Middleware Controlを使用して暗号化されています。
クレジット・カード番号(cardNr)を承認する簡単なWebサービスを作成します。例11-1にペイロードのサンプル・コードを示します。
例11-1 ペイロードの例
<soapenv:Body wsu:Id="Body-2grW1pYwjwsoskbLuMJZzg22" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ws security-utility-1.0.xsd"> <aaav:validateTheCard xmlns:aaav="http://aaavalidatecred/"> <aaav:cardNr>string</aaav:cardNr> <aaav:firstName>string</aaav:firstName> <aaav:lastName>string</aaav:lastName> <aaav:validUntilDate>string</aaav:validUntilDate> </aaav:validateTheCard> </soapenv:Body>
Fusion Middleware Controlで、メッセージ保護ポリシーを選択し、「編集」をクリックします。
「設定」タブで、「リクエスト」タブを選択します。
「メッセージの暗号化設定」セクションで、「本体全体を含める」を選択解除します(図11-1)。
「本文要素」を展開して「追加」をクリックします。
「ネームスペース」と「要素名」に入力します。この例では、次のようにカード番号のみ暗号化されています。
ネームスペース = http://aaavalidatecred/
要素名 = //aaav:cardNr
「ポリシーの編集」ページ内の他のフィールドの詳細は、表C-91を参照してください。例11-2は、ポリシーとはどのようなものであるかを示したサンプル・コードです。
本文要素を追加するには「はい」を、変更したポリシーを保存するには「保存」をクリックします。
次のポリシーでメッセージ保護が行われます。この章の後半部分にあるポリシーごとの項では、各ポリシーでどのようにメッセージ保護が実装されるかについて説明しています。
oracle/wss10_message_protection_client_policy
oracle/wss10_message_protection_service_policy
oracle/wss10_username_id_propagation_with_msg_protection_client_policy
oracle/wss10_username_id_propagation_with_msg_protection_service_policy
oracle/wss10_username_token_with_message_protection_client_policy
oracle/wss10_username_token_with_message_protection_service_policy
oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy
oracle/wss10_username_token_with_message_protection_ski_basic256_service_policy
oracle/wss10_x509_token_with_message_protection_client_policy
oracle/wss10_x509_token_with_message_protection_service_policy
oracle/wss10_saml_token_with_message_protection_client_policy
oracle/wss10_saml_token_with_message_protection_service_policy
oracle/wss10_saml20_token_with_message_protection_client_policy
oracle/wss10_saml20_token_with_message_protection_service_policy
oracle/wss10_saml_hok_token_with_message_protection_client_policy
oracle/wss10_saml_hok_token_with_message_protection_service_policy
oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy
oracle/wss10_saml_token_with_message_protection_ski_basic256_service_policy
oracle/wss11_message_protection_client_policy
oracle/wss11_message_protection_service_policy
oracle/wss11_kerberos_token_with_message_protection_client_policy
oracle/wss11_kerberos_token_with_message_protection_service_policy
oracle/wss11_kerberos_token_with_message_protection_basic128_client_policy
oracle/wss11_kerberos_token_with_message_protection_basic128_service_policy
oracle/wss11_saml_token_with_message_protection_client_policy
oracle/wss11_saml_token_with_message_protection_service_policy
oracle/wss11_saml20_token_with_message_protection_client_policy
oracle/wss11_saml20_token_with_message_protection_service_policy
oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policy
oracle/wss11_sts_issued_saml_hok_with_message_protection_service_policy
oracle/wss11_sts_issued_saml_with_message_protection_client_policy
oracle/wss11_username_token_with_message_protection_client_policy
oracle/wss11_username_token_with_message_protection_service_policy
oracle/wss11_x509_token_with_message_protection_client_policy
oracle/wss11_x509_token_with_message_protection_service_policy
WS-Security 1.0およびWS-Security 1.1標準の両方がサポートされています。Webサービスとクライアントの両方が共通して共有する標準をサポートしているアサーション・テンプレートまたは事前定義済ポリシーを使用します。新たに開始する場合は、オプションの数が多く、必要なPKIデプロイメントが少ないため、WS-Security 1.1標準を使用します。
アサーション・テンプレートでは、メッセージ本文の完全な署名および暗号化だけでなく、部分的な署名および暗号化もサポートされています。SOAPメッセージ保護が可能なアサーション・テンプレートまたは事前定義済ポリシーの場合、デフォルトの動作はSOAPメッセージ本文全体を署名および暗号化して保護することです。必要な場合には、選択した要素を保護するように、アサーションおよびポリシーを構成できます。
付録B「事前定義済ポリシー」の表B-1に、認証のみを実行するセキュリティ・ポリシーをまとめ、トークンがトランスポート・レイヤーまたはSOAPヘッダーに組み込まれるかどうかを示します。
この項では、認証のみの事前定義済ポリシー、ポリシーが適用されるWebサービスのタイプ、およびポリシーを使用するために実行する必要がある構成手順へのリンクを示します。
oracle/wss_http_token_client_policyポリシーは、アウトバウンド・クライアント・リクエストのHTTPヘッダーに資格証明を含めます。このポリシーは、oracle/wss_http_token_service_policyサービス・エンドポイント・ポリシーに類似したクライアント・ポリシーです。
このポリシーには、oracle/wss_http_token_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_http_token_client_template」を参照してください。
「構成」ページでcsf-keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
この値は、ユーザー名/パスワードにマッピングされているキーを表しています。キーを資格証明ストアに追加する方法については、「資格証明ストア・プロバイダの構成」を参照してください。
「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。「Webサービス・クライアントに関するSSLの構成」を参照してください。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
クライアントは、HTTPヘッダーに資格証明を渡す必要があります。
「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。「Webサービス・クライアントに関するSSLの構成」を参照してください。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
このwss_http_token_service_policyでは、HTTPヘッダーの資格証明を使用して、ユーザーを認証します。
このポリシーには、oracle/wss_http_token_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_http_token_service_template」を参照してください。
Webサービスは、提供されたユーザー名とパスワードの資格証明を、構成済の認証ソースに対して認証する必要があります。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに認証プロバイダを追加します。
相互SSL認証の場合、WebLogic Serverを構成する必要があります。「WebLogic ServerへのSSLの構成(双方向)」を参照してください。
注意: このポリシーは安全ではなく、デモの目的でのみ提供されます。パスワードはクリア・テキストで送信されます。 |
このポリシーは、すべてのアウトバウンドSOAPリクエスト・メッセージにWS-Security UsernameTokenヘッダーの資格証明を含めます。パスワードが不要であるのみならず、プレーン・テキスト・メカニズムもサポートしています。このポリシーは、oracle/wss_username_token_service_policyサービス・エンドポイント・ポリシーに類似したクライアント・ポリシーです。
このポリシーには、oracle/wss_username_token_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_username_token_client_template」を参照してください。
「構成」ページでcsf-keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
この値は、ユーザー名/パスワードにマッピングされているキーを表しています。キーを資格証明ストアに追加する方法については、「資格証明ストア・プロバイダの構成」を参照してください。
「設定」ページでパスワード・タイプを「なし」に指定した場合、キーにパスワードを含める必要はありません。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
クライアントは、SOAPリクエスト・メッセージにWS-Security UsernameToken要素(<wsse:UsernameToken/>)を含める必要があります。また、クライアントは、認証用にユーザー名とパスワードを提供します。
注意: このポリシーは安全ではなく、デモの目的でのみ提供されます。パスワードはクリア・テキストで送信されます。 |
このポリシーは、UsernameToken WS-Security SOAPヘッダーの資格証明を使用してユーザーを認証します。プレーン・テキスト・メカニズムがサポートされています。
このポリシーには、oracle/wss_username_token_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_username_token_service_template」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
注意: このポリシーは安全ではなく、デモの目的でのみ提供されます。SAML発行者の名前は存在しますが、SAMLトークンは署名されません。そのため、メッセージの改ざんが可能です。 |
このポリシーには、アウトバウンドSOAPリクエスト・メッセージのSAMLトークンが含まれます。
このポリシーには、oracle/wss10_saml_token_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml_token_client_template」を参照してください。
「SAMLの構成」を参照してください。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
アウトバウンドSOAPメッセージに、SAMLトークンを挿入するWS-Securityヘッダー要素(<saml:Assertion>)を含めます。確認タイプは、常にsender-vouchesです。
注意: このポリシーは安全ではなく、デモの目的でのみ提供されます。SAML発行者の名前は存在しますが、SAMLトークンは署名されません。そのため、メッセージの改ざんが可能です。 |
このポリシーは、WS-Security SOAPヘッダーのSAMLトークンに含まれる資格証明を使用してユーザーを認証します。
このポリシーには、oracle/wss10_saml_token_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml_token_service_template」を参照してください。
saml.loginmoduleログイン・モジュールを構成します。詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
Oracle Platform Security Services (OPSS)の設定方法
「SAMLの構成」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、NameCallbackを介してそれをプロバイダに渡します。
注意: このポリシーは安全ではなく、デモの目的でのみ提供されます。SAML発行者の名前は存在しますが、SAMLトークンは署名されません。そのため、メッセージの改ざんが可能です。 |
このポリシーには、アウトバウンドSOAPリクエスト・メッセージのSAMLトークンが含まれます。
このポリシーには、oracle/wss10_saml20_token_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml20_token_client_template」を参照してください。
「SAMLの構成」を参照してください。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
アウトバウンドSOAPメッセージに、SAMLトークンを挿入するWS-Securityヘッダー要素(<saml:Assertion>)を含めます。確認タイプは、常にsender-vouchesです。
注意: このポリシーは安全ではなく、デモの目的でのみ提供されます。SAML発行者の名前は存在しますが、SAMLトークンは署名されません。そのため、メッセージの改ざんが可能です。 |
このポリシーは、WS-Security SOAPヘッダーのSAMLトークンに含まれる資格証明を使用してユーザーを認証します。
このポリシーには、oracle/wss10_saml20_token_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml20_token_service_template」を参照してください。
saml2.loginmoduleログイン・モジュールを構成します。詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
Oracle Platform Security Services (OPSS)の設定方法
「SAMLの構成」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、NameCallbackを介してそれをプロバイダに渡します。
このポリシーでは、WS-Security Kerberos Token Profile v1.1標準に従い、WS-SecurityヘッダーにKerberosトークンが含まれます。
サービス・プリンシパル名(SPN)は、Kerberos認証のキー・コンポーネントです。SPNは、サーバー上で動作するサービスの一意の識別子です。Kerberos認証を使用するすべてのサービスにSPNを設定し、クライアントがネットワーク上のサービスを識別できるようにする必要があります。サービスにSPNが設定されていない場合、クライアントではそのサービスを特定できないため、Kerberos認証を使用できなくなります。
このポリシーには、oracle/wss11_kerberos_token_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_kerberos_token_with_message_protection_client_template」を参照してください。
「Kerberosトークンの使用」を参照してください。
Kerberosクライアント側ポリシーを実行するWebサービス・クライアントは、アクセスを試行するサービスのサービス・プリンシパル名を認識している必要があります。「構成」ページでservice.principal.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。デフォルト値(プレースホルダ)は、HOST/localhost@oracle.comです。
「Kerberosトークンの使用」を参照してください。
サービス・プリンシパル名を設定する必要があります。サービス・プリンシパル名は、クライアントがKDCにリクエストするチケットに対応するサービス・プリンシパルの名前を指定します。
Kerberos認証が成功した場合、取得されたKerberosチケットと認証プロバイダを、SOAPセキュリティ・ヘッダーのBinarySecurityToken要素で囲まれたWebサービスに送信します。
このポリシーは、WS-Security Kerberos Token Profile v1.1標準に従って実行されます。
サービス・プリンシパル名(SPN)は、Kerberos認証のキー・コンポーネントです。SPNは、サーバー上で動作するサービスの一意の識別子です。Kerberos認証を使用するすべてのサービスにSPNを設定し、クライアントがネットワーク上のサービスを識別できるようにする必要があります。サービスにSPNが設定されていない場合、クライアントではそのサービスを特定できないため、Kerberos認証を使用できなくなります。
このポリシーには、oracle/wss11_kerberos_token_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_kerberos_token_with_message_protection_service_template」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
事前定義済ポリシーによるメッセージ保護の実装方法については、「メッセージの保護」を参照してください。
表B-2に、メッセージ保護のみを実行するポリシーをまとめ、ポリシーがトランスポート・レイヤーまたはSOAPヘッダーで実行されるかどうかを示します。
メッセージ保護のみのポリシーは、リクエスタの認証または認可を行いません。
ポリシー・サブジェクトに添付されるセキュリティ・ポリシーは1つまたは2つです。セキュリティ・ポリシーに含めることができるのは、(このケースでは)認証またはメッセージ保護のサブタイプ・カテゴリに属するアサーションか、両方のサブタイプ・カテゴリに属する1つのアサーションです。また、認可サブタイプに属するアサーションを使用して、リクエスタを認可できます。
このポリシーは、WS-Security 1.0標準に従って、アウトバウンドSOAPリクエストのメッセージ保護(整合性と機密保護)を行います。
このポリシーには、oracle/wss10_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_message_protection_client_policy」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。keystore.recipient.aliasは、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-3 SOAPメッセージに関するWS-Security 1.0仕様メッセージ完全性
<dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> <dsig:SignedInfo> <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <dsig:Reference URI="#Timestamp-..."> <dsig:Transforms> <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <dsig:DigestValue>...</dsig:DigestValue> </dsig:Reference> <dsig:Reference URI="#Body-..."> <dsig:Transforms> <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <dsig:DigestValue>...</dsig:DigestValue> </dsig:Reference> <dsig:Reference URI="#KeyInfo-..."> <dsig:Transforms> <dsig:Transform Algorithm="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform"> <TransformationParameters xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns="http://www.w3.org/2000/09/xmldsig#"/> </TransformationParameters> </dsig:Transform> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <dsig:DigestValue>...</dsig:DigestValue> </dsig:Reference> </dsig:SignedInfo> <dsig:SignatureValue>....</dsig:SignatureValue> <dsig:KeyInfo Id="KeyInfo-..."> <wsse:SecurityTokenReference xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"> ...</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </dsig:KeyInfo> </dsig:Signature>
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
例11-4 SOAPメッセージのWS-Security 1.0メッセージ機密保護
<env:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Body-JA9fsCRnqbFJ0ocBAMKb7g22"> <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Content" Id="..."> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/> <xenc:CipherData> <xenc:CipherValue>...</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </env:Body>
このポリシーは、WS-Security 1.0標準に従って、インバウンドSOAPリクエストのメッセージ保護(整合性と機密保護)を実行します。
メッセージは、WS-Securityの非対称鍵テクノロジのBasic 128スイートを使用して保護されます。具体的には、メッセージ機密保護にはRSA鍵メカニズム、メッセージ整合性にはSHA-1ハッシュ・アルゴリズムが使用され、AES-128ビット暗号化も使用されます。このポリシーは、リクエスタの認証または認可を行いません。
このポリシーには、oracle/wss10_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_message_protection_service_template」を参照してください。
表C-20を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
このポリシーは、WS-Security 1.1標準に従って、アウトバウンドSOAPリクエストのメッセージの整合性と機密保護を提供します。
このポリシーには、oracle/wss11_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_message_protection_client_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
このポリシーは対称鍵テクノロジを使用します。このテクノロジは、データの暗号化と復号化に同じ共有鍵を使用する暗号化メソッドです。対称鍵は、メッセージへの署名に使用されます。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-5に、WS-Security 1.1標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
例11-5 SOAPメッセージのWS-Security 1.1メッセージ機密保護
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="EK-..."> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" /> </xenc:EncryptionMethod> <dsig:KeyInfo xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> <wsse:SecurityTokenReference xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">...</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </dsig:KeyInfo> <xenc:CipherData> <xenc:CipherValue>...</xenc:CipherValue> </xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI="#_..." /> </xenc:ReferenceList> </xenc:EncryptedKey> <env:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Body-..."> <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Content" Id="..."> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" /> <dsig:KeyInfo xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> <wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:Reference URI="#EK-..." ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" /> </wsse:SecurityTokenReference> </dsig:KeyInfo> <xenc:CipherData> <xenc:CipherValue>...</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </env:Body>
このポリシーは、WS-Security 1.1標準に従って、インバウンドSOAPリクエストのメッセージの整合性と機密保護を保証します。
このポリシーには、oracle/wss11_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_message_protection_service_template」を参照してください。
表C-23を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
表B-3に、メッセージ保護および認証の両方を実行するポリシーをまとめ、ポリシーがトランスポート・レイヤーまたはSOAPヘッダーで実行されるかどうかを示します。これらのポリシーは、後続の項で説明されています。
事前定義済ポリシーによるメッセージ保護の実装方法については、「メッセージの保護」を参照してください。
oracle/wss11_saml_or_username_token_with_message_protection_service_policyおよびoracle/wss_saml_or_username_token_over_ssl_service_policyポリシーにはアサーションがORグループとして含まれています。つまり、クライアントはどちらのタイプのアサーションでも実行できます。
さらに、「ポリシーへのORグループの追加」で説明されているように、選択したポリシーにORグループを追加できます。
oracle/wss11_saml_or_username_token_with_message_protection_service_policyポリシーには次のアサーションが含まれます。
oracle/wss11_saml_token_with_message_protection_service_template。ポリシーの構成の詳細は、「oracle/wss11_saml_token_with_message_protection_service_policy」を参照してください。
oracle/wss11_username_token_with_message_protection_service_template。ポリシーの構成の詳細は、「oracle/wss11_username_token_with_message_protection_service_policy」を参照してください。
oracle/wss_saml_or_username_token_over_ssl_service_policyポリシーには次のアサーションが含まれます。
oracle/wss_saml_token_over_ssl_service_template。ポリシーの構成に関する詳細は、「oracle/wss_saml_token_over_ssl_service_policy」を参照してください。
oracle/wss_username_token_over_ssl_service_template。ポリシーの構成に関する詳細は、「oracle/wss_username_token_over_ssl_service_policy」を参照してください。
このポリシーは、アウトバウンド・クライアント・リクエストのHTTPヘッダーに資格証明を含めます。
また、このポリシーは、トランスポート・プロトコルがHTTPSであることを検証します。HTTPS以外のトランスポート・プロトコルを介するリクエストは拒否されます。このポリシーは、HTTPベースのすべてのエンドポイントに適用できます。
注意: 現在サポートされているのはHTTP Basic認証のみです。 |
このポリシーには、oracle/wss_http_token_over_ssl_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_http_token_over_ssl_client_template」を参照してください。
「構成」ページでcsf-keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
この値は、ユーザー名/パスワードにマッピングされているキーを表しています。キーを資格証明ストアに追加する方法については、「資格証明ストア・プロバイダの構成」を参照してください。
「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。「Webサービス・クライアントに関するSSLの構成」を参照してください。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
クライアントは、HTTPヘッダーに資格証明を渡す必要があります。
「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。「Webサービス・クライアントに関するSSLの構成」を参照してください。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
このポリシーは、HTTPヘッダーの資格証明を抽出し、ユーザーを認証します。
このポリシーは、トランスポート・プロトコルがHTTPSであることを検証します。HTTPS以外のトランスポート・プロトコルを介するリクエストは拒否されます。このポリシーは、HTTPベースのすべてのエンドポイントに適用できます。
注意: 現在サポートされているのはHTTP Basic認証のみです。 |
このポリシーには、oracle/wss_http_token_over_ssl_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_http_token_over_ssl_service_template」を参照してください。
「WebLogic ServerへのSSLの構成(一方向)」の説明に従ってSSLを構成します。ただし、「相互認証を許可」がオンの場合は、「WebLogic ServerへのSSLの構成(双方向)」の説明に従ってSSLを構成します。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
このポリシーには、アウトバウンドSOAPリクエスト・メッセージのSAMLトークンが含まれます。確認方法がBearerのSAMLトークンが自動的に作成されます。
このポリシーには、oracle/wss_saml_token_bearer_over_ssl_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_saml_token_bearer_over_ssl_client_template」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
「Webサービス・クライアントに関するSSLの構成」で説明されているように、「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
「Webサービス・クライアントに関するSSLの構成」で説明されているように、「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
このポリシーは、WS-Security SOAPヘッダーの、確認方法がBearerのSAMLトークンに含まれる資格証明を使用してユーザーを認証します。
このポリシーには、oracle/wss_saml_token_bearer_over_ssl_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_saml_token_bearer_over_ssl_service_template」を参照してください。
「SAMLの構成」を参照してください。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
SSLを構成するには、「WebLogic ServerへのSSLの構成(一方向)」を参照してください。ただし、「相互認証が必要」がオンの場合は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。
このポリシーには、アウトバウンドSOAPリクエスト・メッセージのSAMLトークンが含まれます。確認方法がBearerのSAMLトークンが自動的に作成されます。
このポリシーには、oracle/wss_saml20_token_bearer_over_ssl_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_saml20_token_bearer_over_ssl_client_template」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
「Webサービス・クライアントに関するSSLの構成」で説明されているように、「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
「Webサービス・クライアントに関するSSLの構成」で説明されているように、「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
このポリシーは、WS-Security SOAPヘッダーの、確認方法がBearerのSAMLトークンに含まれる資格証明を使用してユーザーを認証します。
このポリシーには、oracle/wss_saml20_token_bearer_over_ssl_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_saml20_token_bearer_over_ssl_service_template」を参照してください。
「SAMLの構成」を参照してください。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
SSLを構成するには、「WebLogic ServerへのSSLの構成(一方向)」を参照してください。ただし、「相互認証が必要」がオンの場合は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。
このポリシーは、WS-Security SOAPヘッダーのSAMLトークンに含まれる資格証明の認証を可能にします。
このポリシーには、oracle/wss_saml_token_over_ssl_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_saml_token_over_ssl_client_template」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
「Webサービス・クライアントに関するSSLの構成」で説明されているように、「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
「Webサービス・クライアントに関するSSLの構成」で説明されているように、「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
このポリシーは、WS-Security SOAPヘッダーのSAMLトークンに含まれる資格証明の認証を実行します。
このポリシーには、oracle/wss_saml_token_over_ssl_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_saml_token_over_ssl_service_template」を参照してください。
saml.loginmoduleログイン・モジュールを構成します。詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
Oracle Platform Security Services (OPSS)の設定方法
「SAMLの構成」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
SSLを構成するには、「WebLogic ServerへのSSLの構成(一方向)」を参照してください。ただし、「相互認証が必要」がオンの場合は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。
このポリシーは、WS-Security SOAPヘッダーのSAMLトークンに含まれる資格証明の認証を可能にします。
このポリシーには、oracle/wss_saml20_token_over_ssl_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_saml20_token_over_ssl_client_template」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
「Webサービス・クライアントに関するSSLの構成」で説明されているように、「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
「Webサービス・クライアントに関するSSLの構成」で説明されているように、「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
このポリシーは、WS-Security SOAPヘッダーのSAMLトークンに含まれる資格証明の認証を実行します。
このポリシーには、oracle/wss_saml_token_over_ssl_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_saml20_token_over_ssl_service_template」を参照してください。
saml2.loginmoduleログイン・モジュールを構成します。詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
Oracle Platform Security Services (OPSS)の設定方法
「SAMLの構成」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
SSLを構成するには、「WebLogic ServerへのSSLの構成(一方向)」を参照してください。ただし、「相互認証が必要」がオンの場合は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。
このポリシーは、アウトバウンドSOAPリクエスト・メッセージにWS-Security UsernameTokenヘッダーの資格証明を含めます。プレーン・テキスト・メカニズムがサポートされています。また、このポリシーは、トランスポート・レイヤー・セキュリティを実現するためにSSLを使用します。
このポリシーには、oracle/wss_username_token_over_ssl_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_username_token_over_ssl_client_template」を参照してください。
「Webサービス・クライアントに関するSSLの構成」で説明されているように、「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
「構成」ページでcsf-keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
この値は、ユーザー名/パスワードにマッピングされているキーを表しています。キーを資格証明ストアに追加する方法については、「資格証明ストア・プロバイダの構成」を参照してください。
「設定」ページでパスワード・タイプを「なし」に指定した場合、キーにパスワードを含める必要はありません。
クライアントは、SOAPリクエスト・メッセージにWS-Security UsernameToken要素(<wsse:UsernameToken/>)を含める必要があります。また、クライアントは、認証用にユーザー名とパスワードを提供します。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
「相互認証が必要」コントロールを設定しない場合、一方向SSLが含まれます。「Webサービス・クライアントに関するSSLの構成」を参照してください。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
このポリシーは、UsernameToken WS-Security SOAPヘッダーの資格証明を使用してユーザーを認証します。プレーン・テキスト・メカニズムがサポートされています。
このポリシーには、oracle/wss_username_token_over_ssl_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_username_token_over_ssl_service_template」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
ユーザー名とパスワードが存在し、有効になっている必要があります。
SSLを構成するには、「WebLogic ServerへのSSLの構成(一方向)」を参照してください。ただし、「相互認証が必要」がオンの場合は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったアウトバウンドSOAPメッセージのSAML鍵所有者ベースの認証を行います。
このポリシーには、oracle/wss10_saml_hok_token_with_message_integrity_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml_hok_token_with_message_protection_service_template」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
鍵所有者アサーションを含むファイルを指し示すように、saml.assertion.filenameプロパティをオーバーライドします。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
鍵所有者アサーションを含むファイルを指し示すように、saml.assertion.filenameプロパティをオーバーライドします。オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったインバウンドSOAPリクエストのSAML鍵所有者ベースの認証を行います。
このポリシーには、oracle/wss10_saml_hok_token_with_message_integrity_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml_hok_token_with_message_protection_service_template」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
Oracle Platform Security Services (OPSS)の設定方法
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
注意: 期限切れの証明書が存在する場合は、この証明書が参照されるかどうかに関係なく、CertificateExpiredExceptionが返されます。この例外を解決するには、期限切れの証明書をキーストアから削除します。 |
SAML認証局の信頼できる証明書をキーストアに格納します。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
このポリシーは、メッセージ・レベルの整合性と、WS-Security 1.0標準に従ったアウトバウンドSOAPメッセージのSAMLベースの認証を実現します。
このポリシーには、oracle/wss10_saml_token_with_message_integrity_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml20_token_with_message_protection_client_template」を参照してください。
「SAMLの構成」を参照してください。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「構成」ページでuser.roles.includeの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
アウトバウンドSOAPメッセージに、SAMLトークンを挿入するWS-Securityヘッダー要素(<saml:Assertion>)を含めます。確認タイプは、常にsender-vouchesです。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
このポリシーは、メッセージ・レベルの整合性の保護と、WS-Security 1.0標準に従ったインバウンドSOAPリクエストのSAMLベースの認証を行います。
このポリシーには、oracle/wss10_saml_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml_token_with_message_protection_service_template」を参照してください。
表C-51を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
saml.loginmoduleログイン・モジュールを構成します。詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
Oracle Platform Security Services (OPSS)の設定方法
「SAMLの構成」を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったアウトバウンドSOAPメッセージのSAMLベースの認証を行います。
このポリシーには、oracle/wss10_saml_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml_token_with_message_protection_client_template」を参照してください。
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「構成」ページでuser.roles.includeの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったインバウンドSOAPリクエストのSAMLベースの認証を行います。
このポリシーには、oracle/wss10_saml_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml_token_with_message_protection_service_template」を参照してください。
表C-48を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
Oracle Platform Security Services (OPSS)の設定方法
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったアウトバウンドSOAPメッセージのSAMLベースの認証を行います。
このポリシーには、oracle/wss10_saml20_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml20_token_with_message_protection_client_template」を参照してください。
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「構成」ページでuser.roles.includeの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったインバウンドSOAPリクエストのSAMLベースの認証を行います。
このポリシーには、oracle/wss10_sam20l_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml20_token_with_message_protection_service_template」を参照してください。
表C-51を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
Oracle Platform Security Services (OPSS)の設定方法
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったアウトバウンドSOAPメッセージのSAMLベースの認証を行います。
このポリシーは、リクエスト内の暗号化キーと、レスポンス内の署名と暗号化キーの両方に対して、サブジェクト・キー識別子(ski)参照メカニズムを使用します。
このポリシーには、oracle/wss10_saml_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml_token_with_message_protection_client_template」を参照してください。
注意: 一部の国については輸入規制があるために、JDK 5.0ソフトウェアに付属して配布されるJurisdiction Policyファイルには、入手可能な暗号化強度に関する制限事項が組み込まれています。デフォルトでは、basic192以降のアルゴリズムを使用するポリシーは、バンドル版のJRE/JDKでは動作しません。このアルゴリズムを使用するには、JCE Extensionのjar (Java Cryptography Extension (JCE)無制限強度管轄ポリシー・ファイル5.0)ファイルを、 これらのポリシー・ファイルを使用するには、次に示す
置き換える前に、既存のJARファイルのバックアップをとっておくことをお薦めします。 |
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「構成」ページでuser.roles.includeの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったインバウンドSOAPリクエストのSAMLベースの認証を行います。
このポリシーは、リクエスト内の暗号化キーと、レスポンス内の署名と暗号化キーの両方に対して、サブジェクト・キー識別子(ski)参照メカニズムを使用します。
このポリシーには、oracle/wss10_saml_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_saml_token_with_message_protection_service_template」を参照してください。
注意: 一部の国については輸入規制があるために、JDK 5.0ソフトウェアに付属して配布されるJurisdiction Policyファイルには、入手可能な暗号化強度に関する制限事項が組み込まれています。デフォルトでは、basic192以降のアルゴリズムを使用するポリシーは、バンドル版のJRE/JDKでは動作しません。このアルゴリズムを使用するには、JCE Extensionのjar (Java Cryptography Extension (JCE)無制限強度管轄ポリシー・ファイル5.0)ファイルを、 これらのポリシー・ファイルを使用するには、次に示す
置き換える前に、既存のJARファイルのバックアップをとっておくことをお薦めします。 |
表C-48を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
Oracle Platform Security Services (OPSS)の設定方法
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、キーストアを設定する必要があります。ski参照メカニズムを使用するときは、OpenSSLなどのユーティリティを使用して証明書を作成します。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
このポリシーは、メッセージ・レベルの保護(整合性と機密保護)、およびWS-Security 1.0標準に従ったアウトバウンドSOAPリクエストのアイデンティティ伝播を行います。
このポリシーには、oracle/wss10_username_id_propagation_with_msg_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_username_token_with_message_protection_client_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
クライアントは、SOAPリクエスト・メッセージにWS-Security UsernameToken要素(<wsse:UsernameToken/>)を含める必要があります。また、クライアントは、認証用にユーザー名とパスワードを提供します。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
このポリシーは、メッセージ・レベルの保護(整合性と機密保護)、およびWS-Security 1.0で記述されるメカニズムを使用してインバウンドSOAPリクエストへのアイデンティティ伝播を行います。
このポリシーには、oracle/wss10_username_id_propagation_with_msg_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_username_token_with_message_protection_service_template」を参照してください。
表C-55を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
Oracle Platform Security Services (OPSS)の設定方法
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
このポリシーは、メッセージ・レベルの保護(メッセージの整合性と機密保護)、およびWS-Security 1.0標準に従ったアウトバウンドSOAPリクエストの認証を行います。
このポリシーには、oracle/wss10_username_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_username_token_with_message_protection_client_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでcsf-keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
この値は、ユーザー名/パスワードにマッピングされているキーを表しています。キーを資格証明ストアに追加する方法については、「資格証明ストア・プロバイダの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
このポリシーは、メッセージ・レベルの保護(メッセージの整合性と機密保護)、およびWS-Security 1.0標準に従ったインバウンドSOAPリクエストの認証を行います。
このポリシーには、oracle/wss10_username_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_username_token_with_message_protection_service_template」を参照してください。
表C-54を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
Oracle Platform Security Services (OPSS)の設定方法
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
このポリシーは、メッセージ・レベルの保護(メッセージの整合性と機密保護)、およびWS-Security 1.0標準に従ったアウトバウンドSOAPリクエストの認証を行います。
このポリシーは、リクエスト内の暗号化キーと、レスポンス内の署名と暗号化キーの両方に対して、サブジェクト・キー識別子(ski)参照メカニズムを使用します。
このポリシーには、oracle/wss10_username_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_username_token_with_message_protection_client_template」を参照してください。
注意: 一部の国については輸入規制があるために、JDK 5.0ソフトウェアに付属して配布されるJurisdiction Policyファイルには、入手可能な暗号化強度に関する制限事項が組み込まれています。デフォルトでは、basic192以降のアルゴリズムを使用するポリシーは、バンドル版のJRE/JDKでは動作しません。このアルゴリズムを使用するには、JCE Extensionのjar (Java Cryptography Extension (JCE)無制限強度管轄ポリシー・ファイル5.0)ファイルを、 これらのポリシー・ファイルを使用するには、次に示す
置き換える前に、既存のJARファイルのバックアップをとっておくことをお薦めします。 |
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでcsf-keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
この値は、ユーザー名/パスワードにマッピングされているキーを表しています。キーを資格証明ストアに追加する方法については、「資格証明ストア・プロバイダの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
このポリシーは、メッセージ・レベルの保護(メッセージの整合性と機密保護)、およびWS-Security 1.0標準に従ったインバウンドSOAPリクエストの認証を行います。
このポリシーは、リクエスト内の暗号化キーと、レスポンス内の署名と暗号化キーの両方に対して、サブジェクト・キー識別子(ski)参照メカニズムを使用します。
このポリシーには、oracle/wss10_username_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_username_token_with_message_protection_service_template」を参照してください。
注意: 一部の国については輸入規制があるために、JDK 5.0ソフトウェアに付属して配布されるJurisdiction Policyファイルには、入手可能な暗号化強度に関する制限事項が組み込まれています。デフォルトでは、basic192以降のアルゴリズムを使用するポリシーは、バンドル版のJRE/JDKでは動作しません。このアルゴリズムを使用するには、JCE Extensionのjar (Java Cryptography Extension (JCE)無制限強度管轄ポリシー・ファイル5.0)ファイルを、 これらのポリシー・ファイルを使用するには、次に示す
置き換える前に、既存のJARファイルのバックアップをとっておくことをお薦めします。 |
表C-54を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
Oracle Platform Security Services (OPSS)の設定方法
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、キーストアを設定する必要があります。ski参照メカニズムを使用するときは、OpenSSLなどのユーティリティを使用して証明書を作成します。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったアウトバウンドSOAPリクエストへの資格証明移入の認証を行います。
このポリシーには、oracle/wss10_x509_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_x509_token_with_message_protection_client_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
Webサービス・クライアントは、WS-Securityバイナリ・セキュリティ・トークンを介してSOAPメッセージに有効なX.509認証資格証明を提供する必要があります。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています。
例11-4は、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、SOAPメッセージの本文要素は署名されています
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったインバウンドSOAPリクエストへの証明書ベースの認証を行います。
このポリシーには、oracle/wss10_x509_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_x509_token_with_message_protection_service_template」を参照してください。
表C-57を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」の説明に従って、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.keyおよびkeystore.enc.csf.keyをオーバーライドすることもできます。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、認証プロバイダを構成し、このプロバイダにX.509コールバック情報を確実に提供する必要があります。
このポリシーにはWS-SecurityヘッダーのKerberosトークンが含まれ、WS-Security Kerberos Token Profile v1.1標準に従い、Kerberosキーを使用してメッセージの整合性と機密保護を保証します。
このポリシーには、oracle/wss11_kerberos_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_kerberos_token_with_message_protection_client_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「Kerberosトークンの使用」も参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。
「Kerberosトークンの使用」も参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-5に、WS-Security 1.1標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、WS-Security Kerberos Token Profile v1.1標準に従って実行されます。
このポリシーには、oracle/wss11_kerberos_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_kerberos_token_with_message_protection_service_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
「Kerberosトークンの使用」の説明に従って、Kerberosを構成します。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
このポリシーにはWS-SecurityヘッダーのKerberosトークンが含まれ、WS-Security Kerberos Token Profile v1.1標準に従い、Kerberosキーを使用してメッセージの整合性と機密保護を保証します。
このポリシーは、アルゴリズム・スイートとしてBasic128を使用します。
このポリシーには、oracle/wss11_kerberos_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_kerberos_token_with_message_protection_client_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「Kerberosトークンの使用」も参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。
「Kerberosトークンの使用」も参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-5に、WS-Security 1.1標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、WS-Security Kerberos Token Profile v1.1標準に従って実行されます。
このポリシーは、アルゴリズム・スイートとしてBasic128を使用します。
このポリシーには、oracle/wss11_kerberos_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_kerberos_token_with_message_protection_service_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
「Kerberosトークンの使用」の説明に従って、Kerberosを構成します。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
このポリシーにより、アイデンティティ切替えが可能になります。アイデンティティ切替えとは、ポリシーが、認証されたサブジェクトに基づいたアイデンティティとは異なるアイデンティティを伝播することを意味します。このポリシーを使用すれば、サブジェクトから取得したユーザー名を使用するかわりに、SAML Webサービス・リクエストを送信するときに新しいユーザー名を設定できます。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.1で記述されたメカニズムを使用したアウトバウンドSOAPリクエストへのSAMLトークンの移入を行います。
このポリシーには、oracle/wss11_saml_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_saml_token_with_message_protection_client_template」を参照してください。
wss11_saml_token_identity_switch_with_message_protection_client_policyを任意のタイプのWebサービス・クライアントに添付します。
認証されたサブジェクトではなく、クライアントが指定したユーザー名を使用できるようにするために、subject.precedence
はfalse
に設定されます。wss11_saml_token_identity_switch_with_message_protection_client_policyポリシーは、このポリシーの添付先となるアプリケーションがWSIdentityPermission
権限を必ず持つことを要求します。つまり、外部から提供されたIDをOracle WSMが受け入れるアプリケーションは、必ずWSIdentityPermission
権限を持つ必要があります。これは、潜在的に不正なアプリケーションからIDが提供されることを避けるためです。
このポリシーの使用方法の詳細は、「アイデンティティ切替えのためのSAML Webサービス・クライアントの構成」を参照してください。特に、「javax.xml.ws.security.auth.usernameプロパティの設定」と「WSIdentityPermission権限の設定」を行う必要があります。
SAMLの詳細は、「設計時のSAML Webサービス・クライアントの設定」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「構成」ページでsaml.audience.uriの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでuser.roles.includeの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-5に、WS-Security 1.1標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.1で記述されたメカニズムを使用したアウトバウンドSOAPリクエストへのSAMLトークンの移入を行います。
このポリシーには、oracle/wss11_saml_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_saml_token_with_message_protection_client_template」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「構成」ページでuser.roles.includeの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-5に、WS-Security 1.1標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの整合性の保護と、WS-Security 1.1標準に従ったインバウンドSOAPリクエストのSAMLベースの認証を行います。
このポリシーには、oracle/wss11_saml_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_saml_token_with_message_protection_service_template」を参照してください。
表C-62を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.1で記述されたメカニズムを使用したアウトバウンドSOAPリクエストへのSAMLトークンの移入を行います。
このポリシーには、oracle/wss11_saml20_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_saml20_token_with_message_protection_client_template」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.nameプロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「構成」ページでuser.roles.includeの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-5に、WS-Security 1.1標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの整合性の保護と、WS-Security 1.1標準に従ったインバウンドSOAPリクエストのSAMLベースの認証を行います。
このポリシーには、oracle/wss11_saml20_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_saml20_token_with_message_protection_service_template」を参照してください。
表C-65を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、(NameCallbackを介して)認証プロバイダに渡します。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.1標準に従ったアウトバウンドSOAPリクエストの認証を行います。
このポリシーには、oracle/wss11_username_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_username_token_with_message_protection_client_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
このポリシーは対称鍵テクノロジを使用します。このテクノロジは、データの暗号化と復号化に同じ共有鍵を使用する暗号化メソッドです。対称鍵は、メッセージへの署名に使用されます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
例11-5に、WS-Security 1.1標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護(メッセージ整合性とメッセージ機密保護)、およびWS-Security 1.1標準に従ったインバウンドSOAPリクエストの認証を行います。
このポリシーには、oracle/wss11_username_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_username_token_with_message_protection_service_template」を参照してください。
表C-68を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」の説明に従って、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.1標準に従ったアウトバウンドSOAPリクエストの証明書ベースの認証を行います。
このポリシーには、oracle/wss11_x509_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_x509_token_with_message_protection_client_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、Webサービス・キーストアを設定する必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、「構成」ページでkeystore.recipient.aliasの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
「構成」ページでkeystore.sig.csf.keyとkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
このポリシーでは、「設計時のWebサービス・クライアント・キーストアの設定」で説明されているように、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
Webサービス・クライアントは、WS-Securityバイナリ・セキュリティ・トークンを介してSOAPメッセージに有効なX.509認証資格証明を提供する必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-5に、WS-Security 1.1標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.1標準に従ったインバウンドSOAPリクエストへの証明書ベースの認証を行います。
このポリシーには、oracle/wss11_x509_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_x509_token_with_message_protection_service_template」を参照してください。
表C-71を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」の説明に従って、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの設定」で説明されているように、キーストアを設定する必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストア・プロバイダの構成」で説明されているように、資格証明ストアには復号化キーのパスワードを格納する必要があります。キー名としてkeystore.enc.csf.keyを使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、認証プロバイダを構成し、このプロバイダにX.509コールバック情報を確実に提供する必要があります。
多くの場合、ユーザーにWebサービスへのアクセスを許可するかどうかを決定する最初の手順は認証です。ユーザーが認証されたら、2番目の手順は、ユーザーがWebサービスへのアクセスを認可されていることを検証することです。これは、認可ポリシーを使用して実行されます。 binding_authorization_template または component_authorization_template アサーション・テンプレートを使用して、認可ポリシーを作成できます。
これらのテンプレートを使用して作成されたポリシーでは、ロール・ベースまたは権限ベースのアクセス制御(RBAC)が実行され、認証されたユーザーにWebサービスへのアクセスが許可されたいずれかのロールまたは権限が付与されていることが確認されます。
付録Bの「事前定義済ポリシー」に、認可を実行するセキュリティ・ポリシーを要約しています。また、トランスポート・レイヤーまたはSOAPヘッダーでのポリシー実行の有無についても言及しています。
注意: 認可ポリシーは、サブジェクトが作成されている任意の認証ポリシーの後に続けることができます。permitallおよびdenyallポリシーの両方を同じWebサービスに添付することはできません。 |
認可ポリシーには、ポリシーで保護するリソースを指定するために使用できる次のプロパティがあります。すべての事前定義済ポリシーにすべてのプロパティを設定できるとはかぎりません。
制約パターン: 認可チェックを実行するときの照合元である制約を表す表現式です。制約表現式は次の2つのmessageContext
プロパティを使用して指定されます。
messageContext.authenticationMethod
: ユーザーを認証する際に使用される認証方法を決定します。有効値はSAML_SV
のみです。
messageContext.requestOrigin
: そのリクエストの起点が内部ネットワークか外部ネットワークかを決定します。このプロパティが有効となるのは、Oracle HTTP Serverを使用しており、Oracle HTTPサーバー管理者がカスタム・ヘッダーVIRTUAL_HOST_TYPE
をそのリクエストに追加した場合のみです。このヘッダーをリクエストに追加する方法の詳細は、「Request Originを指定する場合のOracle HTTP Serverの構成」を参照してください。
次の点に注意してください。
制約パターンのプロパティおよびその値は大文字と小文字を区別します。
制約表現式は、サポートされている標準的な演算子として==
、!=
、&&
、||
、および !
を使用します。
次の例では、現在のメッセージが、SAML_SVトークンを含んでおらず、かつ、リクエストの起点が内部でない場合のみ、ロールベースの認可アサーションが実行されます。
${!(messageContext.authenticationMethod =='SAML_SV'|| messageContext.requestOrigin == 'internal')}
注意: このプロパティは、binding_authorization_templateに基づく認可ポリシーでのみ有効です。他の認可アサーション・テンプレートに基づくポリシーについては、このプロパティは将来使用するために予約されています。 |
アクション・パターン: 権限ベースの確認が実行されるWebサービス操作。この値は、値のカンマ区切りのリストにすることもできます。このフィールドではワイルドカードを使用できます。*は、すべてのWebサービス操作を意味します。
「アクション・パターン」の有効な値は、Webサービス・メソッドで決まります。たとえば、Webサービス・メソッドがvalidate(amountAvailable)の場合は、アクション・パターンをvalidateと入力します。
リソース・パターン: 権限ベースの確認が実行されるリソースの名前。このフィールドではワイルドカードを使用できます。デフォルトは*で、ポリシーによって保護されるWebサービスのすべてのリソースに対応します。
表記規則により、リソース・パターンを(Webサービスの名前空間+ Webサービス名)として入力します。
たとえば、Webサービスの名前空間がhttp://project11で、Webサービス名がCreditValidationの場合、リソース名をhttp://project11/CreditValidationと入力します。
特定のリソース・パターンを指定した場合、ポリシーは、基準と一致するWebサービスに対してのみ実行されます。つまり、特定のリソース・パターンを入力すると、認可ポリシーのスコープが制限されます。この条件は、この認可ポリシーを複数のサブジェクトに一括添付した場合にも適用されます。デフォルトの*により、一括添付されたWebサービスのすべてのリソース(Webサービスの名前空間+ Webサービス名)が保護されます。
権限チェック・クラス: デフォルトでは、oracle.wsm.security.WSFunctionPermissionになっています。クラスは、クラスパスに存在する必要があります。
認証設定: 使用可能な値は、「すべてを許可」、「すべてを拒否」および「選択したロール」です。「選択したロール」を選択した場合、WebLogic Serverで定義されたエンタープライズ(グローバル)ロールのいずれかを選択する必要があります。このロールには、次のものがあります。
AdminChannelUser
Anonymous
AppTester
CrossDomainConnector
Deployer
Monitor
Operator
OracleSystemRole
概念的には、認証されたサブジェクトがWebサービス・ポリシーによって保護された特定のリソースへのアクセスを許可されるかどうかの決定には、連携して機能する2つの部分が関与します。
図11-2に示すように、ポリシーの「ポリシー設定」ページの「リソース・パターン」および「アクション・パターン」のパラメータで、そのポリシーによって保護されるリソースを定義します(「認可ポリシーのサーバー側オーバーライド・プロパティの構成」の説明に従って、「リソース・パターン」および「アクション・パターン」のプロパティをオーバーライドすることもできます)。
そのポリシーの構成プロパティ「権限チェック・クラス」を変更する方法もあります。このプロパティは権限クラスをJAAS標準に従って識別します。権限クラスは、アプリケーションまたはサーバーのクラスパスに存在する必要があります。
カスタムの権限クラスは、抽象的な権限クラスを拡張して、シリアライズ可能なインタフェースを実装する必要があります。http://java.sun.com/j2se/1.5.0/docs/api/java/security/Permission.html
にあるJavadocを参照してください。デフォルトはoracle.wsm.security.WSFunctionPermissionです。
OPSSの「アプリケーション・ポリシー」ページでは、図11-3に示すように、認証されたサブジェクトがそこにリストされている「リソース名」への起動アクセスを持つかどうかを指定します。
OPSSは、Webサービスの「ポリシー設定」ページを使用して、許可チェックが必要なリソースを決定します。認証されたサブジェクトがそのリソースに対してOPSSを介してWSFunctionPermission(または他の権限)を付与されている場合は、そのリソースへのアクセスが許可されます。
注意: そのポリシーの構成プロパティ「権限チェック・クラス」を変更する場合は、ここでもカスタム・クラスを使用してください。 |
図11-2および図11-3に示されている例をさらに検討します。
「ポリシー設定」ページで、Webサービスhttp://project11/CreditValidationのvalidateメソッドを保護するために、次のように指定すると仮定します。
Action pattern: validate Resource pattern: http://project11/CreditValidation Permission Check Class oracle.wsm.security.WSFunctionPermission
次に、OPSSアプリケーション・ポリシーページで、「リソース名」にhttp://project11/CreditValidation#validateを使用して、認証されたサブジェクトがこのリソースを起動する権限を持つように指定します。
Permission Class: oracle.wsm.security.WSFunctionPermission Resource Name: http://project11/CreditValidation#validate Permissions Action: invoke
WSFunctionPermission権限を、ユーザー、グループまたはアプリケーション・ロールに付与できます。WSFunctionPermissionをユーザーまたはグループに付与した場合、この権限は、ドメインにデプロイされているすべてのアプリケーションに適用されます。
前のリリースのFusion Middleware Controlでは、OPSSアプリケーション・ポリシーページの「リソース名」は、name-space-of-webservice/ServiceNameによって決められていました。たとえば、Webサービスの名前空間がhttp://project1/で、サービス名がCreditValidationの場合、「リソース名」はhttp://project1/CreditValidationでした。アスタリスク(*)ワイルドカードを使用して、すべてのアクションまたはすべてのリソースに権限を与えることもできました。
このリリースでは、WSFunctionPermissionのリソース・ターゲットに実際のWebサービス・オペレーションの名前を含めるように機能強化されました。「リソース名」の構文は、name-space-of-webservice/servicename#[オペレーション名]です。(コンポーネントの場合はcompositename/componentname#[オペレーション名])
少なくともname-space-of-webservice/service nameを含める必要があります。つまり、アスタリスク(*)ワイルドカードを使用して、すべてのアクションまたはすべてのリソースに権限を与えることはできなくなりました。
そのかわりに、単にオペレーション名を空白のままにしておくだけで、Webサービスのすべてのオペレーションを指定できます。たとえば、name-space-of-webservice/servicename#のようにします。
「権限アクション」は常にinvokeです。
このポリシーは、認証されたサブジェクトに基づき、簡単なロールベースの認可ポリシーを提供します。
このポリシーは、ロールを持つすべてのユーザーを拒否します。
このポリシーは、サブジェクトが作成されている認証ポリシーの後に続ける必要があり、SOAPベースの任意のエンドポイントに添付できます。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
このポリシーには、oracle/binding_authorization_templateアサーション・テンプレートが含まれています。
このアサーションの詳細は、「oracle/binding_authorization_template」を参照してください。
表C-86を参照してください。
ロールを追加するには、次のようにします。
「選択したロール」をクリックします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列に追加する各ロールの横にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、追加対象として選択したロール」列にある削除対象の各ロールの横にあるチェック・ボックスをクリックし、「削除」をクリックします。ロールをすべて削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「OK」をクリックします。
ロールを削除するには、次のようにします。
「選択したロール」リストで削除するロールを選択します。
「削除」をクリックします。
1つ以上のWebLogic Serverエンタープライズ・ロールを指定する場合、認証されたサブジェクトにそのロールがすでに付与されている必要があります。Oracle WebLogic Server管理コンソール・ヘルプで説明されているように、WebLogic Server管理コンソールを使用して、ロールをユーザーまたはグループに付与します。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
このポリシーは、認証されたサブジェクトに基づき、簡単なロールベースの認可ポリシーを提供します。
このポリシーは、ロールを持つすべてのユーザーを許可します。
このポリシーは、サブジェクトが作成されている認証ポリシーの後に続ける必要があり、SOAPベースの任意のエンドポイントに添付できます。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
このポリシーには、oracle/binding_authorization_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/binding_authorization_template」を参照してください。
表C-86を参照してください。
ロールを追加するには、次のようにします。
「選択したロール」をクリックします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列に追加する各ロールの横にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、追加対象として選択したロール」列にある削除対象の各ロールの横にあるチェック・ボックスをクリックし、「削除」をクリックします。ロールをすべて削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「OK」をクリックします。
ロールを削除するには、次のようにします。
「選択したロール」リストで削除するロールを選択します。
「削除」をクリックします。
1つ以上のWebLogic Serverエンタープライズ・ロールを指定する場合、認証されたサブジェクトにそのロールがすでに付与されている必要があります。Oracle WebLogic Server管理コンソール・ヘルプで説明されているように、WebLogic Server管理コンソールを使用して、ロールをユーザーまたはグループに付与します。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
このポリシーは、認証されたサブジェクトに基づき、権限ベースの認可ポリシーを提供します。
このポリシーは、サブジェクトに操作を実行する権限があることを保証します。このため、認可ポリシー・エグゼキュータはOPSSを利用し、認証されたサブジェクトに、パラメータとして「リソース・パターン」と「アクション・パターン」を使用してoracle.wsm.security.WSFunctionPermission(または「権限チェック・クラス」で指定された任意の権限クラス)が付与されているかどうかを確認します。
このポリシーは、サブジェクトが作成されている認証ポリシーの後に続ける必要があり、SOAPベースの任意のエンドポイントに添付できます。
このポリシーには、oracle/binding_permission_authorization_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/binding_permission_authorization_template」を参照してください。
そのポリシーの構成プロパティpermission_classを変更する方法もあります。これはJAAS標準によって権限クラスを識別します。権限クラスは、アプリケーションまたはサーバーのクラスパスに存在する必要があります。
カスタムの権限クラスは、抽象的な権限クラスを拡張し、シリアライズ可能なインタフェースを実装する必要があります。http://java.sun.com/j2se/1.5.0/docs/api/java/security/Permission.html
にあるJavadocを参照してください。
デフォルトはoracle.wsm.security.WSFunctionPermissionです。
Fusion Middleware Controlを使用して、Webサービスに対する認証を試行するユーザー、グループまたはアプリケーションにWSFunctionPermission権限を付与します。
そのポリシーの構成プロパティpermission_classを変更する方法もあります。これはJAAS標準によって権限クラスを識別します。クラスは、サーバー・クラスパスに存在する必要があります。デフォルトはoracle.wsm.security.WSFunctionPermissionです。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
このポリシーは、認証されたサブジェクトに基づき、簡単なロールベースの認可ポリシーを提供します。
このポリシーは、ロールを持つすべてのユーザーを拒否します。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
このポリシーは、サブジェクトが作成されている認証ポリシーの後に続ける必要があり、SCAベースの任意のエンドポイントに添付できます。
このポリシーには、oracle/component_authorization_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/component_authorization_template」を参照してください。
表C-88を参照してください。
ロールを追加するには、次のようにします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列に追加する各ロールの横にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、追加対象として選択したロール」列にある削除対象の各ロールの横にあるチェック・ボックスをクリックし、「削除」をクリックします。ロールをすべて削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「OK」をクリックします。
ロールを削除するには、次のようにします。
「選択したロール」リストで削除するロールを選択します。
「削除」をクリックします。
1つ以上のWebLogic Serverエンタープライズ・ロールを指定する場合、認証されたサブジェクトにそのロールがすでに付与されている必要があります。Oracle WebLogic Server管理コンソール・ヘルプで説明されているように、WebLogic Server管理コンソールを使用して、ロールをユーザーまたはグループに付与します。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
このポリシーは、認証されたサブジェクトに基づき、簡単なロールベースの認可ポリシーを提供します。
このポリシーは、ロールを持つすべてのユーザーを許可します。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
サブジェクトが作成されている認証ポリシーの後に続ける必要があり、SCAベースの任意のエンドポイントに添付できます。
このポリシーには、oracle/component_authorization_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/component_authorization_template」を参照してください。
表C-88を参照してください。
ロールを追加するには、次のようにします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列に追加する各ロールの横にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、追加対象として選択したロール」列にある削除対象の各ロールの横にあるチェック・ボックスをクリックし、「削除」をクリックします。ロールをすべて削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「OK」をクリックします。
ロールを削除するには、次のようにします。
「選択したロール」リストで削除するロールを選択します。
「削除」をクリックします。
1つ以上のWebLogic Serverエンタープライズ・ロールを指定する場合、認証されたサブジェクトにそのロールがすでに付与されている必要があります。Oracle WebLogic Server管理コンソール・ヘルプで説明されているように、WebLogic Server管理コンソールを使用して、ロールをユーザーまたはグループに付与します。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
このポリシーは、認証されたサブジェクトに基づき、権限ベースの認可ポリシーを提供します。
このポリシーは、サブジェクトに操作を実行する権限があることを保証します。このため、認可ポリシー・エグゼキュータはOPSSを利用し、認証されたサブジェクトに、パラメータとして「リソース・パターン」と「アクション・パターン」を使用してoracle.wsm.security.WSFunctionPermission(または「権限チェック・クラス」で指定された任意の権限クラス)が付与されているかどうかを確認します。「リソース・パターン」と「アクション・パターン」は、認可アサーションがこの特定のリクエストに対して実行されるかどうかを識別するために使用されます。認証されたサブジェクトにWSFunctionPermissionが付与されている場合、アクセスは許可されます。
WSFunctionPermission権限を、ユーザー、グループまたはアプリケーション・ロールに付与できます。WSFunctionPermissionをユーザーまたはグループに付与した場合、この権限は、ドメインにデプロイされているすべてのアプリケーションに適用されます。
このポリシーは、サブジェクトが作成されている認証ポリシーの後に続ける必要があり、SCAベースの任意のエンドポイントに添付できます。
このポリシーには、oracle/component_permission_authorization_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/component_permission_authorization_template」を参照してください。
このポリシーは、認証されたサブジェクトに基づくロールベース認可ポリシーの特殊なケースです。
このポリシーを使用すると、次の条件のいずれかがtrueである場合のみリクエストが許可されます。
認証されたトークンがSAML送信者保証です。
そのユーザーが所定のロールに存在する(デフォルトは、ユーザーを信頼できるエンティティとして確立するtrustedEnterpriseRole
)。
リクエストの起点はプライベート・ネットワーク内です。
このポリシーは、SOAPベースのエンドポイントに添付できます。
このポリシーには、oracle/binding_authorization_templateアサーション・テンプレートが含まれています。
このアサーションの詳細は、「oracle/binding_authorization_template」を参照してください。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
表C-86を参照してください。
ロールを追加するには、次のようにします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列に追加する各ロールの横にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、追加対象として選択したロール」列にある削除対象の各ロールの横にあるチェック・ボックスをクリックし、「削除」をクリックします。ロールをすべて削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「OK」をクリックします。
ロールを削除するには、次のようにします。
「選択したロール」リストで削除するロールを選択します。
「削除」をクリックします。
1つ以上のWebLogic Serverエンタープライズ・ロールを指定する場合、認証されたサブジェクトにそのロールがすでに付与されている必要があります。Oracle WebLogic Server管理コンソール・ヘルプで説明されているように、WebLogic Server管理コンソールを使用して、ロールをユーザーまたはグループに付与します。
Oracle WebLogic Server管理コンソール・ヘルプの「認証プロバイダとIDアサーション・プロバイダの構成」の説明に従って、WebLogic認証プロバイダを構成しておく必要があります。
whitelist_authorization_policyが添付されているサービスを適切に呼び出すには、次のいずれかを実行する必要があります。
サービスがSAML送信者保証を認証で受け入れる場合(たとえば、そのサービスにトークン・サービス・ポリシーが添付されている場合など)は必ず、これに対応するSAMLトークン・クライアント・ポリシーをクライアントに添付する必要があります。
サービスがユーザー名/パスワードを認証で受け入れる場合(たとえば、そのサービスにユーザー名トークン・サービス・ポリシーが添付されている場合など)は必ず、これに対応するユーザー名トークン・クライアント・ポリシーをクライアントに添付し、そのクライアントがポリシーで定義したように信頼できるロールに含まれていることを確認する必要があります(デフォルトでは、事前定義済ポリシーで定義されているロールはtrustedEnterpriseRole
です。この事前定義済ポリシーのロールを変更する必要があります)。
そのサービスがOracle HTTP Serverを使用して呼び出されており、かつリクエストがプライベート内部ネットワークから導出されたものであることを示すよう構成されていれば(「Request Originを指定する場合のOracle HTTP Serverの構成」を参照)、内部ネットワークのクライアントは、クライアント側でこれに対応するユーザー名トークン・クライアント・ポリシーを添付するだけでよくなります。
制約パターンのプロパティ設定値には、そのリクエストの起点が内部ネットワークか外部ネットワークかを指定する「requestOrigin」
フィールドが含まれています。このプロパティが有効となるのは、Oracle HTTP Serverを使用しており、かつOracle HTTPサーバー管理者がカスタム・ヘッダーVIRTUAL_HOST_TYPE
をそのリクエストに追加した場合のみです。
その場合、管理者は必ずhttpd.conf
ファイルを次のように変更します。
モジュールmod_headers
が読み込まれていることを検証します。
RequestHeader
のVIRTUAL_HOST_TYPE
ヘッダー名を設定します。有効値は、internal
およびexternal
です。次のコマンド構文を使用します。
RequestHeader set|append|add|unset header [value [env=[!]variable]]
たとえば、内部リクエスト用に仮想ホストを構成する場合は、次のようになります。
<VirtualHost *:7777> RequestHeader set VIRTUAL_HOST_TYPE "internal" </VirtualHost>
外部リクエスト用に仮想ホストを構成する場合は、次のようになります。
<VirtualHost *:8888> RequestHeader set VIRTUAL_HOST_TYPE "external" </VirtualHost>
この2つの例では、プライベート・ネットワークの外部から来ているリクエストはすべて、virtual host:8888
経由でルーティングされており、内部プライベート・ネットワークから来ているリクエストはすべてvirtual host:7777
経由でルーティングされます。
また、アプリケーションがポート上で外部的にも利用可能となるよう、これらのポートをhttpd.conf
ファイルにリスニング・ポートとしても追加する必要があることに注意してください。
Oracle HTTP Serverを再起動します。
Webサービス・アドレス(WS-Addressing)の仕様(http://www.w3.org/TR/ws-addr-core/
)は、Webサービスおよびメッセージに対応する、特定のトランスポートに依存しないメカニズムを提供します。特に、仕様では、Webサービス・エンドポイントの識別とメッセージ内のエンドツーエンドのエンドポイント・アイデンティティの保護に使用されるXML要素の数が定義されます。
この項では、事前定義済のWS-Addressingポリシーについて説明します。
このポリシーを使用すると、プラットフォームにより、W3C 2005の最終版のWS-Addressingポリシー標準に準拠したWS-Addressingヘッダーがインバウンド・メッセージに存在するかどうかが確認されます。また、プラットフォームにより、WS-AddressingヘッダーがアウトバウンドSOAPメッセージに組み込まれます。
Web Services Addressing 1.0 - SOAP Bindingの仕様(http://www.w3.org/TR/ws-addr-soap/
)で説明されているように、Webサービス・クライアントのWS-Addressingを構成します。
この項では、事前定義済の WS-Trustポリシーについて説明します。事前定義済ポリシーはWS-Trust 1.3仕様に準拠しています。
このポリシーは、トークン交換時のSTS呼出しに使用されるSTSクライアント構成情報を指定する場合に使用します。
このポリシーには、oracle/sts_trust_config_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/sts_trust_config_service_template」を参照してください。
oracle/sts_trust_config_service_policy
ポリシー・アサーションは、次のようになります。
<?xml version = '1.0' encoding = 'UTF-8'?> <wsp:Policy xmlns:oralgp = "http://schemas.oracle.com/ws/2006/01/loggingpolicy" xmlns:orasp = "http://schemas.oracle.com/ws/2006/01/securitypolicy" orawsp:description = "i18n:oracle.wsm.resources.policydescription.PolicyDescriptionBundle_oracle/sts_ trust_config_service_policy_PolyDescKey" orawsp:displayName = "i18n:oracle.wsm.resources.policydescription.PolicyDescriptionBundle_oracle/sts_ trust_config_service_policy_PolyDispNameKey" wsu:Id = "sts_trust_config_service_policy" orawsp:attachTo = "binding.server" orawsp:status = "enabled" xmlns:orawsp = "http://schemas.oracle.com/ws/2006/01/policy" Name = "oracle/sts_trust_config_service_policy" xmlns:wsp = "http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" orawsp:category = "security" orawsp:local-optimization = "off"> <orasp:sts-trust-config orawsp:Silent = "true" orawsp:Enforced = "true" orawsp:name = "STS Trust Configuration" orawsp:category = "security/sts-config" orasp:wsdl-uri = "http://host:port/sts?wsdl" orasp:port-uri = "http://host:port/sts-service" orasp:soap-version="12"> <orawsp:bindings> <orawsp:Config orawsp:name = "StsTrustConfig" orawsp:configType = "declarative"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:name="role" orawsp:type="string" orawsp:contentType="constant"> <orawsp:Value>ultimateReceiver</orawsp:Value> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:sts-trust-config> </wsp:Policy>
このポリシーは、トークン交換時のSTS呼出しに使用されるSTSクライアント構成情報を指定する場合に使用します。
このポリシーは、「STSのための自動ポリシー構成の設定」の説明に従って、自動(クライアントSTS)ポリシー構成を使用していない場合のみ使用します。
oracle/sts_trust_config_client_policy
の複数のインスタンスを添付する場合、生成されるエラーはありませんが、実行されるインスタンスは1つに限られ、それがどのインスタンスであるかを制御することはできません。
このポリシーには、oracle/sts_trust_config_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/sts_trust_config_client_template」を参照してください。
oracle/sts_trust_config_client_policy
ポリシー・アサーションは、次のようになります。
<?xml version = '1.0' encoding = 'UTF-8'?> <wsp:Policy xmlns:oralgp = "http://schemas.oracle.com/ws/2006/01/loggingpolicy" xmlns:orasp = "http://schemas.oracle.com/ws/2006/01/securitypolicy" orawsp:description = "i18n:oracle.wsm.resources.policydescription.PolicyDescriptionBundle_oracle/sts_trust_config_client_policy_PolyDescKey" orawsp:displayName = "i18n:oracle.wsm.resources.policydescription.PolicyDescriptionBundle_oracle/sts_trust_config_client_policy_PolyDispNameKey" wsu:Id = "sts_trust_config_client_policy" orawsp:attachTo = "binding.client" orawsp:status = "enabled" xmlns:orawsp = "http://schemas.oracle.com/ws/2006/01/policy" Name = "oracle/sts_trust_config_client_policy" xmlns:wsp = "http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" orawsp:category = "security" orawsp:local-optimization = "off"> <orasp:sts-trust-config orawsp:Silent = "true" orawsp:Enforced = "true" orawsp:name = "STS Trust Configuration" orawsp:category = "security/sts-config" orasp:wsdl-uri = "http://host:port/sts?wsdl" orasp:port-uri = "http://host:port/sts-service" orasp:port-endpoint="target-namespace#wsdl.endpoint(service-name/port-name)" orasp:policy-reference-uri="oracle/policy-name" orasp:soap-version="12" orasp:sts-keystore-recipient-alias="sts-csf-key"> <orawsp:bindings> <orawsp:Config orawsp:name = "StsTrustConfig" orawsp:configType = "declarative"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:name="role" orawsp:type="string" orawsp:contentType="constant"> <orawsp:Value>ultimateReceiver</orawsp:Value> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:sts-trust-config> </wsp:Policy>
「STSのための自動ポリシー構成の設定」で説明されているように、WebサービスからSTS構成ポリシーを構成することをお薦めします。
しかし、WebサービスからSTS構成ポリシーを構成しなかった場合、またはSAML送信者保証の確認方法を使用している場合には、Webサービス・クライアントからSTS構成ポリシーを構成する必要があります。Webサービス・クライアントの設定方法は、「Webサービス・クライアントからのSTS構成ポリシーの手動構成: 主な手順」を参照してください。
「STSのための自動ポリシー構成の設定」で説明されているように、WebサービスからSTS構成ポリシーを構成することをお薦めします。
ただし、STS構成ポリシーをWebサービスから構成しなかった場合、またはSAML送信者保証による確認方法を使用している場合には、この項の説明に従ってWebサービス・クライアントからそれを構成する必要があります。
Webサービス・クライアントの設定方法の詳細は、「Webサービス・クライアントからのSTS構成ポリシーの手動構成: 主な手順」を参照してください。
例11-6および例11-7で示されているように、oracle/sts_trust_config_client_policy
ポリシーは、プログラムで設定して添付することができます。
例11-6 JSEプロキシ・クライアントのサンプル・コード
URL endpointUrl = new URL(getWebConnectionString() + "/jaxws-test-service/jaxws-test-port"); ServiceDelegateImpl client = new ServiceDelegateImpl( new URL(endpointUrl.toString() + "?WSDL"), new QName("http://jaxws.oracle.com/targetNamespace/JaxwsService", "JaxwsService"), OracleService.class); JaxwsService port = client.getPort( new QName("http://jaxws.oracle.com/targetNamespace/JaxwsService", "JaxwsServicePort"), test.jaxws.client.JaxwsService.class); ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,endpointUrl.toExternalForm()); ((BindingProvider)port).getRequestContext().put(ClientConstants.CLIENT_CONFIG, fileToElement(new File("./jaxws/client/dat/oracle-webservice-client.xml")));
STS構成ポリシーとSTS発行ポリシーに関連するoracle-webservice-client.xml
ファイルは、例11-7に示されています。
例11-7 oracle-webservice-client.xmlのサンプル・コード
<?xml version="1.0" encoding="UTF-8"?> <oracle-webservice-clients> <webservice-client> <port-info> <policy-references> <policy-reference uri="oracle/sts_trust_config_client_policy" category="security"/> <policy-reference uri="oracle/wss11_sts_issue_saml_hok_with_message_protection_client_policy " category="security"/> </policy-references> </port-info> </webservice-client> </oracle-webservice-clients>
このポリシーは、信頼されるSTSによって発行されたSAML Bearerアサーションを挿入します。メッセージはSSLを使用して保護されます。
このポリシーには、oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy_templateアサーション・テンプレートが含まれています。アサーションの詳細は、「WS-Trustアサーション・テンプレート」を参照してください。
oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy
アサーションは次のようになります。
<orasp:wss-sts-issued-token-over-ssl xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orasp:require-applies-to="true" orasp:require-client-entropy="true" orasp:require-server-entropy="true" orasp:trust-version="13" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication, security/msg-protection" orawsp:name="WS-Security 1.1, issued token over ssl"> <orasp:issued-token orasp:require-external-reference="true" orasp:require-internal-reference="true" orasp:use-derived-keys="false"> <orasp:request-security-token-template orasp:key-type="Bearer" orasp:token-type="SAML11"/> </orasp:issued-token> <orasp:require-tls orasp:include-timestamp="true" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="WssStsIssuedTokenOverSSLConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.user.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.x509.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:name="on.behalf.of" orawsp:type="boolean"> <orawsp:Value>false</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.on.behalf.of.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.service.principal.name" orawsp:type="string"> <orawsp:Value>HOST/localhost@EXAMPLE.COM</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.keytab.location" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.caller.principal.name" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:wss-sts-issued-token-over-ssl>
Webサービス・クライアントの設定方法については、「自動ポリシー構成の設定: 主な手順」を参照してください。
このポリシーを使用する場合、STSに対して認証する鍵(ユーザー名/パスワードまたはX.509)を指定するようWebサービス・キーストアを設定する必要があります。「メッセージ保護に関するキーストアの設定」を参照してください。、
オーバーライド可能な構成設定については、「WS-Trustクライアント・ポリシーの構成情報に対するプログラムによるオーバーライド」を参照してください。
「相互認証が必要」を設定しない場合、必然的に一方向SSLが含まれます。「Webサービス・クライアントに関するSSLの構成」を参照してください。
「相互認証が必要」を設定した場合には、クライアントは資格証明を提供してWebサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
Webサービス・クライアントの設定方法については、「自動ポリシー構成の設定: 主な手順」を参照してください。
このポリシーを使用する場合、STSに対して認証する鍵(ユーザー名/パスワードまたはX.509)を指定するようWebサービス・キーストアを設定する必要があります。「メッセージ保護に関するキーストアの設定」を参照してください。、
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。STS構成設定の例は、「WS-Trustクライアント・ポリシーのための、プログラムによる構成情報のオーバーライド」を参照してください。
「相互認証が必要」を設定しない場合、必然的に一方向SSLが含まれます。「Webサービス・クライアントに関するSSLの構成」を参照してください。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
このポリシーは、信頼されるSTSによって発行されたSAML Bearerアサーションを認証します。メッセージはSSLを使用して保護されます。
このポリシーには、oracle/wss_sts_issued_saml_bearer_token_over_ssl_service_policy_templateアサーション・テンプレートが含まれています。アサーションの詳細は、「WS-Trustアサーション・テンプレート」を参照してください。
oracle/wss_sts_issued_saml_bearer_token_over_ssl_service_policy
アサーションは次のようになります。
<orasp:wss-sts-issued-token-over-ssl xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orasp:require-applies-to="true" orasp:require-client-entropy="true" orasp:require-server-entropy="true" orasp:trust-version="13" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication, security/msg-protection" orawsp:name="WS-Security 1.1, issued token over ssl"> <orasp:issued-token orasp:require-external-reference="true" orasp:require-internal-reference="true" orasp:use-derived-keys="false"> <orasp:request-security-token-template orasp:key-type="Bearer" orasp:token-type="SAML11"/> </orasp:issued-token> <orasp:require-tls orasp:include-timestamp="true" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="WssStsIssuedTokenOverSSLConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="constant" orawsp:name="role" orawsp:type="string"> <orawsp:Value>ultimateReceiver</orawsp:Value> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:wss-sts-issued-token-over-ssl>
Webサービスの設定方法の詳細は、「ポリシーの自動構成の設定: 主な手順」を参照してください。
SSLを構成するには、「WebLogic ServerへのSSLの構成(一方向)」を参照してください。ただし、「相互認証が必要」がオンの場合は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。
このポリシーは、信頼されるSTS(セキュリティ・トークン・サービス)によって発行されたSAML HOKアサーションを挿入します。メッセージは、STSにより提供される証明鍵資料を使用して保護されます。
このポリシーには、oracle/wss11_sts_issued_saml_hok_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「WS-Trustアサーション・テンプレート」を参照してください。
oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policyポリシー・アサーションは次のようになります。
<orasp:wss11-sts-issued-token-with-certificates xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orasp:require-applies-to="true" orasp:require-client-entropy="true" orasp:require-server-entropy="true" orasp:trust-version="13" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication, security/msg-protection" orawsp:name="WS-Security 1.1, issued tokee"> <orasp:issued-token orasp:require-external-reference="true" orasp:require-internal-reference="true" orasp:use-derived-keys="false"> <orasp:request-security-token-template orasp:algorithm-suite="Basic128" orasp:key-type="Symmetric" orasp:token-type="SAML11"/> </orasp:issued-token> <orasp:x509-token orasp:enc-key-ref-mech="thumbprint" orasp:is-encrypted="false" orasp:is-signed="true" orasp:sign-key-ref-mech="thumbprint"/> <orasp:msg-security orasp:algorithm-suite="Basic128" orasp:confirm-signature="true" orasp:encrypt-signature="false" orasp:include-timestamp="true" orasp:sign-then-encrypt="true" orasp:use-derived-keys="false"> <orasp:request> <orasp:signed-parts> <orasp:body/> <orasp:header orasp:namespace="http://www.w3.org/2005/08/addressing"/> <orasp:header orasp:namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/> <orasp:header orasp:name="fmw-context" orasp:namespace="http://xmlns.oracle.com/fmw/context/1.0"/> </orasp:signed-parts> <orasp:encrypted-parts> <orasp:body/> <orasp:header orasp:name="fmw-context" orasp:namespace="http://xmlns.oracle.com/fmw/context/1.0"/> </orasp:encrypted-parts> </orasp:request> <orasp:response> <orasp:signed-parts> <orasp:body/> </orasp:signed-parts> <orasp:encrypted-parts> <orasp:body/> </orasp:encrypted-parts> </orasp:response> <orasp:fault/> </orasp:msg-security> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="Wss11StsIssuedTokenWithCertsConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.user.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.x509.csf.key" orawsp:type="string"> <orawsp:Value>enc-csf-key</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:name="on.behalf.of" orawsp:type="boolean"> <orawsp:Value>false</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.on.behalf.of.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:name="keystore.recipient.alias" orawsp:type="string"> <orawsp:Value>orakey</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.enc.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.service.principal.name" orawsp:type="string"> <orawsp:Value>HOST/localhost@EXAMPLE.COM</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.keytab.location" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.caller.principal.name" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:wss11-sts-issued-token-with-certificates>
Webサービス・クライアントの設定方法については、「自動ポリシー構成の設定: 主な手順」を参照してください。
このポリシーを使用する場合、STSに対して認証する鍵(ユーザー名/パスワードまたはX.509)を指定するようWebサービス・キーストアを設定する必要があります。「メッセージ保護に関するキーストアの設定」を参照してください。、
オーバーライド可能な構成設定については、「WS-Trustクライアント・ポリシーの構成情報に対するプログラムによるオーバーライド」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法としては、keystore.recipient.aliasの値を指定するか、この値をポリシー添付時にクライアントごとにオーバーライドすることもできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージ暗号化の鍵の取得時にキーストア内の公開鍵の検索に使用される別名を指定します。
keystore.enc.csf.keyの値を指定するか、ポリシー添付時にクライアントごとにオーバーライドできます。
Webサービス・クライアントの設定方法については、「自動ポリシー構成の設定: 主な手順」を参照してください。
このポリシーを使用する場合、STSに対して認証する鍵(ユーザー名/パスワードまたはX.509)を指定するようWebサービス・キーストアを設定する必要があります。「メッセージ保護に関するキーストアの設定」を参照してください。、
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。STS構成設定の例は、「WS-Trustクライアント・ポリシーのための、プログラムによる構成情報のオーバーライド」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法としては、keystore.recipient.aliasの値を指定するか、この値をポリシー添付時にクライアントごとにオーバーライドすることもできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージ暗号化の鍵の取得時にキーストア内の公開鍵の検索に使用される別名を指定します。
keystore.enc.csf.keyの値を指定するか、ポリシー添付時にクライアントごとにオーバーライドできます。
このポリシーは、信頼されるSTS(セキュリティ・トークン・サービス)によって発行されたSAML HOKアサーションを認証します。メッセージは、WS-Securityの非対称鍵テクノロジのBasic 128スイートを使用して保護されます。
このポリシーには、oracle/wss11_sts_issued_saml_hok_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「WS-Trustアサーション・テンプレート」を参照してください。
oracle/wss11_sts_issued_saml_hok_with_message_protection_service_policyポリシー・アサーションは次のようになります。
<orasp:wss11-sts-issued-token-with-certificates xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orasp:require-applies-to="true" orasp:require-client-entropy="true" orasp:require-server-entropy="true" orasp:trust-version="13" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication, security/msg-protection" orawsp:name="WS-Security 1.1, issued tokee"> <orasp:issued-token orasp:require-external-reference="true" orasp:require-internal-reference="true" orasp:use-derived-keys="false"> <orasp:request-security-token-template orasp:algorithm-suite="Basic128" orasp:key-type="Symmetric" orasp:token-type="SAML11"/> </orasp:issued-token> <orasp:x509-token orasp:enc-key-ref-mech="thumbprint" orasp:is-encrypted="false" orasp:is-signed="true" orasp:sign-key-ref-mech="thumbprint"/> <orasp:msg-security orasp:algorithm-suite="Basic128" orasp:confirm-signature="true" orasp:encrypt-signature="false" orasp:include-timestamp="true" orasp:sign-then-encrypt="true" orasp:use-derived-keys="false"> <orasp:request> <orasp:signed-parts> <orasp:body/> <orasp:header orasp:namespace="http://www.w3.org/2005/08/addressing"/> <orasp:header orasp:namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/> <orasp:header orasp:name="fmw-context" orasp:namespace="http://xmlns.oracle.com/fmw/context/1.0"/> </orasp:signed-parts> <orasp:encrypted-parts> <orasp:body/> <orasp:header orasp:name="fmw-context" orasp:namespace="http://xmlns.oracle.com/fmw/context/1.0"/> </orasp:encrypted-parts> </orasp:request> <orasp:response> <orasp:signed-parts> <orasp:body/> </orasp:signed-parts> <orasp:encrypted-parts> <orasp:body/> </orasp:encrypted-parts> </orasp:response> <orasp:fault/> </orasp:msg-security> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="Wss11StsIssuedTokenWithCertsConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.enc.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="constant" orawsp:name="role" orawsp:type="string"> <orawsp:Value>ultimateReceiver</orawsp:Value> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:wss11-sts-issued-token-with-certificates>
表C-82に示されているプロパティを構成できます。また、「オーバーライド可能なWebサービス・ポリシーの添付」で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
このポリシーは、信頼されるSTS(セキュリティ・トークン・サービス)によって発行されたSAML送信者保証アサーションを挿入します。メッセージは、クライアントの秘密鍵を使用して用して保護されます。
このポリシーには、oracle/wss11_sts_issued_saml_with_message_protection_client_policyアサーション・テンプレートが含まれています。このアサーションの詳細は、「WS-Trustアサーション・テンプレート」を参照してください。
oracle/wss11_sts_issued_saml_with_message_protection_client_policyポリシー・アサーションは次のようになります。
<orasp:wss11-sts-issued-token-with-certificates xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orasp:require-applies-to="true" orasp:require-client-entropy="true" orasp:require-server-entropy="true" orasp:trust-version="13" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication, security/msg-protection" orawsp:name="WS-Security 1.1, issued token"> <orasp:issued-token orasp:require-external-reference="true" orasp:require-internal-reference="true" orasp:use-derived-keys="false"> <orasp:request-security-token-template orasp:algorithm-suite="Basic128" orasp:token-type="SAML11"/> </orasp:issued-token> <orasp:x509-token orasp:enc-key-ref-mech="thumbprint" orasp:is-encrypted="false" orasp:is-signed="true" orasp:sign-key-ref-mech="direct"/> <orasp:msg-security orasp:algorithm-suite="Basic128" orasp:confirm-signature="true" orasp:encrypt-signature="false" orasp:include-timestamp="true" orasp:sign-then-encrypt="true" orasp:use-derived-keys="false"> <orasp:request> <orasp:signed-parts> <orasp:body/> <orasp:header orasp:namespace="http://www.w3.org/2005/08/addressing"/> <orasp:header orasp:namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/> <orasp:header orasp:name="fmw-context" orasp:namespace="http://xmlns.oracle.com/fmw/context/1.0"/> </orasp:signed-parts> <orasp:encrypted-parts> <orasp:body/> <orasp:header orasp:name="fmw-context" orasp:namespace="http://xmlns.oracle.com/fmw/context/1.0"/> </orasp:encrypted-parts> </orasp:request> <orasp:response> <orasp:signed-parts> <orasp:body/> </orasp:signed-parts> <orasp:encrypted-parts> <orasp:body/> </orasp:encrypted-parts> </orasp:response> <orasp:fault/> </orasp:msg-security> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="Wss11StsIssuedTokenWithCertsConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.user.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.x509.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:name="on.behalf.of" orawsp:type="boolean"> <orawsp:Value>true</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="sts.auth.on.behalf.of.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.recipient.alias" orawsp:type="string"> <orawsp:Value>orakey</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.enc.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:wss11-sts-issued-token-with-certificates>
Webサービス・クライアントの設定方法については、「自動ポリシー構成の設定: 主な手順」を参照してください。
このポリシーを使用する場合、STSに対して認証する鍵(ユーザー名/パスワードまたはX.509)を指定するようWebサービス・キーストアを設定する必要があります。「メッセージ保護に関するキーストアの設定」を参照してください。、
オーバーライド可能な構成設定については、「WS-Trustクライアント・ポリシーの構成情報に対するプログラムによるオーバーライド」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法としては、keystore.recipient.aliasの値を指定するか、この値をポリシー添付時にクライアントごとにオーバーライドすることもできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージ暗号化の鍵の取得時にキーストア内の公開鍵の検索に使用される別名を指定します。
keystore.enc.csf.keyの値を指定するか、ポリシー添付時にクライアントごとにオーバーライドできます。
Webサービス・クライアントの設定方法については、「自動ポリシー構成の設定: 主な手順」を参照してください。
このポリシーを使用する場合、STSに対して認証する鍵(ユーザー名/パスワードまたはX.509)を指定するようWebサービス・キーストアを設定する必要があります。「メッセージ保護に関するキーストアの設定」を参照してください。、
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。STS構成設定の例は、「WS-Trustクライアント・ポリシーのための、プログラムによる構成情報のオーバーライド」を参照してください。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法としては、keystore.recipient.aliasの値を指定するか、この値をポリシー添付時にクライアントごとにオーバーライドすることもできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージ暗号化の鍵の取得時にキーストア内の公開鍵の検索に使用される別名を指定します。
keystore.enc.csf.keyの値を指定するか、ポリシー添付時にクライアントごとにオーバーライドできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
この項では、事前定義済のMTOMポリシーについて説明します。
SOAP Message Transmission Optimization Mechanism/XML-binary Optimized Packaging(MTOM/XOP)は、SOAPメッセージ内のxs:base64Binaryまたはxs:hexBinaryタイプのXMLデータの転送を最適化するためのメソッドを定義します。
Message Transmission Optimization Mechanism(MTOM)ポリシーは、MTOM形式ではないインバウンド・メッセージを拒否し、アウトバウンド・メッセージがMTOM形式であるかどうかを検証します。
MTOMはhttp://www.w3.org/TR/2005/REC-soap12-mtom-20050125
の仕様書と、SOAP 1.2およびSOAP1.1バインディングに関してはhttp://www.w3.org/Submission/2006/SUBM-soap11mtom10-20060405
を参照します。
WebサービスのクライアントでMTOMを有効にするには、次の例に示されているように、Webサービス・プロキシまたはディスパッチの作成時にパラメータとしてjavax.xml.ws.soap.MTOMFeatureを渡します。
package examples.webservices.mtom.client; import javax.xml.ws.soap.MTOMFeature; public class Main { public static void main(String[] args) { String FOO = "FOO"; MtomService service = new MtomService() MtomPortType port = service.getMtomPortTypePort(new MTOMFeature()); String result = null; result = port.echoBinaryAsString(FOO.getBytes()); System.out.println( "Got result: " + result ); } }
WS-ReliableMessagingは、メッセージ交換を信頼できるものにします。また、ソフトウェア・コンポーネント、システムまたはネットワークの障害には関係なく、分散アプリケーション間でメッセージが確実に送信されることを保証します。順序付き配信が保証されているため、クライアント・アプリケーションごとに、失敗したメッセージの自動再送信をコーディングする必要はありません。
Webサービスで次の問題が発生している場合は、信頼できるメッセージングの使用を検討してください。
ネットワーク障害や接続の切断
メッセージの転送中の消失
メッセージの順不同での宛先への到着
WS-ReliableMessagingでは、メッセージの送信元と宛先はクライアント・サーバー・モデルに依存しないものとみなされます。つまり、クライアントとサーバーはそれぞれ、通信パスでメッセージの送信元および宛先の両方として同時に機能できます。
この項では、事前定義済の信頼できるメッセージング・ポリシーについて説明します。
表11-1に、WS-RMポリシーに設定できるプロパティをリストします。
表11-1 WS-RMポリシーのプロパティ
プロパティ名 | 説明 | ポリシーで使用されるデフォルト値 | 使用可能な値 |
---|---|---|---|
DeliveryAssurance |
配信の保証。次のように配信の保証タイプを定義します。
|
InOrder |
InOrder AtLeastOnce AtLeastOnceInOrder ExactlyOnce ExactlyOnceInOrder AtMostOnce AtMostOnceInOrder |
StoreType |
メッセージ・ストアのタイプ。 |
InMemory |
InMemory FileSystem(完全にはサポートされていません) JDBC |
StoreName |
メッセージ・ストアの名前。 |
oracle |
文字列値 |
jdbc-connection-name |
JDBCデータ・ソースへのJNDI参照。このフィールドは、StoreTypeがJDBCに設定されている場合のみ有効です。この値は、jdbc-connection-urlより優先されます。ユーザー名とパスワードは、両方存在する場合に使用されます。 |
jdbc/MessagesStore |
有効なJDBCストア |
InactivityTimeout |
特定のWS-ReliableMessagingシーケンスに関連付けられたメッセージ交換の間隔の許容時間(ミリ秒単位)。この値に達すると、シーケンスは自動的に終了し、破棄されます。 |
600000 |
時間(ミリ秒単位) |
BaseRetransmissionInterval |
メッセージを送信してからメッセージの確認を受信しない場合にメッセージを再送するまでのソース・エンドポイントの待機時間(ミリ秒単位)。 |
3000 |
時間(ミリ秒単位) |
このポリシーは、Web Services Reliable Messagingプロトコルのバージョン1.0のサポートを提供します。このポリシーは、SOAPベースのすべてのクライアントまたはエンドポイントに添付できます。
マルチメッセージ・シーケンスの場合、クライアント・コードには、シーケンス境界を区切るメソッドの明示的な呼び出しが含まれている必要があります。含まれていない場合、各メッセージは独自のシーケンスでラップされます。
クライアントを編集して、サービスに送信されるメッセージの信頼できるメッセージング・セッションを有効にします。oracle.webservices.rm.client.RMSessionLifecycleインタフェースは、WS-RMシーケンス境界を区切るメカニズムをクライアントに提供します。
例11-8に、WS-RMクライアントのサンプル・コードを示します。このコードでは、新しいTestServiceが作成されます。クライアントがサービスと通信するときに使用されるTestPortが取得されます。ポート・オブジェクトがRMSessionLifecycleオブジェクトにキャストされ、信頼できるメッセージング・セッションがそのオブジェクト上で開かれます(openSession)。メッセージがサービスに送信されると、セッションは終了します(closeSession)。
例11-8 サンプルのWS-Rmクライアント・コード
public class ClientServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int num1 = Integer.parseInt(request.getParameter("num1")); int num2 = Integer.parseInt(request.getParameter("num2")); String outputStr = null; TestService service = new TestService(); Test port = service.getTestPort(); try { ((RMSessionLifecycle) port).openSession(); outputStr = port.hello(inputStr); } catch (Exception e) { e.printStackTrace(); outputStr = e.getMessage(); } finally { ((RMSessionLifecycle) port).closeSession(); response.getOutputStream().write(outputStr.getBytes()); } } }
このポリシーは、Web Services Reliable Messagingプロトコルのバージョン1.1のサポートを提供します。このポリシーは、SOAPベースのすべてのクライアントまたはエンドポイントに添付できます。
マルチメッセージ・シーケンスの場合、クライアント・コードには、シーケンス境界を区切るメソッドの明示的な呼び出しが含まれている必要があります。含まれていない場合、各メッセージは独自のシーケンスでラップされます。
クライアントを編集して、サービスに送信されるメッセージの信頼できるメッセージング・セッションを有効にします。oracle.webservices.rm.client.RMSessionLifecycleインタフェースは、WS-RMシーケンス境界を区切るメカニズムをクライアントに提供します。
例11-8に、サーブレット・クライアントを示します。このコードでは、新しいTestServiceが作成されます。クライアントがサービスと通信するときに使用されるTestPortが取得されます。ポート・オブジェクトがRMSessionLifecycleオブジェクトにキャストされ、信頼できるメッセージング・セッションがそのオブジェクト上で開かれます(openSession)。メッセージがサービスに送信されると、セッションは終了します(closeSession)。
この項では、事前定義済の管理ポリシーについて説明します。
このポリシーを使用すると、メッセージ・ログにリクエスト、レスポンスおよびフォルト・メッセージが送信されます。
このポリシーには、oracle/log_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/security_log_template」を参照してください。
Webサービス・クライアントとWebサービスにポリシーを添付する方法には、クライアントおよびサービスの設計時に行う方法と、デプロイ後に行う方法の2つがあります。
デプロイ後、Oracle Enterprise Manager Fusion Middleware Controlを使用して、SOAコンポジット、ADF、WebCenterアプリケーションにセキュリティ・ポリシーと管理ポリシーを添付します。この方法は、Webサービス・セキュリティをセキュリティ管理者の制御に移行するため、最も強力で柔軟性があります。
設計時は、Oracle JDeveloperにより、ADFおよびSOAクライアント・ポリシー添付が自動化されます。また、プログラムによってOracle WSMセキュリティおよび管理ポリシーをアプリケーションに添付することもできます。これを行うには、通常、Oracle JDeveloperなどの任意のIDEを使用します。
どちらの方法でも、クライアント側ポリシーは、Webサービスに関連付けられたポリシーと同等のものである必要があります。2つのファイルが異なり、各ファイルに含まれるアサーションの競合が発生している場合、Webサービスの操作を起動すると、エラーが返されます。
たとえば、oracle/wss_http_token_over_ssl_service_policyポリシーで相互認証が必要になる場合、クライアント・ポリシーを相互認証用に設定する必要もあります。
事前定義済ポリシーの場合、クライアントとWebサービス・ポリシーの両方が含まれます。新しいポリシーを作成する場合、「Webサービス・ポリシーの作成」の説明に従ってポリシーを生成すると、クライアント・ポリシーがサービス・ポリシーと連携する可能性が高くなります。
「オーバーライド可能なクライアント・ポリシーの添付」では、ポリシー構成のオーバーライド機能について説明しています。この機能では、ポリシーを添付するときに特定のWebサービス・クライアントの構成情報を指定できます。ただし、この構成情報を設計時にプログラムによってオーバーライドすることもできます。この項では、クライアントのプログラムによるオーバーライドについて説明します。
表11-2に、プログラムによる構成のオーバーライドを利用して特定のポリシーに設定できるプロパティを示します。例11-9に、プログラムからこれらのプロパティを設定する例を示します。
表11-2 プログラムによる構成のオーバーライドを利用して設定されるプロパティ
プロパティのリスト | 説明 | 適用対象のポリシー |
---|---|---|
oracle.wsm.security.util.SecurityConstants.ClientConstants.CALLER_PRINCIPAL_NAME |
注意: J2EEアプリケーションのクライアント・アイデンティティを伝搬するためには、 |
wss11_kerberos_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_CSF_KEY |
クライアントで資格証明ストアが使用可能な場合に、資格証明ストアで指定されたcsf-keyに対応するユーザー名とパスワードを取得します。 このプロパティを使用する代わりに、例11-9に示すように、ユーザー名とパスワードを明示的に設定することもできます。 |
oracle/wss10_username_token_with_message_protection_client_policy oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy oracle/wss11_username_token_with_message_protection_client_policy oracle/wss_username_token_client_policy oracle/wss_username_token_over_ssl_client_policy oracle/wss10_username_id_propagation_with_msg_protection_client_policy oracle/wss_http_token_client_policy oracle/wss_http_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_KEYSTORE_LOCATION |
このプロパティは、キーストア・ファイルの場所を設定します。この値を指定すると、静的に構成された値がオーバーライドされます。タイプ: java.lang.String |
oracle/wss10_message_protection_client_policy oracle/wss10_saml_hok_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_integrity_client_policy oracle/wss10_saml_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy oracle/wss10_username_token_with_message_protection_client_policy oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy oracle/wss10_x509_token_with_message_protection_client_policy oracle/wss11_kerberos_token_with_message_protection_client_policy oracle/wss11_message_protection_client_policy oracle/wss11_saml_token_with_message_protection_client_policy oracle/wss11_username_token_with_message_protection_client_policy oracle/wss11_x509_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_KEYSTORE_TYPE |
このプロパティは、キーストア・ファイルのタイプを設定します。この値を指定すると、静的に構成された値がオーバーライドされます。タイプ: java.lang.String デフォルトはJKSです。 |
oracle/wss10_message_protection_client_policy oracle/wss10_saml_hok_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_integrity_client_policy oracle/wss10_saml_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy oracle/wss10_username_token_with_message_protection_client_policy oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy oracle/wss10_x509_token_with_message_protection_client_policy oracle/wss11_kerberos_token_with_message_protection_client_policy oracle/wss11_message_protection_client_policy oracle/wss11_saml_token_with_message_protection_client_policy oracle/wss11_username_token_with_message_protection_client_policy oracle/wss11_x509_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_KEYSTORE_PASSWORD |
このプロパティは、キーストア・ファイルのパスワードを設定します。この値を指定すると、静的に構成された値がオーバーライドされます。タイプ: java.lang.String |
oracle/wss10_message_protection_client_policy oracle/wss10_saml_hok_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_integrity_client_policy oracle/wss10_saml_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy oracle/wss10_username_token_with_message_protection_client_policy oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy oracle/wss10_x509_token_with_message_protection_client_policy oracle/wss11_kerberos_token_with_message_protection_client_policy oracle/wss11_message_protection_client_policy oracle/wss11_saml_token_with_message_protection_client_policy oracle/wss11_username_token_with_message_protection_client_policy oracle/wss11_x509_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_SIG_KEY_ALIAS |
このプロパティは、デジタル署名に使用されるキーストア内のキーの別名を設定します。この値を指定すると、静的に構成された値がオーバーライドされます。タイプ: java.lang.String WSS11ポリシーの場合、このプロパティは相互認証の場合にのみ使用されます。 |
oracle/wss10_message_protection_client_policy oracle/wss10_saml_hok_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_integrity_client_policy oracle/wss10_saml_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy oracle/wss10_username_token_with_message_protection_client_policy oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy oracle/wss10_x509_token_with_message_protection_client_policy oracle/wss11_kerberos_token_with_message_protection_client_policy oracle/wss11_message_protection_client_policy oracle/wss11_saml_token_with_message_protection_client_policy oracle/wss11_username_token_with_message_protection_client_policy oracle/wss11_x509_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_SIG_KEY_PASSWORD |
このプロパティは、デジタル署名に使用されるキーストア内のキーの別名に対応するパスワードを設定します。この値を指定すると、静的に構成された値がオーバーライドされます。タイプ: java.lang.String WSS11ポリシーの場合、このプロパティは相互認証の場合にのみ使用されます。 |
oracle/wss10_message_protection_client_policy oracle/wss10_saml_hok_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_integrity_client_policy oracle/wss10_saml_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy oracle/wss10_username_token_with_message_protection_client_policy oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy oracle/wss10_x509_token_with_message_protection_client_policy oracle/wss11_kerberos_token_with_message_protection_client_policy oracle/wss11_message_protection_client_policy oracle/wss11_saml_token_with_message_protection_client_policy oracle/wss11_username_token_with_message_protection_client_policy oracle/wss11_x509_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_ENC_KEY_ALIAS |
このプロパティは、サービスからのレスポンスの復号化に使用されるキーストア内のキーの別名を設定します。この値を指定すると、静的に構成された値がオーバーライドされます。タイプ: java.lang.String WSS11ポリシーでは使用されません。 |
oracle/wss10_message_protection_client_policy oracle/wss10_saml_hok_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_integrity_client_policy oracle/wss10_saml_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy oracle/wss10_username_token_with_message_protection_client_policy oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy oracle/wss10_x509_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_ENC_KEY_PASSWORD |
このプロパティは、復号化に使用されるキーストア内のキーのパスワードを設定します。この値を指定すると、静的に構成された値がオーバーライドされます。タイプ: java.lang.String WSS11ポリシーでは使用されません。 |
oracle/wss10_message_protection_client_policy oracle/wss10_saml_hok_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_integrity_client_policy oracle/wss10_saml_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy oracle/wss10_username_token_with_message_protection_client_policy oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy oracle/wss10_x509_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_RECIPIENT_KEY_ALIAS |
このプロパティは、アウトバウンド・メッセージ・タイプの暗号化に使用される受信者の公開鍵の別名を設定します。この値を指定すると、静的な構成値がオーバーライドされます。タイプ: java.lang.String |
oracle/wss10_message_protection_client_policy oracle/wss10_saml_hok_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_integrity_client_policy oracle/wss10_saml_token_with_message_protection_client_policy oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy oracle/wss10_username_token_with_message_protection_client_policy oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy oracle/wss10_x509_token_with_message_protection_client_policy oracle/wss11_kerberos_token_with_message_protection_client_policy oracle/wss11_message_protection_client_policy oracle/wss11_saml_token_with_message_protection_client_policy oracle/wss11_username_token_with_message_protection_client_policy oracle/wss11_x509_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_SUBJECT_PRECEDENCE |
SAMLクライアント・ポリシーの場合、サブジェクトではなく、クライアント指定のユーザー名を使用する必要があるときは、このプロパティをfalseに設定します。 |
「SAMLの構成」に示されているすべてのSAMLクライアント・ポリシーに適用されます。 |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_SAML_ISSUER_NAME |
このプロパティは、SAMLメカニズムを使用して保護されているサービスにアクセスしようとする場合に、SAML発行者名を設定します。この値を指定すると、静的な構成値がオーバーライドされます。タイプ: java.lang.String |
「SAMLの構成」に示されているすべてのSAMLクライアント・ポリシーに適用されます。 |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_INCLUDE_USER_ROLES |
このプロパティは、SAMLアサーションのユーザー・ロールを設定します。 |
「SAMLの構成」に示されているすべてのSAMLクライアント・ポリシーに適用されます。 |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_SAML_ASSERTION_FILE_NAME |
SAML HOKポリシーの場合、このファイルにはアサーションが含まれます。 |
「SAMLの構成」に示されているすべてのSAMLクライアント・ポリシーに適用されます。 |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_KERBEROS_SERVICE_PRINCIPAL |
このプロパティは、Kerberosメカニズムを使用して保護されているサービスにアクセスしようとする場合の、サービス・プリンシパル名を設定します。この値を指定すると、静的な構成値がオーバーライドされます。タイプ: java.lang.String |
oracle/wss11_kerberos_token_with_message_protection_client_policy |
BindingProvider.USERNAME_PROPERTY( |
認証のユーザー名 |
ユーザー名ポリシー、およびアイデンティティ切替えポリシーを含むSAMLポリシーによって使用されます。 ユーザー名クライアント・ポリシーの場合は、次の2つのオプションがあります。
アイデンティティ切替えポリシーを含むSAMLクライアント・ポリシーの場合は、 |
BindingProvider.PASSWORD_PROPERTY( |
認証のパスワード。 |
ユーザー名クライアント・ポリシーによって使用されます。 |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_STS_AUTH_X509_CSF_KEY |
X509証明書をSTSで認証するように構成する場合に使用します。 STS構成ポリシーの |
oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policy oracle/wss11_sts_issued_saml_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_STS_AUTH_USER_CSF_KEY |
ユーザー名/パスワードをSTSで認証するよう構成する場合に使用します。 STS構成ポリシーの |
oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policy oracle/wss11_sts_issued_saml_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_STS_AUTH_ON_BEHALF_OF_CSF_KEY |
オプション・プロパティです。代理人を構成する場合に使用します。代理人がいる場合は、「件名」(存在する場合)の上に表示される特定のプリファレンスとなります。 |
oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policy oracle/wss11_sts_issued_saml_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.ON_BEHALF_OF |
オプション・プロパティです。リクエストが別のエンティティの代理かどうかを指定する場合には、このプロパティをオーバーライドします。このフラグのデフォルト値はtrueです。フラグをtrueに設定し、 そうでない場合、件名が確立済であれば、その件名のユーザー名が
|
oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policy oracle/wss11_sts_issued_saml_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.STS_KEYSTORE_RECIPIENT_ALIAS |
STSの公開鍵の別名 |
oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policy oracle/wss11_sts_issued_saml_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.ATTESTING_MAPPING_ATTRIBUTE |
アテスト・エンティティを表現する場合に使用されるマッピング属性。現在サポートされているのはDNのみです。この属性は、送信者保証とメッセージ保護ユース・ケースにのみ適用されます。SAML over SSLポリシーには適用できません。 |
wss10_saml20_token_with_message_protection_client_policy wss11_saml20_token_with_message_protection_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.SAML_AUDIENCE_URI |
リライング・パーティをカンマ区切りのURIで表現します。このフィールドはワイルドカードを受け入れます。 |
wss10_saml_token_client_policy wss10_saml20_token_client_policy wss_saml_token_bearer_over_ssl_client_policy wss_saml20_token_bearer_over_ssl_client_policy wss_saml_token_over_ssl_client_policy wss_saml20_token_over_ssl_client_policy wss10_saml_token_with_message_protection_client_policy wss10_saml20_token_with_message_protection_client_policy wss11_saml_token_with_message_protection_client_policy wss11_saml20_token_with_message_protection_client_policy |
例11-9に、キーストアとユーザー名またはパスワードをオーバーライドするWebサービス・クライアントの例を示します。
オーバーライドした構成プロパティをクリアするには、空の文字列を設定します。
クリアする前に、他のポリシーで同じプロパティを使用している可能性がないかを確認します。プロパティはクライアント固有ですが、同じプロパティを使用する同一クライアントに複数のポリシーが添付されている場合があります。
例11-9 キーストアとユーザー名またはパスワードのオーバーライド
package example; import oracle.wsm.security.utils.SecurityConstants; public class MyClientJaxWs { public static void main(String[] args) { try { URL serviceWsdl = new URL("http://localhost/myApp/myPort?WSDL"); QName serviceName = new QName("MyNamespace", "MyService"); Service service = Service.create(serviceWsdl, serviceName); MyInterface proxy = service.getPort(MyInterface.class); RequestContext context = ((BindingProvider)proxy).getRequestContext(); context.put(oracle.webservices.ClientConstants.CLIENT_CONFIG, new File( "c:/dat/client-pdd.xml" ) ); context.put(BindingProvider.USERNAME_PROPERTY, getCurrentUsername() ); context.put(BindingProvider.PASSWORD_PROPERTY, getCurrentPassword() ); context.put(SecurityConstants.ClientConstants.WSS_KEYSTORE_LOCATION, "c:/mykeystore.jks"); context.put(SecurityConstants.ClientConstants.WSS_KEYSTORE_PASSWORD, "keystorepassword" ); context.put(SecurityConstants.ClientConstants.WSS_KEYSTORE_TYPE, "JKS" ); context.put(SecurityConstants.ClientConstants.WSS_SIG_KEY_ALIAS, "your signature alias" ); context.put(SecurityConstants.ClientConstants.WSS_SIG_KEY_PASSWORD, "your signature password" ); context.put(SecurityConstants.ClientConstants.WSS_ENC_KEY_ALIAS, "your encryption alias" ); context.put(SecurityConstants.ClientConstants.WSS_ENC_KEY_PASSWORD, "your encryption password" ); System.out.println(proxy.myOperation("MyInput")); } catch (Exception e) { e.printStackTrace(); } } }
例11-9では、参照されているc:/dat/client-pdd.xmlの内容は次のようになると考えられます。
! -- The contents of c:/dat/client-pdd.xml file mentioned above -- > <oracle-webservice-clients> <webservice-client> <port-info> <policy-references> <policy-reference uri="management/Log_Msg_Policy" category="management"/> <policy-reference uri="oracle/wss10_username_token_with_message_protection_client_policy" category="security"/> </policy-references> </port-info> </webservice-client> </oracle-webservice-clients>
Oracle WSMでは、コンポジットからコンポジットを起動できるようにするSOAのローカルの最適化機能がサポートされています。この機能では、一方のコンポジットの参照で同じコンテナで実行しているもう一方のコンポジットにバインディングするWebサービスを指定します。ローカルの最適化により、ランタイム時のHTTPスタックおよびSOAPと正規化されたメッセージの変換を回避できるようになります。
このSOAのローカルの最適化機能については、Oracle Fusion Middleware管理者ガイド for Oracle SOA SuiteおよびOracle Business Process Management Suiteのコンポジット間の起動でのポリシー添付とローカルの最適化に関する項で説明されており、ここには要約を記載します。
ローカルの最適化機能をコントロールするには次の2通りの方法があり、それぞれが異なるスコープを持ちます。
composite.xml
ファイルのバインディング・セクションにoracle.webservices.local.optimization
プロパティを追加する方法。使用可能な値は、true
とfalse
の2つです。
true
-- 表11-3に示すように、ローカルの最適化はポリシーでサポートされる場合に使用され、「ポリシー・レベルの最適化コントロールの構成」で説明されているように、ポリシー・レベルのコントロールを構成して使用されます。
最適化が使用される場合、ポリシーは適用されません。
false
-- ポリシー・レベルのコントロールの構成方法や表11-3に示すローカルの最適化プロパティのデフォルトのポリシー設定に関係なく、ローカルの最適化は使用されません。
この設定ではポリシーが強制的に適用されます。
コンポジット・レベルのプロパティは、ポリシー・レベルの構成とは無関係です。つまり、ポリシーが添付されているかどうかに関係なく最適化を無効にする場合は、コンポジット・レベルのプロパティをfalse
に設定します。
composite.xml
ファイルのバインディング・セクションでoracle.webservices.local.optimization
プロパティを追加して、ポリシーのローカルの最適化設定をオーバーライドする方法の詳細は、「コンポジット間の起動でのポリシー添付とローカルの最適化」を参照してください。
「ポリシー・レベルの最適化コントロールの構成」で説明されているように、ポリシーの最適化コントロールを構成する方法。ポリシー・レベルのプロパティは、コンポジット・レベルのプロパティによってオーバーライドされる場合を除いて、ポリシーが使用されるときには必ず最適化をコントロールします。
注意: Webサービスに添付されたポリシーがある場合、この最適化を使用すると、そのポリシーは起動されないことがあります。そのため、ポリシーごとに、ローカルの最適化を使用するかどうかを決定する必要があります。事前定義済ポリシーの最適化設定を変更すると、ポリシーが呼び出されなくなり、結果的に想定外の動作をする可能性があります。そのため、事前定義済ポリシーの最適化設定は変更しないことをお薦めします。 |
図11-4に示すように、最適化のコントロールは、ポリシーを作成または編集するときに使用できます。
「ローカルの最適化」コントロールには、「オン」、「オフ」、「アイデンティティの確認」の3つの設定があります。
オン - 最適化が有効になり、ポリシーは適用されません。
オフ」 - 最適化は無効になり、ポリシーが適用されます。リクエストは通常のWS/SOAP/HTTPプロセスに従って処理されます。
アイデンティティの確認: JAASサブジェクトが現在のスレッドにすでに存在し、認証がすでに成功したことを示している場合にのみ最適化します。存在しない場合は、通常のWS/SOAP/HTTPプロセスが実行されます。
表11-3に、事前定義済ポリシーを示し、各ポリシーがローカルの最適化機能を実装する方法について説明します。
表11-3 事前定義済ポリシーのデフォルトの最適化設定
ポリシー名 | デフォルトの最適化設定 |
---|---|
oracle/wsaddr10_policy |
オン |
oracle/binding_authorization_denyall_policy |
常に「オフ」 |
oracle/binding_authorization_permitall_policy |
常に「オフ」 |
oracle/binding_permission_authorization_policy |
常に「オフ」 |
oracle/component_authorization_all_policy |
バインディングには適用しない |
oracle/log_policy |
オン |
oracle/no_addressing_policy |
オフ |
oracle/no_authentication_client_policy |
オフ |
oracle/no_authentication_service_policy |
オフ |
oracle/no_authorization_component_policy |
オフ |
oracle/no_authorization_service_policy |
オフ |
oracle/no_messageprotection_client_policy |
オフ |
oracle/no_messageprotection_service_policy |
オフ |
oracle/no_mtom_policy |
オフ |
oracle/no_wsrm_policy |
オフ |
oracle/sts_trust_config_client_policy |
オフ |
oracle/sts_trust_config_service_policy |
オフ |
oracle/whitelist_authorization_policy |
常に「オフ」 |
oracle/wsaddr_policy |
オン |
oracle/wsmtom_policy |
オン |
oracle/wsrm10_policy |
オン |
oracle/wsrm11_policy |
オン |
oracle/wss_http_token_client_policy |
オフ |
oracle/wss_http_token_service_policy |
オフ |
oracle/wss_http_token_over_ssl_client_policy |
オフ |
oracle/wss_http_token_over_ssl_service_policy |
オフ |
oracle/wss11_kerberos_token_client_policy |
オフ |
oracle/wss11_kerberos_token_service_policy |
オフ |
oracle/wss_username_token_client_policy |
オフ |
oracle/wss_username_token_service_policy |
オフ |
oracle/wss_username_token_over_ssl_client_policy |
オフ |
oracle/wss_username_token_over_ssl_service_policy |
オフ |
oracle/wss10_message_protection_client_policy |
オン |
oracle/wss10_message_protection_service_policy |
オン |
oracle/wss10_username_token_with_message_protection_client_policy |
オフ |
oracle/wss10_username_token_with_message_protection_service_policy |
オフ |
oracle/wss10_x509_token_with_message_protection_client_policy |
オフ |
oracle/wss10_x509_token_with_message_protection_service_policy |
オフ |
oracle/wss10_saml_token_with_message_protection_client_policy |
アイデンティティの確認 |
oracle/wss10_saml_token_with_message_protection_service_policy |
アイデンティティの確認 |
oracle/wss11_saml_token_with_message_protection_client_policy |
アイデンティティの確認 |
oracle/wss11_saml_token_with_message_protection_service_policy |
アイデンティティの確認 |
oracle/wss11_saml20_token_with_message_protection_client_policy |
アイデンティティの確認 |
oracle/wss11_saml20_token_with_message_protection_service_policy |
アイデンティティの確認 |
oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policy |
オフ |
oracle/wss11_sts_issued_saml_hok_with_message_protection_service_policy |
オフ |
oracle/wss11_sts_issued_saml_with_message_protection_client_policy |
オフ |
oracle/wss11_sts_issued_saml_with_message_protection_client_policy |
オフ |
oracle/wss10_saml_token_with_message_integrity_client_policy |
アイデンティティの確認 |
oracle/wss10_saml_token_with_message_integrity_service_policy |
アイデンティティの確認 |
oracle/wss10_saml20_token_with_message_protection_client_policy |
アイデンティティの確認 |
oracle/wss10_saml20_token_with_message_protection_service_policy |
アイデンティティの確認 |
oracle/wss10_saml_token_client_policy |
アイデンティティの確認 |
oracle/wss10_saml_token_service_policy |
アイデンティティの確認 |
oracle/wss10_saml20_token_client_policy |
アイデンティティの確認 |
oracle/wss10_saml20_token_service_policy |
アイデンティティの確認 |
oracle/wss10_username_id_propagation_with_msg_protection_client_policy |
アイデンティティの確認 |
oracle/wss10_username_id_propagation_with_msg_protection_service_policy |
アイデンティティの確認 |
oracle/wss11_message_protection_client_policy |
オン |
oracle/wss11_message_protection_service_policy |
オン |
oracle/wss11_username_token_with_message_protection_client_policy |
オフ |
oracle/wss11_username_token_with_message_protection_service_policy |
オフ |
oracle/wss11_x509_token_with_message_protection_client_policy |
オフ |
oracle/wss11_x509_token_with_message_protection_service_policy |
オフ |
oracle/wsrm10_policy |
オン |
oracle/wsrm11_policy |
オン |
oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy |
オフ |
oracle/wss10_username_token_with_message_protection_ski_basic256_service_policy |
オフ |
oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy |
アイデンティティの確認 |
oracle/wss10_saml_token_with_message_protection_ski_basic256_service_policy |
アイデンティティの確認 |
wss11_saml_or_username_token_with_message_protection_client_policy |
アイデンティティの確認 |
wss11_saml_or_username_token_with_message_protection_service_policy |
アイデンティティの確認 |
wss11_saml_token_identity_switch_with_message_protection_client_policy |
オフ |
wss10_saml_hok_token_with_message_protection_client_policy |
オフ |
wss10_saml_hok_token_with_message_protection_service_policy |
オフ |
oracle/wss_saml_or_username_token_over_ssl_service_policy |
アイデンティティの確認 |
wss_saml_token_over_ssl_client_policy |
アイデンティティの確認 |
wss_saml_token_over_ssl_service_policy |
アイデンティティの確認 |
wss_saml20_token_over_ssl_client_policy |
アイデンティティの確認 |
wss_saml20_token_over_ssl_service_policy |
アイデンティティの確認 |
wss_saml_token_bearer_over_ssl_client_policy |
アイデンティティの確認 |
wss_saml_token_bearer_over_ssl_service_policy |
アイデンティティの確認 |
oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy |
オフ |
oracle/wss_sts_issued_saml_bearer_token_over_ssl_service_policy |
オフ |
wss_saml20_token_bearer_over_ssl_client_policy |
アイデンティティの確認 |
wss_saml20_token_bearer_over_ssl_service_policy |
アイデンティティの確認 |
wss11_kerberos_token_with_message_protection_client_policy |
オフ |
wss11_kerberos_token_with_message_protection_service_policy |
オフ |
wss11_kerberos_token_with_message_protection_basic128_client_policy |
オフ |
wss11_kerberos_token_with_message_protection_basic128_service_policy |
オフ |