この章では、WebサービスおよびWebサービス・クライアントでポリシーを構成して、サービスのクオリティ(QoS)の要件を実現する方法を説明します。
事前定義済ポリシーは、付録B「事前定義済ポリシー」で説明されています。この付録は、ポリシーの形式に関する最も信頼性の高い情報源です。利便性を考慮して、この章でも付録の情報の一部を掲載しています。
この章では次の項について説明します。
注意: RESTfulサーブレットとして公開されるADFビジネス・コンポーネントなど、サーブレット・アプリケーションを保護するには、表8-1に示されているHTTPベースの認証または許可ポリシーを1つ以上添付できます。 |
次に示す一連の質問で、要件に最適なセキュリティ・ポリシーを確認できます。
セキュリティ・ポリシーの基本的な要件は何ですか。ユーザーのみを認証する必要があるのか、メッセージ保護のみが必要なのか、両方が必要なのかを決定してください。
認証のみが必要ですか。その場合は、手順2に進みます。
認可のみが必要ですか。その場合は、「認可ポリシーと構成手順」を参照してください。
認証および認可が必要ですか。その場合は、手順3に進みます。
メッセージ保護のみが必要ですか。その場合は、「メッセージ保護のみのポリシーと構成手順」を参照してください。
認証およびメッセージ保護の両方が必要ですか。その場合は、手順4に進みます。
認証のみが必要な場合は、考慮する必要のある基本的な質問が2つあります。
トークンをどこに組み込みますか。トランスポート・レイヤーとSOAPヘッダーのどちらにトークンを組み込みますか。
特定タイプのトークンを使用する必要がありますか。認証のみのポリシーでサポートされている資格証明は、ユーザー名/パスワード・トークン、SAMLトークン、JWTトークンおよび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つの概念があります。
メッセージの機密保護には、送信ユーザーおよび受信ユーザーのアイデンティティのみでなく、データの機密性も関係します。メッセージのコンテンツを暗号化し、送信ユーザーおよび受信ユーザーのアイデンティティを不明瞭化することで機密保護が実現されます。送信者は受信者の公開鍵を使用してメッセージを暗号化します。メッセージは受信者の秘密鍵でのみ正常に復号化できるため、送信中に第三者によってメッセージが読み取られることはありません。「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
メッセージ整合性は、認証局がメッセージにデジタルで署名することにより実現します。デジタル署名は、SOAPメッセージの送信者を認証したり、SOAPメッセージの整合性(SOAPメッセージが送信中に変更されていないこと)を保証したりするために使用されます。
デジタル署名がSOAPメッセージに適用されると、メッセージから一意のハッシュが生成されます。このハッシュは送信者の秘密鍵で暗号化されます。メッセージを受信すると、受信者は送信者の公開鍵を使用してハッシュを復号化します。
注意: 通常、証明書を検証するために受信者のキーストアに送信者の公開鍵を格納しておく必要はありません。キーストアにルート証明書があれば、証明書チェーンを検証できます。ただし、ThumbprintやSerialIssuerメカニズムなど、メッセージに送信者の公開鍵が存在しない場合は、送信者の公開鍵を受信者のキーストアに格納する必要があります。 |
送信者のみが秘密鍵を使用してハッシュを暗号化できるため、これで送信者を認証できます。受信者はメッセージとともに送信されるハッシュと、受信者側で生成するハッシュを比較できるため、SOAPメッセージが送信中に改ざんされていないことを確認できます。
次の内容を実行することで、メッセージ保護アサーション・テンプレートおよび事前定義済ポリシーを、リクエストやレスポンス・メッセージの保護に使用できます。
メッセージの署名
メッセージの暗号化
メッセージの署名および暗号化
メッセージの復号化
署名の検証
メッセージの復号化と署名の検証
事前定義済メッセージ保護ポリシー用のFusion Middleware Controlユーザー・インタフェースでは、署名、暗号化またはその両方を行うメッセージ部分を簡単に指定できます。本文全体、アイデンティティ固有のヘッダー要素や本文要素に対して署名、暗号化またはその両方を行うことができます。次に、部分的な暗号化の例を示します。
この例では、Fusion Middleware Controlを使用して、SOAPメッセージの一部が暗号化されます。
クレジット・カード番号(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/
要素名 = cardNr
「ポリシーの編集」ページ内の他のフィールドの詳細は、表C-118を参照してください。例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_identity_switch_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メッセージ本文全体を署名および暗号化して保護することです。必要な場合には、選択した要素を保護するように、アサーションおよびポリシーを構成できます。
「認証のみのポリシー」に、認証のみを実行するセキュリティ・ポリシーをまとめ、トークンがトランスポート・レイヤーまたはヘッダーに組み込まれるかどうかを示します。
この項では、認証のみの事前定義済ポリシー、ポリシーが適用されるWebサービスのタイプ、およびポリシーを使用するために実行する必要がある構成手順へのリンクを示します。
http_jwt_token_client_policyは、HTTPヘッダーにJWTトークンを含めます。ポリシーがクライアントにより使用される場合、Oracle WSMによってJWTトークンが自動的に作成されます。発行者名とサブジェクト名は、プログラムによって、またはポリシーを介して宣言的に提供されます。このポリシーにはオーディエンス制限条件を指定できます。
このポリシーは、HTTPベースのどのクライアント・エンドポイントにも適用できます。
ポリシー・ファイルは手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_jwt_token_client_template」を参照してください。
デフォルトでは、oracle/http_jwt_token_client_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-jwt-security orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication" orawsp:name="Http JWT Security"> <orasp:auth-header orasp:algorithm-suite="Basic128Sha256Rsa15" orasp:is-encrypted="false" orasp:is-signed="true" orasp:mechanism="jwt"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpJwtTokenConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.attributes" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="issuer.name" orawsp:type="string"> <orawsp:Value>www.oracle.com</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.roles.include" orawsp:type="string"> <orawsp:Value>false</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="csf.map" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="csf-key" orawsp:type="string"> <orawsp:Value>basic.credentials</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="subject.precedence" orawsp:type="string"> <orawsp:Value>true</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="audience.uri" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="propagate.identity.context" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.tenant.name" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-jwt-security>
認証済サブジェクトに基づいたアイデンティティではなく、別のアイデンティティを伝播して、動的なアイデンティティ切替えを実行します。このポリシーは、HTTPヘッダーにJWTトークンを含めます。ポリシーがクライアントにより使用される場合、Oracle WSMによってJWTトークンが自動的に作成されます。発行者名とサブジェクト名は、プログラムによって、またはポリシーを介して宣言的に提供されます。このポリシーにはオーディエンス制限条件を指定できます。
このポリシーは、HTTPベース、SOAPまたはRESTクライアント・エンドポイントで実行できます。
ポリシー・ファイルは手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_jwt_token_client_template」を参照してください。
デフォルトでは、subject.precedence
プロパティがfalse
に設定されていること以外は、 oracle/http_jwt_token_identity_switch_client_policyアサーション・コンテンツとoracle/http_jwt_token_client_policyは同じです。
<orawsp:Property orawsp:contentType="optional" orawsp:name="subject.precedence" orawsp:type="string"> <orawsp:Value>true</orawsp:Value> </orawsp:Property>
wss_saml_token_bearer_identity_switch_client_policyを任意のタイプのWebサービス・クライアントに割り当てます。
表C-33「wss_saml_token_bearer_client_templateの構成」に定義された構成プロパティをオーバーライドします。詳細は、「ユーザー定義のクライアント側またはサーバー側のオーバーライド・プロパティの構成」を参照してください。
認証されたサブジェクトのかわりにクライアント固有のユーザー名を使用できるようにするには、subject.precedence
をfalse
に設定します。(subject.precedence
がfalse
の場合、SAMLアサーションを作成するユーザー名は、csf-keyのユーザー名プロパティからのみ取得されます。)wss_saml_token_bearer_identity_switch_client_policyポリシーでは、このポリシーをアタッチするアプリケーションにWSIdentityPermission
権限が必要です。つまり、Oracle WSMが外部から提供されるアイデンティティをアプリケーションから受け入れるには、そのアプリケーションがWSIdentityPermission
権限を持つ必要があります。これにより、Oracle WSMが潜在的に悪質なアプリケーションからアイデンティティを提供されるのを回避します。
このポリシーの使用方法の詳細は、「アイデンティティ切替えのためのWebサービス・クライアントの構成」を参照してください。また、クライアント側でのアイデンティティ切替えポリシーによるユーザー名の選択方法について学習し、「WSIdentityPermission権限の設定」に記載されているようにWSIdentityPermission
権限を付与します。
JWTに関するその他の考慮事項は、「Oracle WSMでのJSON Web Token (JWT)の使用」を参照してください。
http_jwt_token_service_policyは、HTTPヘッダー内のJWTトークンに指定されているユーザー名を使用してユーザーを認証します。デフォルトのポリシー構成では、非対称署名を使用してJWTトークンが署名されます(algorithm-suite
属性がBasic128Sha256Rsa15
に設定されています)。
このポリシーはどのHTTPベース・エンドポイントにも添付できます。
ポリシー・ファイルは手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_jwt_token_service_template」を参照してください。
デフォルトでは、oracle/http_jwt_token_service_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-jwt-security orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication" orawsp:name="Http JWT Security"> <orasp:auth-header orasp:algorithm-suite="Basic128Sha256Rsa15" orasp:is-encrypted="false" orasp:is-signed="true" orasp:mechanism="jwt"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpJwtConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="trusted.issuers" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="csf.map" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="propagate.identity.context" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-jwt-security>
このポリシーは、HTTPヘッダーの資格証明を抽出して、Oracle Platform Security Servicesのアイデンティティ・ストアに対してユーザーを認証し、その情報をOracle Access Manager (OAM)トークンを使用して伝搬します。
ポリシー・ファイルは手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_oam_token_service_template」を参照してください。
デフォルトでは、oracle/http_oam_token_service_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-oam-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="true" orawsp:category="security/authentication" orawsp:name="Http OAM Security"> <orasp:auth-header orasp:mechanism="oam"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpOAMConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-oam-security>
OAMはサーバー側で設定する必要があります。HTTP OAMセキュリティを実行するには、OAM Webgateを構成して、リクエストのインターセプト、ユーザーの認証およびOAM_REMOTE_USER HTTP
ヘッダーの設定を行います。Oracle WSMは、リクエストを許可する前に、OAM_REMOTE_USER_HTTP
ヘッダーの有無を確認します。詳細は、『Oracle Fusion Middleware Oracle Access Management管理者ガイド』を参照してください。
このポリシーは、HTTPヘッダーにOAuth2アクセス・トークンを含めます。アクセス・トークン(AT)は、Mobile & Social OAuth2サーバーから取得します。このポリシーは、HTTPベースのSOAPまたはRESTクライアントに割り当てることができます。
「Oracle WSM OAuth2ポリシーを使用するための前提条件」を参照してください。
ポリシーを割り当てる場合、次のプロパティをオーバーライドできます。
OAuth2トークン・リクエストの場合:
scope
authz.code (このリリースでは使用されません。)
redirect.uri (このリリースでは使用されません。)
ローカルにトークンを作成する場合:
subject.precedence
csf.map
csf-key
oauth2.client.csf.key
federated.client.token
user.attributes
issuer.name
oracle.oauth2.service
user.roles.include
keystore.sig.csf.key
propagate.identity.context
user.tenant.name
include.certificate
一般:
audience.uri
reference.priority
time.in.millis
ポリシー・ファイルは、WLSTを使用するか、手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_oauth2_token_client_template」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーとoracle/oauth2_config_client_policyをクライアント・アプリケーションに割り当てます。
oracle/oauth2_config_client_policyポリシーの必須プロパティtoken.uri
は、OAuth2サーバーのトークン・エンドポイントを指定します。
次の任意のOracle WSM JWTサービス・ポリシーもWebサービスに割り当てます。Oracle WSMのサーバー側エージェントがアクセス・トークンを検証します。
oracle/http_jwt_token_service_policy
oracle/multi_token_rest_service_policy (REST)
oracle/wss11_saml_or_username_token_with_message_protection_service_policy (SOAP)
デフォルトでは、oracle/http_oauth2_token_client_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-oauth2-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication" orawsp:name="Http OAuth2"> <orasp:auth-header orasp:is-encrypted="false" orasp:is-signed="false" orasp:mechanism="oauth2"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpOAuth2Config"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="subject.precedence"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf.map"/> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf-key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="oauth2.client.csf.key"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="federated.client.token"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="scope"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="authz.code"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="redirect.uri"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.attributes"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="issuer.name"> <orawsp:Value/> <orawsp:DefaultValue>www.oracle.com</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="oracle.oauth2.service"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="user.roles.include"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="reference.priority"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.tenant.name"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="audience.uri"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="include.certificate"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="time.in.millis"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-oauth2-security>
このポリシーは、HTTPヘッダーにOAuth2アクセス・トークンを含めます。アクセス・トークンは、OracleクラウドのOAuthサーバーから取得します。
oracle.oauth2.service
プロパティはデフォルトでtrueに設定されているため、OAuth2サーバーのユーザーおよびJWTトークンの発行者としてクライアントIDが使用されます。scope
が空(デフォルト)の場合、Oracle WSMがサービスURLを自動的に取得し、address:port部分をスコープとして使用します。
このポリシーは、任意のHTTPベース、SOAPまたはRESTクライアントに割り当てることができます。
「Oracle WSM OAuth2ポリシーを使用するための前提条件」を参照してください。
ポリシーを割り当てる場合、次のプロパティをオーバーライドできます。
OAuth2トークン・リクエストの場合:
scope
authz.code (このリリースでは使用されません。)
redirect.uri (このリリースでは使用されません。)
ローカルにトークンを作成する場合:
subject.precedence
csf.map
csf-key
oauth2.client.csf.key
federated.client.token
user.attributes
issuer.name
oracle.oauth2.service
user.roles.include
keystore.sig.csf.key
propagate.identity.context
user.tenant.name
include.certificate
一般:
audience.uri
reference.priority
time.in.millis
ポリシー・ファイルは、WLSTを使用するか、手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_oauth2_token_client_template」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーとoracle/oauth2_config_client_policyをクライアント・アプリケーションに割り当てます。oracle/oauth2_config_client_policyポリシーの必須プロパティtoken.uri
は、OAuth2サーバーを指定します。
次の任意のOracle WSM JWTサービス・ポリシーもWebサービスに割り当てます。Oracle WSMのサーバー側エージェントがアクセス・トークンを検証します。
oracle/http_jwt_token_service_policy
oracle/multi_token_rest_service_policy (REST)
oracle/wss11_saml_or_username_token_with_message_protection_service_policy (SOAP)
デフォルトでは、oracle/http_oauth2_token_opc_oauth2_client_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-oauth2-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication" orawsp:name="Http OAuth2"> <orasp:auth-header orasp:is-encrypted="false" orasp:is-signed="false" orasp:mechanism="oauth2"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpOAuth2Config"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="subject.precedence"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf.map"/> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf-key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="oauth2.client.csf.key"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="federated.client.token"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="scope"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="authz.code"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="redirect.uri"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.attributes"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="issuer.name"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="oracle.oauth2.service"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="user.roles.include"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="reference.priority"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.tenant.name"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="audience.uri"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="include.certificate"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="time.in.millis"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-oauth2-security>
このポリシーは、クライアント側のOAuth2情報を提供します。この情報は、トークン交換でMobile and Social OAuth2サーバーを起動するために使用されます。
このポリシーは、OAuth2トークン・クライアント・ポリシーも割り当てる場合にのみ実行されます。それ以外の場合、この値は無視されます。通常、このポリシーはグローバルに、OAuth2トークン・クライアント・ポリシーはローカルに割り当てられます。
「Oracle WSM OAuth2ポリシーを使用するための前提条件」を参照してください。
ポリシー・ファイルは、WLSTを使用するか、手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/oauth2_config_client_template」を参照してください。
token.uri
プロパティを設定またはオーバーライドする必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
デフォルトでは、oracle/oauth2_config_client_policyアサーション・コンテンツは、次のように定義されています。
<orasp:oauth2-config xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orasp:token-uri="http://host:port/tokens" orawsp:Enforced="true" orawsp:Silent="true" orawsp:category="security/oauth2-config" orawsp:name="OAuth2 Configuration"> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="OAuth2Config"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:name="role" orawsp:type="string" orawsp:contentType="constant"> <orawsp:Value/> <orawsp:DefaultValue>ultimateReceiver</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:name="token.uri" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value/> <orawsp:DefaultValue>http://host:port/tokens</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="required" orawsp:name="oauth2.client.csf.key"> <orawsp:Value/> <orawsp:DefaultValue>basic.client.credentials</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="reference.priority"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:oauth2-config>
http_saml20_token_bearer_client_policyポリシーは、HTTPヘッダーにSAML 2.0トークンを含めます。確認方法がBearerのSAMLトークンが自動的に作成されます。このポリシーは、HTTPベースのエンドポイントで実行できます。デフォルトでは、サブジェクト(ユーザー・プリンシパル)から認証されたユーザーを使用して、アイデンティティ伝搬用のSAMLアサーションが生成されます。
ポリシー・ファイルは手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_saml20_token_bearer_client_template」を参照してください。
デフォルトでは、oracle/http_saml_bearer_token_service_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-saml20-bearer-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="true" orawsp:category="security/authentication" orawsp:name="Http SAML 2.0 Bearer Security"> <orasp:auth-header orasp:mechanism="saml20-bearer"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpSaml20BearerConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.attributes" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.issuer.name" orawsp:type="string"> <orawsp:Value>www.oracle.com</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.roles.include" orawsp:type="string"> <orawsp:Value>false</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="csf-key" orawsp:type="string"> <orawsp:Value>basic.credentials</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="subject.precedence" orawsp:type="string"> <orawsp:Value>true</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.audience.uri" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.enveloped.signature.required" orawsp:type="boolean"> <orawsp:Value>true</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-saml20-bearer-security>
このポリシーは、HTTPヘッダー内の、確認方法がBearerのSAML 2.0トークンに含まれる資格証明を使用して、ユーザーを認証します。
ポリシー・ファイルは手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_saml20_token_bearer_service_template」を参照してください。
デフォルトでは、oracle/http_saml_bearer_token_over_ssl_service_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-saml20-bearer-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="true" ' orawsp:category="security/authentication" orawsp:name="Http SAML 2.0 Bearer Security"> <orasp:auth-header orasp:mechanism="saml20-bearer"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpSaml20BearerConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.trusted.issuers" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.enveloped.signature.required" orawsp:type="boolean"> <orawsp:Value>true</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-saml20-bearer-security>
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の値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
この値は、ユーザー名/パスワードにマッピングされているキーを表しています。資格証明ストアにキーを追加する方法の詳細は、「資格証明ストアへの鍵およびユーザー資格証明の追加」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
クライアントは、HTTPヘッダーに資格証明を渡す必要があります。
サーブレット・アプリケーションのポリシー・ファイルは、手動で添付および変更する必要があります。Fusion Middleware Controlを使用してポリシーを添付、表示または編集できません。
サーブレットにポリシーを添付するには、「サーブレット・アプリケーションへのポリシーの添付」を参照してください。
構成できるアサーション属性の詳細は、「orasp:http-security」を参照してください。
デフォルトでは、ポリシーは次のように定義されます。
<orasp:http-security orawsp:Enforced="true" orawsp:Silent="true" orawsp:category="security/authentication" orawsp:name="Http Security"> <orasp:auth-header orasp:mechanism="basic"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:name="csf-key" orawsp:type="string"> <orawsp:Value>basic.credentials</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="constant" orawsp:name="role" orawsp:type="string"> <orawsp:Value>ultimateReceiver</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-security>
この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の構成(双方向)」を参照してください。
サーブレット・アプリケーションのポリシー・ファイルは、手動で添付および変更する必要があります。Fusion Middleware Controlを使用してポリシーを添付、表示または編集できません。
サーブレットにポリシーを添付するには、「サーブレット・アプリケーションへのポリシーの添付」を参照してください。
構成できるアサーション属性の詳細は、「orasp:http-security」を参照してください。
デフォルトでは、ポリシーは次のように定義されます。
<orasp:http-security orawsp:Enforced="true" orawsp:Silent="true" orawsp:category="security/authentication" orawsp:name="Http Security"> <orasp:auth-header orasp:mechanism="basic"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="constant" orawsp:name="realm" orawsp:type="string"> <orawsp:Value>Oracle WSM</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="constant" orawsp:name="role" orawsp:type="string"> <orawsp:Value>ultimateReceiver</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> <orasp:http-security>
注意: このポリシーは安全ではありません。パスワードをクリア・テキストで送信します。このポリシーは、セキュリティが低くても問題にならない場合のみ、または他のメカニズムでトランスポートが保護されていることがはっきりしている場合に使用してください。または、このポリシーのSSLバージョンであるoracle/wss_username_token_over_ssl_client_policyの使用を検討します。 |
このポリシーは、すべてのアウトバウンド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/>)を含める必要があります。また、クライアントは、認証用にユーザー名とパスワードを提供します。
注意: このポリシーは安全ではありません。パスワードをクリア・テキストで送信します。このポリシーは、セキュリティが低くても問題にならない場合のみ、または他のメカニズムでトランスポートが保護されていることがはっきりしている場合に使用してください。または、このポリシーのSSLバージョンであるoracle/wss_username_token_over_ssl_service_policyの使用を検討します。 |
このポリシーは、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アサーション発行者名の追加」を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時の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」を参照してください。
表C-25を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
saml.loginmodule
ログイン・モジュールを構成します。詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
Oracle Platform Security Services(OPSS)の設定方法
「SAMLの構成」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それをプロバイダに渡します。
注意: このポリシーは安全ではなく、デモの目的でのみ提供されます。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アサーション発行者名の追加」を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時の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」を参照してください。
表C-28を参照してください。
「構成」
ページでpropagate.identity.contextの値も指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
saml2.loginmodule
ログイン・モジュールを構成します。詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
Oracle Platform Security Services(OPSS)の設定方法
「SAMLの構成」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それをプロバイダに渡します。
このポリシーでは、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クライアント側ポリシーを実行するWebサービス・クライアントは、アクセスを試行するサービスのサービス・プリンシパル名を認識している必要があります。「構成」
ページでservice.principal.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。デフォルト値(プレースホルダ)は、HOST/localhost@oracle.com
です。
このポリシーは、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ドメインのアクティブなセキュリティ・レルムに追加します。
このポリシーには、アウトバウンドSOAPリクエスト・メッセージのSAMLトークンが含まれます。確認方法がBearerのSAMLトークンが自動的に作成されます。
このポリシーには、oracle/wss_saml_token_bearer_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss_saml_token_bearer_client_template」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
事前定義済ポリシーによるメッセージ保護の実装方法については、「メッセージの保護」を参照してください。
表B-3に、メッセージ保護のみを実行するポリシーをまとめ、ポリシーがトランスポート・レイヤーまたはSOAPヘッダーで実行されるかどうかを示します。
メッセージ保護のみのポリシーは、リクエスタの認証または認可を行いません。
ポリシー・サブジェクトに添付されるセキュリティ・ポリシーは1つまたは2つです。セキュリティ・ポリシーに含めることができるのは、(このケースでは)認証またはメッセージ保護のサブタイプ・カテゴリに属するアサーションか、両方のサブタイプ・カテゴリに属する1つのアサーションです。また、認可サブタイプに属するアサーションを使用して、リクエスタを認可できます。
このポリシーは、WS-Security 1.0標準に従って、アウトバウンドSOAPリクエストのメッセージ保護(整合性と機密保護)を行います。
このポリシーには、oracle/wss10_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_message_protection_client_policy」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
例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-37を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.key
およびkeystore.enc.csf.keyをオーバーライドすることもできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらに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」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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-40を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストアへの鍵およびユーザー資格証明の追加」で説明されているように、復号化キーのパスワードは資格証明ストアに格納する必要があります。キー名としてkeystore.enc.csf.key
を使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
表B-4に、メッセージ保護および認証の両方を実行するポリシーをまとめ、ポリシーがトランスポート・レイヤーまたはSOAPヘッダーで実行されるかどうかを示します。これらのポリシーは、後続の項で説明されています。
事前定義済ポリシーによるメッセージ保護の実装方法については、「メッセージの保護」を参照してください。
次のポリシーには、アサーションがORグループとして含まれています。つまり、クライアントはどちらのタイプのアサーションも実行できます。
oracle/multi_token_rest_service_policy
oracle/multi_token_over_ssl_rest_service_policy
oracle/wss_saml_or_username_token_over_ssl_service_policy
oracle/wss11_saml_or_username_token_with_message_protection_service_policy
さらに、「ポリシーへのORグループの追加」で説明されているように、選択したポリシーにORグループを追加できます。
oracle/multi_token_rest_service_policyポリシーには、次のアサーション・テンプレートが含まれています。
oracle/wss_http_token_service_template。ポリシーの構成の詳細は、「oracle/wss_http_token_service_policy」を参照してください。
oracle/http_saml20_token_bearer_service_template.ポリシーの構成の詳細は、「oracle/http_saml20_bearer_token_service_policy」を参照してください。
oracle/http_oam_token_service_template。ポリシーの構成の詳細は、「oracle/http_oam_token_service_policy」を参照してください。
oracle/http_spnego_token_service_template。このアサーション・テンプレートを使用して生成されるポリシーの構成の詳細は、「SPNEGOネゴシエーションによるKerberosの構成」を参照してください。
oracle/http_jwt_token_service_template。ポリシーの構成の詳細は、「oracle/http_jwt_token_service_policy」を参照してください。
oracle/multi_token_over_ssl_rest_service_policyポリシーには、次のアサーション・テンプレートが含まれています。
oracle/http_basic_auth_over_ssl_service_template。ポリシーの構成の詳細は、「oracle/http_basic_auth_over_ssl_service_policy」を参照してください。
oracle/http_saml20_token_bearer_over_ssl_service_template.ポリシーの構成の詳細は、「oracle/http_saml20_bearer_token_over_ssl_service_policy」を参照してください。
oracle/http_oam_token_service_template。ポリシーの構成の詳細は、「oracle/http_oam_token_service_policy」を参照してください。
oracle/http_spnego_token_service_template。このアサーション・テンプレートを使用して生成されるポリシーの構成の詳細は、「SPNEGOネゴシエーションによるKerberosの構成」を参照してください。
oracle/http_jwt_token_over_ssl_service_template。ポリシーの構成の詳細は、「oracle/http_jwt_token_over_ssl_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」を参照してください。
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_token_bearer_over_ssl_service_template。ポリシーの構成の詳細は、「oracle/wss_saml_token_bearer_over_ssl_service_policy」を参照してください。
oracle/wss_username_token_over_ssl_service_template。ポリシーの構成の詳細は、「oracle/wss_username_token_over_ssl_service_policy」を参照してください。
oracle/wss_http_token_over_ssl_service_template。ポリシーの構成の詳細は、「oracle/wss_http_token_over_ssl_service_policy」を参照してください。
oracle/http_jwt_token_over_ssl_service_template。ポリシーの構成の詳細は、「oracle/http_jwt_token_over_ssl_service_policy」を参照してください。
http_basic_auth_over_ssl_client_policyポリシーは、アウトバウンド・クライアント・リクエストのHTTPヘッダーに資格証明を含めます。
また、このポリシーは、トランスポート・プロトコルがHTTPSであることを検証します。HTTPS以外のトランスポート・プロトコルを介するリクエストは拒否されます。このポリシーは、HTTPベースのすべてのエンドポイントに適用できます。
注意: 現在サポートされているのはHTTP Basic認証のみです。 |
「WebLogic ServerへのSSLの構成(一方向)」または「WebLogic ServerへのSSLの構成(双方向)」の説明に従ってSSLを構成します。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
サーブレット・アプリケーションのポリシー・ファイルは、手動で添付および変更する必要があります。Fusion Middleware Controlを使用してポリシーを添付、表示または編集できません。
サーブレットにポリシーを添付するには、「サーブレット・アプリケーションへのポリシーの添付」を参照してください。
構成できるアサーション属性の詳細は、「orasp:http-security」を参照してください。
デフォルトでは、ポリシーは次のように定義されます。
<orasp:http-security orawsp:Enforced="true" orawsp:Silent="true" orawsp:category="security/authentication, security/msg-protection" orawsp:name="Http over SSL Security"> <orasp:auth-header orasp:mechanism="basic"/> <orasp:require-tls orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:name="csf-key" orawsp:type="string"> <orawsp:Value>basic.credentials</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-security>
http_basic_auth_over_ssl_service_policyポリシーは、HTTPヘッダーの資格証明を抽出し、Oracle Platform Security Servicesアイデンティティ・ストアに対してユーザーを認証します。このポリシーは、トランスポート・プロトコルがHTTPSであることを検証します。HTTPS以外のトランスポート・プロトコルを介するリクエストは拒否されます。このポリシーは、HTTPベースのエンドポイントで実行できます。
注意: 現在サポートされているのはHTTP Basic認証のみです。 |
「WebLogic ServerへのSSLの構成(一方向)」または「WebLogic ServerへのSSLの構成(双方向)」の説明に従ってSSLを構成します。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
サーブレット・アプリケーションのポリシー・ファイルは、手動で添付および変更する必要があります。Fusion Middleware Controlを使用してポリシーを添付、表示または編集できません。
サーブレットにポリシーを添付するには、「サーブレット・アプリケーションへのポリシーの添付」を参照してください。
構成できるアサーション属性の詳細は、「orasp:http-security」を参照してください。
デフォルトでは、ポリシーは次のように定義されます。
<orasp:http-security orawsp:Enforced="true" orawsp:Silent="true" orawsp:category="security/authentication, security/msg-protection" orawsp:name="Http over SSL Security"> <orasp:auth-header orasp:mechanism="basic"/> <orasp:require-tls orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:name="csf-key" orawsp:type="string"> <orawsp:Value>basic.credentials</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-security>
http_jwt_token_over_ssl_client_policyは、HTTPヘッダーにJWTトークンを含めます。ポリシーがクライアントにより使用される場合、Oracle WSMによってJWTトークンが自動的に作成されます。発行者名とサブジェクト名は、プログラムによって、またはポリシーを介して宣言的に提供されます。このポリシーにはオーディエンス制限条件を指定できます。
このポリシーは、トランスポート・プロトコルがHTTPSであることを検証します。HTTPS以外のトランスポート・プロトコルを介するリクエストは拒否されます。
このポリシーは、HTTPベースのどのクライアント・エンドポイントにも適用できます。
ポリシー・ファイルは手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_jwt_token_over_ssl_client_template」を参照してください。
デフォルトでは、oracle/http_jwt_token_over_ssl_client_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-jwt-security orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication" orawsp:name="Http JWT Security"> <orasp:auth-header orasp:algorithm-suite="Basic128Sha256Rsa15" orasp:is-encrypted="false" orasp:is-signed="true" orasp:mechanism="jwt"/> <orasp:require-tls orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpJwtTokenConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.attributes" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="issuer.name" orawsp:type="string"> <orawsp:Value>www.oracle.com</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.roles.include" orawsp:type="string"> <orawsp:Value>false</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="csf.map" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="csf-key" orawsp:type="string"> <orawsp:Value>basic.credentials</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="subject.precedence" orawsp:type="string"> <orawsp:Value>true</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="audience.uri" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="propagate.identity.context" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.tenant.name" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-jwt-security>
「WebLogic ServerへのSSLの構成(一方向)」または「WebLogic ServerへのSSLの構成(双方向)」の説明に従ってSSLを構成します。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
http_jwt_token_service_policyは、HTTPヘッダー内のJWTトークンに指定されているユーザー名を使用してユーザーを認証します。デフォルトのポリシー構成では、非対称署名を使用してJWTトークンが署名されます(algorithm-suite
属性がBasic128Sha256Rsa15
に設定されています)。
また、このポリシーは、トランスポート・プロトコルがHTTPSであることを検証します。HTTPS以外のトランスポート・プロトコルを介するリクエストは拒否されます。このポリシーは、HTTPベースのすべてのエンドポイントに適用できます。
ポリシー・ファイルは手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_jwt_token_over_ssl_service_template」を参照してください。
デフォルトでは、oracle/http_jwt_token_over_ssl_service_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-jwt-security orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication" orawsp:name="Http JWT Security"> <orasp:auth-header orasp:algorithm-suite="Basic128Sha256Rsa15" orasp:is-encrypted="false" orasp:is-signed="true" orasp:mechanism="jwt"/> <orasp:require-tls orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpJwtConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="trusted.issuers" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="csf.map" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="propagate.identity.context" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-jwt-security>
「WebLogic ServerへのSSLの構成(一方向)」または「WebLogic ServerへのSSLの構成(双方向)」の説明に従ってSSLを構成します。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
このポリシーは、ATが一方向SSLでリソースに伝播される以外は、http_oauth2_token_client_policyと同じです。このポリシーは、HTTPヘッダーにOAuth2アクセス・トークンを含めます。ATは、Mobile and Social OAuth2サーバーから取得します。
ポリシーは、アウトバウンド・トランスポート・プロトコルがHTTPSであることを検証します。HTTPS以外のトランスポート・プロトコルを使用した場合、リクエストは拒否されます。このポリシーは、任意のHTTPベースのクライアントに割り当てることができます。
「Oracle WSM OAuth2ポリシーを使用するための前提条件」を参照してください。
ポリシーを割り当てる場合、次のプロパティをオーバーライドできます。
OAuth2トークン・リクエストの場合:
scope
authz.code (このリリースでは使用されません。)
redirect.uri (このリリースでは使用されません。)
ローカルにトークンを作成する場合:
subject.precedence
csf.map
csf-key
oauth2.client.csf.key
federated.client.token
user.attributes
issuer.name
oracle.oauth2.service
user.roles.include
keystore.sig.csf.key
propagate.identity.context
user.tenant.name
include.certificate
一般:
audience.uri
reference.priority
time.in.millis
ポリシー・ファイルは、WLSTを使用するか、手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_oauth2_token_over_ssl_client_template」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーとoracle/oauth2_config_client_policyをクライアント・アプリケーションに割り当てます。oracle/oauth2_config_client_policyポリシーの必須プロパティtoken.uri
は、OAuth2サーバーを指定します。
次の任意のOracle WSM JWTサービス・ポリシーもWebサービスに割り当てます。Oracle WSMのサーバー側エージェントがATを検証します。
oracle/http_jwt_token_over_ssl_service_policy
oracle/multi_token_over_ssl_rest_service_policy (REST)
oracle/wss11_saml_or_username_token_with_message_protection_service_policy (SOAP)
デフォルトでは、oracle/http_oauth2_token_over_ssl_client_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-oauth2-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication, security/msg-protection" orawsp:name="Http OAuth2 Over SSL "> <orasp:auth-header orasp:is-encrypted="false" orasp:is-signed="false" orasp:mechanism="oauth2"/> <orasp:require-tls orasp:algorithm-suite="Basic128" orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpOAuth2OverSSLConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="subject.precedence"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf.map"/> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf-key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="oauth2.client.csf.key"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="federated.client.token"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="scope"> <orawsp:Value/> </orawsp:Property> orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="authz.code"> <orawsp:Value/> </orawsp:Property> orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="redirect.uri"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.attributes"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="issuer.name"> <orawsp:Value/> <orawsp:DefaultValue>www.oracle.com</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="oracle.oauth2.service"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="user.roles.include"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="reference.priority"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.tenant.name"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="audience.uri"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="include.certificate"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="time.in.millis"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-oauth2-security> <oralgp:Logging orawsp:Silent="true" orawsp:name="Log Message2" orawsp:Enforced="false" orawsp:category="security/logging"> <oralgp:msg-log> <oralgp:request>all</oralgp:request> <oralgp:response>all</oralgp:response> <oralgp:fault>all</oralgp:fault> </oralgp:msg-log> <orawsp:bindings> <orawsp:Config orawsp:name="Log Message2_properties"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="reference.priority"/> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-oauth2-security>
「WebLogic ServerへのSSLの構成(一方向)」または「WebLogic ServerへのSSLの構成(双方向)」の説明に従ってSSLを構成します。
このポリシーは、oracle/ http_oauth2_token_over_ssl_client_policyポリシーに類似しており、subject.precedence
プロパティがデフォルトでfalseに設定されています。
このポリシーは、HTTPヘッダーにOAuth2アクセス・トークンを含めます。)アクセス・トークンは、Mobile and Social OAuth2サーバーから取得します。)また、アウトバウンド・トランスポート・プロトコルがHTTPSであることも検証します。HTTPS以外のトランスポート・プロトコルを使用した場合、リクエストは拒否されます。
このポリシーは、認証されたサブジェクトに基づいたものとは異なるアイデンティティを伝播することにより、動的なアイデンティティ切替えを実行します。このポリシーは、任意のHTTPベース、SOAPまたはRESTクライアントに割り当てることができます。
「Oracle WSM OAuth2ポリシーを使用するための前提条件」を参照してください。
ポリシーを割り当てる場合、次のプロパティをオーバーライドできます。
OAuth2トークン・リクエストの場合:
scope
authz.code (このリリースでは使用されません。)
redirect.uri (このリリースでは使用されません。)
ローカルにトークンを作成する場合:
subject.precedence
csf.map
csf-key
oauth2.client.csf.key
federated.client.token
user.attributes
issuer.name
oracle.oauth2.service
user.roles.include
keystore.sig.csf.key
propagate.identity.context
user.tenant.name
include.certificate
一般:
audience.uri
reference.priority
time.in.millis
ポリシー・ファイルは、WLSTを使用するか、手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_oauth2_token_over_ssl_client_template」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーとoracle/oauth2_config_client_policyをクライアント・アプリケーションに割り当てます。必要なoracle/oauth2_config_client_policyポリシーのtoken.uri
プロパティは、OAuth2サーバーを指定します。
次の任意のOracle WSM JWTサービス・ポリシーもWebサービスに割り当てます。Oracle WSMのサーバー側エージェントがATを検証します。
oracle/http_jwt_token_over_ssl_service_policy
oracle/multi_token_over_ssl_rest_service_policy (REST)
oracle/wss11_saml_or_username_token_with_message_protection_service_policy (SOAP)
認証されたサブジェクトのかわりにクライアント固有のユーザー名を使用できるようにするには、subject.precedence
をfalse
に設定します。ユーザー名は、csf-keyのユーザー名プロパティからのみ取得されます。
subject.precedence
がfalseに設定され、csf-key
とユーザー名が構成されている場合、Webサービス・クライアント・アプリケーションにはoracle.wsm.security.WSIdentityPermission
権限が必要です。つまり、Oracle WSMが外部から提供されるアイデンティティをアプリケーションから受け入れるには、そのアプリケーションがWSIdentityPermission
権限を持つ必要があります。これにより、Oracle WSMが潜在的に悪質なアプリケーションからアイデンティティを提供されるのを回避します。「WSIdentityPermission権限の設定」のWSIdentityPermission
権限の付与の説明を参照してください。
デフォルトでは、oracle/http_oauth2_token_identity_switch_over_ssl_client_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-oauth2-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication, security/msg-protection" orawsp:name="Http OAuth2 Over SSL "> <orasp:auth-header orasp:is-encrypted="false" orasp:is-signed="false" orasp:mechanism="oauth2"/> <orasp:require-tls orasp:algorithm-suite="Basic128" orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpOAuth2OverSSLConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="subject.precedence"> <orawsp:Value>false</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf.map"/> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf-key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="oauth2.client.csf.key"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="federated.client.token"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="scope"> <orawsp:Value/> </orawsp:Property> orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="authz.code"> <orawsp:Value/> </orawsp:Property> orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="redirect.uri"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.attributes"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="issuer.name"> <orawsp:Value/> <orawsp:DefaultValue>www.oracle.com</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="oracle.oauth2.service"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="user.roles.include"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="reference.priority"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.tenant.name"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="audience.uri"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="include.certificate"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="time.in.millis"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-oauth2-security>
「WebLogic ServerへのSSLの構成(一方向)」または「WebLogic ServerへのSSLの構成(双方向)」の説明に従ってSSLを構成します。
このポリシーは、HTTPヘッダーにOAuth2アクセス・トークンを含めます。アクセス・トークンは、OracleクラウドのOAuth2サーバーから取得します。
oracle.oauth2.service
プロパティはデフォルトでtrueに設定されているため、OAuth2サーバーのユーザーおよびJWTトークンの発行者としてクライアントIDが使用されます。scope
が空(デフォルト)の場合、Oracle WSMがサービスURLを自動的に取得し、address:port部分をスコープとして使用します。
ポリシーは、アウトバウンド・トランスポート・プロトコルがHTTPSであることを検証します。HTTPS以外のトランスポート・プロトコルを使用した場合、リクエストは拒否されます。このポリシーは、HTTPベースのSOAPまたはRESTクライアントに割り当てることができます。
「Oracle WSM OAuth2ポリシーを使用するための前提条件」を参照してください。
ポリシーを割り当てる場合、次のプロパティをオーバーライドできます。
OAuth2トークン・リクエストの場合:
scope
authz.code (このリリースでは使用されません。)
redirect.uri (このリリースでは使用されません。)
ローカルにトークンを作成する場合:
subject.precedence
csf.map
csf-key
oauth2.client.csf.key
federated.client.token
user.attributes
issuer.name
oracle.oauth2.service
user.roles.include
keystore.sig.csf.key
propagate.identity.context
user.tenant.name
include.certificate
一般:
audience.uri
reference.priority
time.in.millis
ポリシー・ファイルは、WLSTを使用するか、手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_oauth2_token_over_ssl_client_template」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーとoracle/oauth2_config_client_policyをクライアント・アプリケーションに割り当てます。oracle/oauth2_config_client_policyポリシーの必須プロパティtoken.uri
は、OAuth2サーバーを指定します。
次の任意のOracle WSM JWTサービス・ポリシーもWebサービスに割り当てます。Oracle WSMのサーバー側エージェントがATを検証します。
oracle/http_jwt_token_over_ssl_service_policy
oracle/multi_token_over_ssl_rest_service_policy (REST)
oracle/wss11_saml_or_username_token_with_message_protection_service_policy (SOAP)
デフォルトでは、oracle/http_oauth2_token_opc_oauth2_over_ssl_client_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-oauth2-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication, security/msg-protection" orawsp:name="Http OAuth2 Over SSL "> <orasp:auth-header orasp:is-encrypted="false" orasp:is-signed="false" orasp:mechanism="oauth2"/> <orasp:require-tls orasp:algorithm-suite="Basic128" orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpOAuth2OverSSLConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="subject.precedence"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf.map"/> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf-key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="oauth2.client.csf.key"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="federated.client.token"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="scope"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="authz.code"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="redirect.uri"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.attributes"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="issuer.name"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="oracle.oauth2.service"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="user.roles.include"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="reference.priority"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.tenant.name"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="audience.uri"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="include.certificate"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="time.in.millis"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-oauth2-security>
「WebLogic ServerへのSSLの構成(一方向)」または「WebLogic ServerへのSSLの構成(双方向)」の説明に従ってSSLを構成します。
このポリシーは、HTTPヘッダーにOAuth2アクセス・トークンを含めます。アクセス・トークンは、OracleクラウドのOAuthサーバーから取得します。
oracle.oauth2.service
プロパティはデフォルトでtrueに設定されているため、OAuth2サーバーのユーザーおよびJWTトークンの発行者としてクライアントIDが使用されます。scope
が空(デフォルト)の場合、Oracle WSMがサービスURLを自動的に取得し、address:port部分をスコープとして使用します。
また、アウトバウンド・トランスポート・プロトコルがHTTPSであることも検証します。HTTPS以外のトランスポート・プロトコルを使用した場合、リクエストは拒否されます。このポリシーは、SSLを通じてサービスを呼び出す任意のHTTPベース、SOAPまたはRESTクライアントに割り当てることができます。
このポリシーは、認証されたサブジェクトに基づいたものとは異なるアイデンティティを伝播することにより、動的なアイデンティティ切替えも実行します。
「Oracle WSM OAuth2ポリシーを使用するための前提条件」を参照してください。
ポリシーを割り当てる場合、次のプロパティをオーバーライドできます。
OAuth2トークン・リクエストの場合:
scope
authz.code (このリリースでは使用されません。)
redirect.uri (このリリースでは使用されません。)
ローカルにトークンを作成する場合:
subject.precedence
csf.map
csf-key
oauth2.client.csf.key
federated.client.token
user.attributes
issuer.name
oracle.oauth2.service
user.roles.include
keystore.sig.csf.key
propagate.identity.context
user.tenant.name
include.certificate
一般:
audience.uri
reference.priority
time.in.millis
ポリシー・ファイルは、WLSTを使用するか、手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_oauth2_token_over_ssl_client_template」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーとoracle/oauth2_config_client_policyをクライアント・アプリケーションに割り当てます。必要なoracle/oauth2_config_client_policyポリシーのtoken.uri
プロパティは、OAuth2サーバーを指定します。
次の任意のOracle WSM JWTサービス・ポリシーもWebサービスに割り当てます。Oracle WSMのサーバー側エージェントがATを検証します。
oracle/http_jwt_token_over_ssl_service_policy
oracle/multi_token_over_ssl_rest_service_policy (REST)
oracle/wss11_saml_or_username_token_with_message_protection_service_policy (SOAP)
認証されたサブジェクトのかわりにクライアント固有のユーザー名を使用できるようにするには、subject.precedence
をfalse
に設定します。ユーザー名は、csf-key
のユーザー名プロパティからのみ取得されます。
subject.precedence
がfalseに設定され、csf-key
とユーザー名が構成されている場合、Webサービス・クライアント・アプリケーションにはoracle.wsm.security.WSIdentityPermission
権限が必要です。つまり、Oracle WSMが外部から提供されるアイデンティティをアプリケーションから受け入れるには、そのアプリケーションがWSIdentityPermission
権限を持つ必要があります。これにより、Oracle WSMが潜在的に悪質なアプリケーションからアイデンティティを提供されるのを回避します。「WSIdentityPermission権限の設定」のWSIdentityPermission
権限の付与の説明を参照してください。
デフォルトでは、oracle/http_oauth2_token_identity_switch_opc_oauth2_over_ssl_client_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-oauth2-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="false" orawsp:category="security/authentication, security/msg-protection" orawsp:name="Http OAuth2 Over SSL "> <orasp:auth-header orasp:is-encrypted="false" orasp:is-signed="false" orasp:mechanism="oauth2"/> <orasp:require-tls orasp:algorithm-suite="Basic128" orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpOAuth2OverSSLConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="subject.precedence"> <orawsp:Value>false</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf.map"/> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="csf-key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="oauth2.client.csf.key"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="federated.client.token"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="scope"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="authz.code"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="redirect.uri"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.attributes"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="issuer.name"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="oracle.oauth2.service"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="user.roles.include"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="reference.priority"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="user.tenant.name"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:type="string" orawsp:contentType="optional" orawsp:name="audience.uri"> <orawsp:Value/> <orawsp:DefaultValue>NONE</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="include.certificate"> <orawsp:Value/> <orawsp:DefaultValue>false</orawsp:DefaultValue> </orawsp:Property> <orawsp:Property orawsp:type="boolean" orawsp:contentType="optional" orawsp:name="time.in.millis"> <orawsp:Value/> <orawsp:DefaultValue>true</orawsp:DefaultValue> </orawsp:Property> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-oauth2-security>
「WebLogic ServerへのSSLの構成(一方向)」または「WebLogic ServerへのSSLの構成(双方向)」の説明に従ってSSLを構成します。
このポリシーは、HTTPリクエスト・メッセージにSAML 2.0トークンを含めます。確認方法がBearerのSAMLトークンが自動的に作成されます。デフォルトでは、サブジェクト(ユーザー・プリンシパル)から認証されたユーザーを使用して、アイデンティティ伝搬用のSAMLアサーションが生成されます。
ポリシー・ファイルは手動で編集する必要があります。Fusion Middleware Controlを使用してポリシーを編集することはできません。構成できるアサーション属性の詳細は、「oracle/http_saml20_token_bearer_client_template」を参照してください。
デフォルトでは、oracle/http_saml_bearer_token_over_ssl_service_policyアサーション・コンテンツは、次のように定義されています。
<orasp:http-saml20-bearer-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="true" orawsp:category="security/authentication, security/msg-protection" orawsp:name="Http SAML 2.0 Bearer Security Over SSL "> <orasp:auth-header orasp:mechanism="saml20-bearer"/> <orasp:require-tls orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpSaml20BearerOverSSLConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.attributes" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.issuer.name" orawsp:type="string"> <orawsp:Value>www.oracle.com</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="user.roles.include" orawsp:type="string"> <orawsp:Value>false</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="csf-key" orawsp:type="string"> <orawsp:Value>basic.credentials</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="subject.precedence" orawsp:type="string"> <orawsp:Value>true</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.audience.uri" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="keystore.sig.csf.key" orawsp:type="string"/> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.enveloped.signature.required" orawsp:type="boolean"> <orawsp:Value>true</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-saml20-bearer-security>
このポリシーは、HTTPヘッダー内の、確認方法がBearerのSAML 2.0トークンに含まれる資格証明を使用して、ユーザーを認証します。
ポリシー・ファイルは、手動で変更する必要があります。Fusion Middleware Controlを使用してポリシーを表示、編集または添付できません。構成できるアサーション属性の詳細は、「oracle/http_saml20_token_bearer_service_template」を参照してください。
デフォルトでは、oracle/http_saml_bearer_token_over_ssl_service_policyポリシーは、次のように定義されています。
<orasp:http-saml20-bearer-security xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:Enforced="true" orawsp:Silent="true" orawsp:category="security/authentication" orawsp:name="Http SAML 2.0 Bearer Security Over SSL"> <orasp:auth-header orasp:mechanism="saml20-bearer"/> <orasp:require-tls orasp:include-timestamp="false" orasp:mutual-auth="false"/> <orawsp:bindings> <orawsp:Config orawsp:configType="declarative" orawsp:name="HttpSaml20BearerOverSSLConfig"> <orawsp:PropertySet orawsp:name="standard-security-properties"> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.trusted.issuers" orawsp:type="string"> <orawsp:Value/> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="saml.enveloped.signature.required" orawsp:type="boolean"> <orawsp:Value>true</orawsp:Value> </orawsp:Property> <orawsp:Property orawsp:contentType="optional" orawsp:name="reference.priority" orawsp:type="string"/> <orawsp:Property orawsp:name="propagate.identity.context" orawsp:type="string" orawsp:contentType="optional"> <orawsp:Value></orawsp:Value> </orawsp:PropertySet> </orawsp:Config> </orawsp:bindings> </orasp:http-saml20-bearer-security>
このポリシーは、アウトバウンド・クライアント・リクエストの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トークンが自動的に作成されます。また、このポリシーは、トランスポート・プロトコルによりSSLメッセージ保護が提供されることも検証します。このポリシーは、SOAPベースのすべてのクライアントにアタッチできます。
このポリシーには、oracle/wss_saml_token_bearer_over_ssl_client_templateポリシー・アサーションが含まれています。このアサーションの詳細は、「oracle/wss_saml_token_bearer_client_template」を参照してください。
wss_saml_token_bearer_identity_switch_client_policyを任意のSOAPベースのWebサービス・クライアントに割り当てます。
表C-33「wss_saml_token_bearer_client_templateの構成」に定義された構成プロパティをオーバーライドします。詳細は、「ユーザー定義のクライアント側またはサーバー側のオーバーライド・プロパティの構成」を参照してください。
認証されたサブジェクトのかわりにクライアント固有のユーザー名を使用できるようにするには、subject.precedence
をfalse
に設定します。(subject.precedence
がfalse
の場合、SAMLアサーションを作成するユーザー名は、csf-keyのユーザー名プロパティからのみ取得されます。)wss_saml_token_bearer_identity_switch_client_policyポリシーでは、このポリシーをアタッチするアプリケーションにWSIdentityPermission
権限が必要です。つまり、Oracle WSMが外部から提供されるアイデンティティをアプリケーションから受け入れるには、そのアプリケーションがWSIdentityPermission
権限を持つ必要があります。これにより、Oracle WSMが潜在的に悪質なアプリケーションからアイデンティティを提供されるのを回避します。
このポリシーの使用方法の詳細は、「アイデンティティ切替えのためのWebサービス・クライアントの構成」を参照してください。また、クライアント側でのアイデンティティ切替えポリシーによるユーザー名の選択方法について学習し、「WSIdentityPermission権限の設定」に記載されているようにWSIdentityPermission
権限を付与します。
SAMLの詳細は、「設計時のSAML Webサービス・クライアントの構成方法」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
このポリシーには、アウトバウンド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の構成」を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時の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」を参照してください。
表C-53を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「SAMLの構成」を参照してください。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
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の構成」を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時の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」を参照してください。
表C-56を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「SAMLの構成」を参照してください。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
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の構成」を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時の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」を参照してください。
表C-59を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
saml.loginmoduleログイン・モジュールを構成します。詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
Oracle Platform Security Services(OPSS)の設定方法
「SAMLの構成」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
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の構成」を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時の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」を参照してください。
表C-62を参照してください。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
saml2.loginmodule
ログイン・モジュールを構成します。詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
Oracle Platform Security Services(OPSS)の設定方法
「SAMLの構成」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
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
プロパティをオーバーライドします。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「構成」
ページで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標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護と、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ログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
Oracle Platform Security Services(OPSS)の設定方法
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
注意: 期限切れの証明書が存在する場合は、この証明書が参照されるかどうかに関係なく、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の構成」を参照してください。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「構成」
ページでsaml.issuer.nameの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。saml.issuer.name
プロパティのデフォルトは、www.oracle.comという値です。詳細は、「SAMLアサーション発行者名の追加」を参照してください。
「構成」
ページでuser.roles.includeの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」
ページでkeystore.sig.csf.key
とkeystore.enc.csf.keyの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時の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標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの整合性の保護と、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-74を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.key
およびkeystore.enc.csf.keyをオーバーライドすることもできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
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ログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
このポリシーは、メッセージ・レベルの保護と、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の構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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の値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「Webサービス・クライアント・キーストアの設定」の説明に従って、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている署名の一般的な構造を示します。この例では、SOAPメッセージの本体要素が署名されています。
例11-4に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護と、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-71を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.key
およびkeystore.enc.csf.keyをオーバーライドすることもできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
Oracle Platform Security Services(OPSS)の設定方法
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらに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の構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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の値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「Webサービス・クライアント・キーストアの設定」の説明に従って、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている署名の一般的な構造を示します。この例では、SOAPメッセージの本体要素が署名されています。
例11-4に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護と、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-74を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.key
およびkeystore.enc.csf.keyをオーバーライドすることもできます。
「構成」
ページでpropagate.identity.contextの値も指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
Oracle Platform Security Services(OPSS)の設定方法
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらに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 Filesには、使用可能な暗号化強度において制限が組み込まれています。デフォルトでは、Basic192以上のアルゴリズムを使用するポリシーは、バンドルされたJRE/JDKでは動作しません。これらのアルゴリズムを使用するには、 これらのポリシー・ファイルを使用するには、
JARファイルを置き換える前に、既存のJARファイルをバックアップする必要があります。 |
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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の値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「Webサービス・クライアント・キーストアの設定」の説明に従って、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-3に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている署名の一般的な構造を示します。この例では、SOAPメッセージの本体要素が署名されています。
例11-4に、WS-Security 1.0標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護と、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 Filesには、使用可能な暗号化強度において制限が組み込まれています。デフォルトでは、Basic192以上のアルゴリズムを使用するポリシーは、バンドルされたJRE/JDKでは動作しません。これらのアルゴリズムを使用するには、 これらのポリシー・ファイルを使用するには、
JARファイルを置き換える前に、既存のJARファイルをバックアップする必要があります。 |
表C-71を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.key
およびkeystore.enc.csf.keyをオーバーライドすることもできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
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」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護(整合性と機密保護)、および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-78を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.key
およびkeystore.enc.csf.keyをオーバーライドすることもできます。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
Oracle Platform Security Services(OPSS)の設定方法
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらに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」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護(メッセージの整合性と機密保護)、およびWS-Security 1.0標準に従ったインバウンドSOAPリクエストの認証を行います。
このポリシーには、oracle/wss10_username_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_username_token_with_message_protection_service_template」を参照してください。
表C-77を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.key
およびkeystore.enc.csf.keyをオーバーライドすることもできます。
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
Oracle Platform Security Services(OPSS)の設定方法
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらに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 Filesには、使用可能な暗号化強度において制限が組み込まれています。デフォルトでは、Basic192以上のアルゴリズムを使用するポリシーは、バンドルされたJRE/JDKでは動作しません。これらのアルゴリズムを使用するには、 これらのポリシー・ファイルを使用するには、
JARファイルを置き換える前に、既存のJARファイルをバックアップする必要があります。 |
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護(メッセージの整合性と機密保護)、および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 Filesには、使用可能な暗号化強度において制限が組み込まれています。デフォルトでは、Basic192以上のアルゴリズムを使用するポリシーは、バンドルされたJRE/JDKでは動作しません。これらのアルゴリズムを使用するには、 これらのポリシー・ファイルを使用するには、
JARファイルを置き換える前に、既存のJARファイルをバックアップする必要があります。 |
表C-77を参照してください。また、「オーバーライド可能な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」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.0標準に従ったインバウンドSOAPリクエストへの証明書ベースの認証を行います。
このポリシーには、oracle/wss10_x509_token_with_message_protection_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss10_x509_token_with_message_protection_service_template」を参照してください。
表C-80を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.key
およびkeystore.enc.csf.keyをオーバーライドすることもできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストアへの鍵およびユーザー資格証明の追加」で説明されているように、復号化キーのパスワードは資格証明ストアに格納する必要があります。キー名としてkeystore.enc.csf.key
を使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.sig.csf.key
およびkeystore.enc.csf.keyをオーバーライドすることもできます。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」の説明に従って、認証プロバイダを構成する必要があります。
このポリシーには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」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「構成」
ページで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」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「構成」
ページで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ドメインのアクティブなセキュリティ・レルムに追加します。
このポリシーは、メッセージ・レベルの保護と、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サービス・クライアントの設定」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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の値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時のSAML Webサービス・クライアントの設定」を参照してください。
このポリシーでは、「Webサービス・クライアント・キーストアの設定」の説明に従って、Webサービス・クライアント・キーストアを設定する必要があります。このポリシーでは特に、クライアントとWebサービスそれぞれのキーストアに、お互いの公開鍵を含むデジタル証明書がすでに含まれている必要があります。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
例11-5に、WS-Security 1.1標準に準拠し、セキュリティ・ヘッダーに含まれている暗号化要素の一般的な構造の例を示します。この例では、本体要素が暗号化されています。
このポリシーにより、アイデンティティ切替えが可能になります。アイデンティティ切替えとは、ポリシーが、認証されたサブジェクトに基づいたアイデンティティとは異なるアイデンティティを伝播することを意味します。このポリシーを使用すれば、サブジェクトから取得したユーザー名を使用するかわりに、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サービス・クライアントに添付します。
表C-33「wss_saml_token_bearer_client_templateの構成」に定義された構成プロパティをオーバーライドします。詳細は、「ユーザー定義のクライアント側またはサーバー側のオーバーライド・プロパティの構成」を参照してください。
認証されたサブジェクトのかわりにクライアント固有のユーザー名を使用できるようにするには、subject.precedence
をfalse
に設定します。(subject.precedenceがfalseの場合、SAMLアサーションを作成するユーザー名は、csf-keyのユーザー名プロパティからのみ取得されます。)wss11_saml_token_identity_switch_with_message_protection_client_policyポリシーでは、このポリシーを添付するアプリケーションがWSIdentityPermission
権限を持つことが要求されます。つまり、Oracle WSMが外部から提供されるアイデンティティをアプリケーションから受け入れるには、そのアプリケーションがWSIdentityPermission
権限を持つ必要があります。これにより、Oracle WSMが潜在的に悪質なアプリケーションからアイデンティティを提供されるのを回避します。
このポリシーの使用方法の詳細は、「アイデンティティ切替えのためのWebサービス・クライアントの構成」を参照してください。また、クライアント側でのアイデンティティ切替えポリシーによるユーザー名の選択方法について学習し、「WSIdentityPermission権限の設定」に記載されているようにWSIdentityPermission
権限を付与します。
SAMLの詳細は、「設計時のSAML Webサービス・クライアントの設定」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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_service_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_saml_token_with_message_protection_service_template」を参照してください。
表C-85を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、キーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストアへの鍵およびユーザー資格証明の追加」で説明されているように、復号化キーのパスワードは資格証明ストアに格納する必要があります。キー名としてkeystore.enc.csf.key
を使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
このポリシーは、メッセージ・レベルの保護と、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サービス・クライアントの設定」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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の値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、クライアントごとにこの値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「設計時の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-88を参照してください。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
「構成」
ページでpropagate.identity.contextの値を指定できます。または、ポリシーを添付するときに「セキュリティ構成の詳細」コントロールを使用して、この値をオーバーライドできます。propagate.identity.context
プロパティのデフォルトは、空白値です。詳細は、「Oracle WSMによるアイデンティティ・コンテキストの伝播」を参照してください。
「SAMLの構成」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、キーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストアへの鍵およびユーザー資格証明の追加」で説明されているように、復号化キーのパスワードは資格証明ストアに格納する必要があります。キー名としてkeystore.enc.csf.key
を使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」で説明されているように、WebLogic Server管理コンソールを使用して、認証プロバイダを、WebサービスがデプロイされているWebLogicドメインのアクティブなセキュリティ・レルムに追加します。
SAMLログイン・モジュールは、検証されたトークンからユーザー名を抽出し、それを認証プロバイダに渡します。
このポリシーは、メッセージ・レベルの保護と、WS-Security 1.1標準に従ったアウトバウンドSOAPリクエストの認証を行います。
このポリシーには、oracle/wss11_username_token_with_message_protection_client_templateアサーション・テンプレートが含まれています。このアサーションの詳細は、「oracle/wss11_username_token_with_message_protection_client_template」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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-91を参照してください。また、「オーバーライド可能な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」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、Oracle WSMキーストアを設定しておく必要があります。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、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-94を参照してください。また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
このポリシーでは、「メッセージ保護に関するキーストアの構成」の説明に従って、キーストアを設定しておく必要があります。
(メッセージへの署名に使用される)クライアントの公開鍵に対応する信頼できる証明書をキーストアに格納します。また、メッセージを復号化するためにキーストアにサービスの公開鍵を格納し、さらにCAルート証明書も格納する必要があります。
「資格証明ストアへの鍵およびユーザー資格証明の追加」で説明されているように、復号化キーのパスワードは資格証明ストアに格納する必要があります。キー名としてkeystore.enc.csf.key
を使用します。
また、「オーバーライド可能なWebサービス・ポリシーの添付」
で説明されているように、サーバー側の構成プロパティkeystore.enc.csf.keyをオーバーライドすることもできます。
WebLogic Serverの設定方法
「WebLogic Serverへの認証プロバイダの構成」の説明に従って、認証プロバイダを構成する必要があります。
多くの場合、ユーザーに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 Server管理者がカスタムのVIRTUAL_HOST_TYPE
ヘッダーをリクエストに追加した場合のみ有効です。リクエストへのこのヘッダーの追加の詳細は、「リクエスト元を指定するための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(または他の権限)を付与されている場合は、そのリソースへのアクセスが許可されます。
注意: そのポリシーの構成プロパティ「権限チェック・クラス」を変更する場合は、ここでもカスタム・クラスを使用してください。 |
「ポリシー設定」ページで、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-109を参照してください。
ロールを追加するには、次のようにします。
「選択したロール」をクリックします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列の追加する各ロールの隣にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、「追加対象として選択したロール」列の削除する各ロールの隣にあるチェック・ボックスをクリックし、「削除」をクリックします。すべてのロールを削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「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-109を参照してください。
ロールを追加するには、次のようにします。
「選択したロール」をクリックします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列の追加する各ロールの隣にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、「追加対象として選択したロール」列の削除する各ロールの隣にあるチェック・ボックスをクリックし、「削除」をクリックします。すべてのロールを削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「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-112を参照してください。
ロールを追加するには、次のようにします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列の追加する各ロールの隣にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、「追加対象として選択したロール」列の削除する各ロールの隣にあるチェック・ボックスをクリックし、「削除」をクリックします。すべてのロールを削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「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-112を参照してください。
ロールを追加するには、次のようにします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列の追加する各ロールの隣にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、「追加対象として選択したロール」列の削除する各ロールの隣にあるチェック・ボックスをクリックし、「削除」をクリックします。すべてのロールを削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「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」を参照してください。
このポリシーは、認証されたサブジェクトに基づくロールベースの認可ポリシーの特別なケースです。
このポリシーでは、次のいずれかの条件が該当する場合のみ、リクエストを受け取ります。
認証されたトークンがSAML送信者保証の場合。
ユーザーが特定のロールの場合(デフォルトはtrustedEnterpriseRole
であり、ユーザーを信頼できるエンティティとして確立します
リクエストがプライベート・ネットワークから届いている場合。
このポリシーは、SOAPベースのすべてのエンドポイントに添付できます。
このポリシーには、oracle/binding_authorization_templateアサーション・テンプレートが含まれています。
このアサーションの詳細は、「oracle/binding_authorization_template」を参照してください。
Oracle WebLogic Server管理コンソールのヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する項の説明に従って、WebLogic認証プロバイダを構成する必要があります。
表C-109を参照してください。
ロールを追加するには、次のようにします。
「追加」をクリックします。
ロールを追加するには、「使用可能なロール」列の追加する各ロールの隣にあるチェック・ボックスをクリックし、「移動」をクリックします。すべてのロールを追加するには、「すべて移動」をクリックします。
ロールを削除するには、「追加対象として選択したロール」列の削除する各ロールの隣にあるチェック・ボックスをクリックし、「削除」をクリックします。すべてのロールを削除するには、「すべて削除」をクリックします。
ロールを検索するには、「ロール名」検索ボックスに検索文字列を入力して、実行の矢印をクリックします。検索文字列に一致するロールのみが含まれるように、「使用可能なロール」列が更新されます。
「OK」をクリックします。
ロールを削除するには、次のようにします。
「選択したロール」リストで削除するロールを選択します。
「削除」をクリックします。
1つ以上のWebLogic Serverエンタープライズ・ロールを指定する場合、認証されたサブジェクトにそのロールがすでに付与されている必要があります。Oracle WebLogic Server管理コンソールのヘルプで説明されているように、WebLogic Server管理コンソールを使用して、ロールをユーザーまたはグループに付与します。
Oracle WebLogic Server管理コンソールのヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する項の説明に従って、WebLogic認証プロバイダを構成する必要があります。
whitelist_authorization_policyが添付されたサービスを正常に起動するには、次のいずれかの操作を行う必要があります。
サービスが認証でSAML送信者保証を受け入れる場合(たとえば、SAMLトークン・サービス・ポリシーがサービスに添付されている場合)、対応するSAMLトークン・クライアント・ポリシーをクライアントに添付する必要があります。
サービスが認証でユーザー名/パスワードを受け入れる場合(たとえば、ユーザー名トークン・サービス・ポリシーがサービスに添付されている場合)、対応するユーザー名トークン・クライアント・ポリシーをクライアントに添付し、クライアントが、ポリシーで定義される信頼できるロールであることを確認する必要があります。(デフォルトでは、事前定義済ポリシーで定義されるロールはtrustedEnterpriseRole
です。事前定義済ポリシー内のこのロールを変更する必要があります。)
Oracle HTTP Serverを使用してサービスが起動され、プライベート内部ネットワークからのリクエストであることを示すよう構成されている場合(「リクエスト元を指定するためのOracle HTTP Serverの構成」を参照)、内部ネットワーク上のクライアントのみが、対応するユーザー名トークン・クライアント・ポリシーをクライアント側で添付する必要があります。
「制約パターン」プロパティ設定には、リクエストが内部ネットワークまたは外部ネットワークから発行されたかどうかを指定するrequestOrigin
フィールドが含まれています。このプロパティは、Oracle HTTP Serverを使用しており、Oracle HTTP Server管理者がカスタムの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>
これらの例で、プライベート・ネットワークの外部からのすべてのリクエストは、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サービス・クライアントから構成する必要があります。Webサービス・クライアントの設定方法の詳細は、「Webサービス・クライアントからのSTS構成ポリシーの手動による構成: メイン手順」を参照してください。
「STSの自動ポリシー構成の設定」の説明に従って、WebサービスからSTS構成ポリシーを構成することをお薦めします。
ただし、WebサービスからSTS構成ポリシーを構成しなかった場合または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")));
例11-7
は、STS構成ポリシーおよびSTS発行ポリシーに関連するoracle-webservice-client.xmlファイルを示しています。
例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サービス・クライアントの設定方法の詳細は、「自動ポリシー構成の設定: メイン手順」を参照してください。
このポリシーでは、Oracle WSMキーストアを設定して、STSに対する認証用のキー(ユーザー名/パスワードまたはX.509)を指定する必要があります。「メッセージ保護に関するキーストアの構成」を参照してください。
オーバーライド可能な構成設定については、「WS-Trustクライアント・ポリシーのプログラムによる構成オーバーライド」を参照してください。
「相互認証が必要」を設定しない場合、一方向SSLが行われます。「Webサービス・クライアントに関するSSLの構成」を参照してください。
「相互認証が必要」を設定する場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
Webサービス・クライアントの設定方法の詳細は、「自動ポリシー構成の設定: メイン手順」を参照してください。
このポリシーでは、Oracle WSMキーストアを設定して、STSに対する認証用のキー(ユーザー名/パスワードまたはX.509)を指定する必要があります。「メッセージ保護に関するキーストアの構成」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。STS構成設定のオーバーライドの例については、「WS-Trustクライアント・ポリシーのプログラムによる構成オーバーライド」を参照してください。
「相互認証が必要」を設定しない場合、一方向SSLが行われます。「Webサービス・クライアントに関するSSLの構成」を参照してください。
「相互認証が必要」コントロールを設定しない場合、クライアントは資格証明を提供し、Webサービスから返される資格証明を受信する必要があります。「Webサービス・クライアントに関する双方向SSLの構成」を参照してください。
このポリシーは、クライアントがSAMLトークンとユーザー名トークンのどちらを使用するかに基づいて、次の認証ポリシーのいずれかを実行します。
Bearer確認タイプを使用するWS-Security SOAPヘッダー内のSAMLトークン。
構成済のアイデンティティ・ストアに対してユーザーを認証するWS-Security UsernameToken SOAPヘッダー。
このポリシーには、次のアサーションがORグループとして含まれます。つまり、クライアントはどちらのタイプのポリシーでも実行できます。
oracle/wss_saml_token_bearer_template。このアサーションの詳細は、「oracle/wss_saml_token_bearer_service_template」を参照してください。
oracle/wss_username_token_template。このアサーションの詳細は、「oracle/wss_username_token_service_template」を参照してください。
このポリシーは、信頼できる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サービス・クライアントの設定方法の詳細は、「自動ポリシー構成の設定: メイン手順」を参照してください。
このポリシーでは、Oracle WSMキーストアを設定して、STSに対する認証用のキー(ユーザー名/パスワードまたはX.509)を指定する必要があります。「メッセージ保護に関するキーストアの構成」を参照してください。
オーバーライド可能な構成設定については、「WS-Trustクライアント・ポリシーのプログラムによる構成オーバーライド」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、keystore.recipient.alias
の値を指定できます。または、ポリシーを添付するときにクライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
keystore.enc.csf.key
の値を指定できます。または、ポリシーを添付するときにクライアントごとにこの値をオーバーライドできます。
Webサービス・クライアントの設定方法の詳細は、「自動ポリシー構成の設定: メイン手順」を参照してください。
このポリシーでは、Oracle WSMキーストアを設定して、STSに対する認証用のキー(ユーザー名/パスワードまたはX.509)を指定する必要があります。「メッセージ保護に関するキーストアの構成」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。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-105に示されているプロパティを構成できます。また、「オーバーライド可能な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サービス・クライアントの設定方法の詳細は、「自動ポリシー構成の設定: メイン手順」を参照してください。
このポリシーでは、Oracle WSMキーストアを設定して、STSに対する認証用のキー(ユーザー名/パスワードまたはX.509)を指定する必要があります。「メッセージ保護に関するキーストアの構成」を参照してください。
オーバーライド可能な構成設定については、「WS-Trustクライアント・ポリシーのプログラムによる構成オーバーライド」を参照してください。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、keystore.recipient.alias
の値を指定できます。または、ポリシーを添付するときにクライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
keystore.enc.csf.key
の値を指定できます。または、ポリシーを添付するときにクライアントごとにこの値をオーバーライドできます。
Webサービス・クライアントの設定方法の詳細は、「自動ポリシー構成の設定: メイン手順」を参照してください。
このポリシーでは、Oracle WSMキーストアを設定して、STSに対する認証用のキー(ユーザー名/パスワードまたはX.509)を指定する必要があります。「メッセージ保護に関するキーストアの構成」を参照してください。
オーバーライド可能な構成設定については、「クライアントのプログラムによる構成オーバーライドの使用」を参照してください。STS構成設定のオーバーライドの例については、「WS-Trustクライアント・ポリシーのプログラムによる構成オーバーライド」を参照してください。
「サービス・アイデンティティ証明拡張の使用」で説明されているように、Webサービスのbase64エンコードされた公開証明書は、Webサービス・クライアントが使用するためにWSDLでパブリッシュされます。
別の方法として、keystore.recipient.alias
の値を指定できます。または、ポリシーを添付するときにクライアントごとにこの値をオーバーライドできます。キーストア受信者の別名は、アウトバウンドSOAPメッセージの暗号化用のキーを取得するときにキーストア内の公開鍵を検索するために使用される別名を指定します。
keystore.enc.csf.key
の値を指定できます。または、ポリシーを添付するときにクライアントごとにこの値をオーバーライドできます。
ポリシー・アサーションを、メッセージの署名、メッセージの暗号化またはその両方用に構成します。
この項では、事前定義済のMTOMポリシーについて説明します。
Oracle Infrastructure WebサービスでMTOMを使用する場合、MTOMの構成方法に応じて、2つの動作が考えられます。
(ローカルまたはグローバル・ポリシー添付を介して) oracle/wsmtom_policyポリシーを添付することによって、Fusion Middleware ControlからMTOMを構成する場合、リクエストがMTOMエンコードされていないと、エンドポイントはフォルトをスローします。MTOMポリシーは、MTOM形式ではないインバウンド・メッセージを拒否し、アウトバウンド・メッセージがMTOM形式であるかどうかを検証します。この使用方法の場合、リクエストはMTOM対応である必要があります。
oracle-webservices.xml
内のMTOM対応スイッチを編集したり、@MTOM注釈をWebサービスに直接追加するなどして、Fusion Middleware Controlの外部でADF BC Webサービスに対してMTOMを構成する場合、エンドポイントはMTOMリクエストを受信できますが、リクエストがMTOMエンコードされていない場合にフォルトを返しません。この使用方法の場合、リクエストはMTOM対応の可能性がありますが、MTOM対応である必要はありません。
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サービスの信頼できるメッセージング・プロトコルのバージョン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サービスの信頼できるメッセージング・プロトコルのバージョン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 |
注意: |
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です。KSSも使用できます。 |
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 |
STSに対する認証用のX509証明書を構成する場合に使用します。 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 |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_OAUTH2_CLIENT_CSF_KEY |
クライアントのユーザー名とパスワードを取得するために使用するキーを指定する必須プロパティ。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_AUDIENCE_URI |
オーディエンス制限。次の条件がサポートされています。
|
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_AUTHORIZATION_CODE |
3-legged OAuth2ユースケースの認可コードを渡すためのオプションのプロパティ。(このリリースではサポートされていません。) |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_FEDERATED_CLIENT_TOKEN |
オプションのプロパティです。デフォルトでは、oauth2.client.csf.keyおよびkeystore.sig.csf.keyプロパティを使用してクライアントのJWTトークンが生成されます。 falseに設定すると、oauth2.client.csf.keyを使用してOAuth2サーバーへのクライアント・リクエストで送信する認可ヘッダーが生成されます。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_INCLUDE_CERTIFICATE |
trueの場合、署名証明書と信頼できる証明書チェーン(CAにより発行された証明書の場合)をJWTトークン要求に含めます。JWTトークンのサイズが大きくなりますが、サービス側キーストアに証明書および証明書チェーンをインポートする必要はありません。 falseの場合、証明書の拇印および別名のみをJWTトークンに含めます。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_ISSUER_NAME |
ローカルに生成されるJWTトークン(iss:claim)で使用される発行者名を指定するオプションのプロパティ。デフォルトは、www.oracle.comです。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_INCLUDE_USER_ROLES |
サブジェクトからのユーザー・ロールを要求としてJWTトークンに含めるかどうかを指定するオプションのプロパティ。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_PROPAGATE_IDENTITY_CONTEXT |
アイデンティティ・コンテキスト情報をJWTトークンで要求として伝播するかどうかを指定するオプションのプロパティ。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_REDIRECT_URI |
アクセス権が付与または拒否された後、ユーザー・エージェントをクライアントにリダイレクトするためにOAuthサーバーが使用するリダイレクトURIを指定するオプションのプロパティ。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_SCOPE |
OAuth2リクエストのスコープ(現状のまま)を指定するオプションのプロパティ。存在する場合、OAuth2トークン・リクエストにスコープとこの値を含めます。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_TOKEN_URI |
OAuth2サーバーのトークン・エンドポイントを指定する必須プロパティ。 |
oauth2_config_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_USER_ATTRIBUTES |
ユーザー属性を要求としてJWTトークンに挿入するかどうかを指定するオプションのプロパティ。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_USER_TENANT_NAME |
Oracle Cloud用に予約済。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_CSF_MAP |
CSF別名を含む資格証明ストア内のOracle WSMマップ。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_client_policy |
oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_SIG_CSF_KEY |
ローカルに作成されるJWTトークンの署名のためのOracle WSMキーストアからのテナント・キーを指定するオプションのプロパティ。 |
http_oauth2_token_client_policy http_oauth2_token_over_ssl_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 |
アイデンティティの確認 |
oracle/wss_saml_or_username_token_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 |
オフ |
「Oracle Entitlements Serverでのファイングレイン認可の理解に記載されているように、Oracle Entitlements Server (OES)は、エンタープライズ全体のアプリケーションおよびサービスをエンドツーエンドで保護するために使用できるファイングレイン認可サービスです。OESをOracle WSMと統合し、ファイングレイン認可のためにOracle WSMとともにOESを使用できます。
「Oracle Entitlements Serverでのファイングレイン認可の理解」には、リソースの処理方法の説明も含めてOESの統合を構成するために必要な概要情報が記載されています。また、その項では作業の分担についても説明しています。OESコンソールでOESポリシーおよび責任を構成し、Fusion Middleware Control、WLSTまたはJDeveloperなどのツールでOracle WSM OESポリシーを構成します。まだ読んでいない場合は、まずその項を読んでください。
この項では、OES統合の構成方法を説明しており、内容は次のとおりです。
Oracle WSMインストールに加えて、既存のOESコンソール(バージョン11.1.2.2.0以上)が構成されている必要があります。OESは、Oracle WSMと同じマシン上の同じOracle Middlewareホームにインストールする必要があります。
OESはOracle Identity and Access Management Suiteの一部で、次のドキュメントで説明されています。この項は、これらの内容と、OESの構成および管理を理解していることを前提としています。
インストール方法の詳細は、『Oracle Identity and Access Managementインストレーション・ガイド』のOracle Entitlements Serverのインストールおよび構成に関する項を参照してください。
構成および管理の詳細は、『Oracle Entitlements Server管理者ガイド』を参照してください。
属性の処理方法に関する項で説明されているように、OESではOESコンソールで責任を作成し、複数の属性名と値のペアを設定できます。属性は、XPath、HTTPヘッダー、メッセージ・コンテキスト、定数(名前/値)、さらに認可リクエストで常に渡される静的属性のセット(serviceURLなど)から取得できます。
属性の情報を決定する最も簡単な方法は、アプリケーションをデプロイすることです。その後、SOAPリクエストまたはWSDLを確認し、必要な属性を決定します。2つの方法があります。
アプリケーションをデプロイし、JDeveloper (または別のメカニズム)を使用してSOAPメッセージを確認して必要なものを決定します。
アプリケーションをデプロイし、デプロイしたアプリケーションのWSDLを確認して必要なものを決定します。
「WebサービスWSDLドキュメントの表示」に記載されているように、Webサービス・エンドポイントのWSDLドキュメントを表示できます。
「OESの統合: 全体像」で説明しているように、OESに対して認可の決定を問い合せるには、2段階の方法(ファイングレイン)と1段階の方法(大まか)の2通りがあります。この項では、ファイングレイン認可用にOESポリシーを構成する方法を説明します。
使用する方法は、後でOracle WSMポリシーを割り当てるときに、oracle/binding_oes_authorization_policy
およびoracle/component_oes_authorization_policy
ポリシーのuse.single.step
属性で指定します(「Oracle WSM OESポリシーの添付」を参照)。ただし、OES認可ポリシーを適切に構成できるよう、使用する方法を決定する必要があります。
2段階方式の方がよく使用されるシナリオのため、通常、責任定義用の認可ポリシーと実際の認可決定用の認可ポリシーという、2つのOES認可ポリシーを構成することになります。
OESコンソールを使用して、基本的なアーティファクト(アプリケーション、リソース・タイプなど)を作成し、リソース・タイプにアクションを追加し、リソースを定義します。
この節では、以下のトピックについて説明します。
OESリソース名は、「リソースのマッピングと命名」で説明しているように、Oracle WSMリソース名にマップする必要があります。Oracle WSMから認可コールを実行すると、リソース名がOESに渡されます。この名前はOESポリシーで定義されている名前と正確に一致する必要があります。
例として、次の特性を持つSOAP Webサービスをデプロイしたと仮定します。
デプロイしたアプリケーションの名前はHelloWorldServiceEar
です。
リソース・タイプはWS_SERVICE
です。
Webサービス名はHelloWorldService
です。
Webサービスのポート名はSayHelloPort
です。
Webサービス内の操作はsayHello
およびsayHelloBytes
です。
OESリソースを構成するには、次の手順を実行します。
OESアプリケーション名を作成します。アプリケーション名は、デプロイしたアプリケーション名と一致する必要があります。たとえば、HelloWorldServiceEar
です。
OESリソース・タイプを作成します。リソース・タイプはWS_SERVICE
である必要があります。
WS_SERVICE
リソース・タイプにアクションを追加します。アクションはrequest.lookup
およびauthorize
である必要があります。
「リソース階層のサポート」コントロールを設定します。
階層を使用することにより、ポリシーをリソース・レベルまたはサブリソース(操作)レベルで定義できます。
Oracle WSMリソース名には、サービス名/ポート名/操作名が含まれます。ただし、OESコンソールでリソースをこれだけ細かいレベルまで定義する必要はありません。たとえば、サービス名を持つポリシーを定義すると、そのサービスで始まるすべてのリソースに適用されます。または、サービス名とポート名が含まれるリソース名のポリシーを定義すると、このポリシーはそのサービスのすべての操作に適用されます。
「リソース階層のサポート」コントロールの設定方法は、『Oracle Entitlements Server管理者ガイド』のリソース・タイプの作成に関する項で説明されています。
リソースを作成します。リソース名には、サービス名、ポート名または操作名を含めることができます。
「OESリソースの構成」で作成したアプリケーション用に、新規のOES認可ポリシーを作成します。
リソースにアクセスを許可するプリンシパル(ロールおよびユーザー)を追加します。
このポリシーによって保護するターゲット(アクションを含む)を追加します。
図11-6に、画面の例を示します。
「責任」タブで、責任を追加します。
属性の処理方法に関する項で説明されているように、OESではOESコンソールで責任を作成し、複数の属性名と値のペアを設定できます。
属性は、XPath、HTTPヘッダー、メッセージ・コンテキスト、定数(名前/値)、さらに認可リクエストで常に渡される静的属性のセット(serviceURLなど)から取得できます。これらの属性は、特定の命名規則に従う必要があります(「属性の処理方法」を参照)。
例として、表11-4の責任のサンプルから、図11-7がどのように導出され、責任が反映されているかを検討してください。
これらの特定の責任名を使用する必要があり、大/小文字の区別がある点に注意してください。属性名は自分で選択できます。属性の値はリクエストの値と一致する必要があります。
注意: OESコンソールでは、責任名はアプリケーション全体で一意である必要があります。同じアプリケーションで同じタイプの責任を返すOESポリシーを複数定義する場合、同じ名前を使用できません。たとえば、xpath 責任をpolicy1 に追加した場合、同じアプリケーション内のpolicy2 には追加できません。
責任名を一意にするために、次の命名規則を使用してください。 <
アプリケーション内に、責任を返すOESポリシーが1つしか存在せず、競合の可能性がない場合は、属性タイプをそのまま責任名として使用できます。 |
表11-4 ポリシーの責任のサンプル
責任名 | 属性名 | 属性値 |
---|---|---|
xpath |
input |
//env:Envelope//env:Body/ns3:sayHello/arg0/text() |
namespace |
saml=urn:oasis:names:tc:SAML:1.0:assertion env=http://schemas.xmlsoap.org/soap/envelope/ ns3=http://helloworldservice.jaxws.wsmtest/ 各属性名をカンマ(,)で区切ります。例: |
|
saml_issuer |
//saml:Assertion/@Issuer |
|
|
proxy_auth |
Proxy-Authorization |
authHeader |
認可 |
|
|
authMethod |
oracle.wsm.internal.authentication.method |
endpoint |
oracle.j2ee.ws.runtime.endpoint-url |
|
|
org |
oracle |
country |
US |
実際の認可を実行するOES認可ポリシーを作成します。
このポリシーは、Oracle WSMによって提供された責任を使用して、実際の認可決定を行います。
さらに、Oracle WSMは、認証されたサブジェクト、ターゲット・リソースおよびリクエストされたアクション、および認可リクエストで常に渡される暗黙属性のセット(「表10-9 OESポリシーでサポートされる属性タイプ」を参照)をOESに渡します。認可ポリシーでは、認可決定にこれらの値を使用できます。時間、日付などのOESの定義済属性も使用できます。
実際の認可用のOES認可ポリシーを作成するには、次の手順を実行します。
認可条件で使用する属性を追加します。これらは、「責任を返す認可ポリシーの作成」で作成した責任に一致する必要があります。
たとえば、「責任を返す認可ポリシーの作成」で作成した責任に一致させるには、次の属性を追加する必要があります。
saml_issuer
input
authHeader
endpoint
country
注意: 暗黙属性を使用する場合(「表10-9 OESポリシーでサポートされる属性タイプ」を参照)、これらも追加する必要があります。すべての属性と関数(カスタムおよび事前定義済の両方)は、アプリケーションの「拡張」ノードの下で、作成、収集、およびさらに管理されます。詳細は、『Oracle Entitlements Server管理者ガイド』の属性および関数の拡張としての管理に関する項を参照してください。 |
OESのナビゲーション・ペインで、認可ポリシーを作成しているアプリケーションを開きます。「拡張」を開き、「属性」を選択してアイコンをクリックし、新規属性を作成します。
ドロップダウン・コントロールから「保存して次を作成」を選択すると、1つのページから複数の属性を作成できます。
すべての新規属性をリソース・タイプに追加します。
「OESリソースの構成」で作成したアプリケーション用に、新規のOES認可ポリシーを作成します。
リソースにアクセスを許可するプリンシパル(ロールおよびユーザー)を追加します。
このポリシーによって保護するターゲット(アクションを含む)を追加します。
図11-9に、画面の例を示します。このポリシーは、ユーザーweblogic
がHelloWorldService
のsayHello
およびsayHelloBytes
リソースにアクセスする際に、認可を評価するように設定されています。
このポリシーの「条件」タブで、「編集」をクリックして新規条件を作成します。
図11-10に示すように、手順1で追加した属性に基づいて条件を完成させます。
この例では、次の場合、ポリシーはPERMITを返します。
ユーザーがweblogic
である。
リソースがHelloWorldServiceEar/ HelloWorldService/SayHelloPort
である。
SAML発行者がwww.oracle.com
である。
リクエストSOAPメッセージの「Oracle WSM」は、//env:Body/ns3:sayHello/arg0
です。
他の条件が満たされている。
「Oracle WSM OESポリシーの添付」で説明しているように、Oracle WSM OESポリシーを割り当てます。
「OESの統合: 全体像」で説明しているように、OESに対して認可の決定を問い合せるには、2段階の方法(ファイングレイン)と1段階の方法(大まか)の2通りがあります。この項では、大まかな認可用にOESポリシーを構成する方法を説明します。
使用する方法は、後でOracle WSMポリシーを割り当てるときに、oracle/binding_oes_authorization_policy
およびoracle/component_oes_authorization_policy
ポリシーのuse.single.step
属性で指定します(「Oracle WSM OESポリシーの添付」を参照)。ただし、OES認可ポリシーを適切に構成できるよう、使用する方法を決定する必要があります。
この項では、大まかな認可について次のトピックを説明します。
OESリソース名は、「リソースのマッピングと命名」で説明しているように、Oracle WSMリソース名にマップする必要があります。Oracle WSMから認可コールを実行すると、リソース名がOESに渡されます。この名前はOESポリシーで定義されている名前と正確に一致する必要があります。
例として、次の特性を持つSOAP Webサービスをデプロイしたと仮定します。
デプロイしたアプリケーションの名前はHelloWorldServiceEar
です。
リソース・タイプは常にWS_SERVICE
です。
Webサービス名はHelloWorldService
です。
Webサービスのポート名はSayHelloPort
です。
Webサービス内の操作はsayHello
およびsayHelloBytes
です。
OESリソースを構成するには、次の手順を実行します。
OESアプリケーション名を作成します。アプリケーション名は、デプロイしたアプリケーション名と一致する必要があります。たとえば、HelloWorldServiceEar
です。
OESリソース・タイプを作成します。リソース・タイプはWS_SERVICE
である必要があります。
リソース・タイプにアクションを追加します。アクションはauthorize
である必要があります。
「リソース階層のサポート」コントロールを設定します。
階層を使用することにより、ポリシーをリソース・レベルまたはサブリソース(操作)レベルで定義できます。
Oracle WSMリソース名には、サービス名/ポート名/操作名が含まれます。ただし、OESコンソールでリソースをこれだけ細かいレベルまで定義する必要はありません。たとえば、サービス名を持つポリシーを定義すると、そのサービスで始まるすべてのリソースに適用されます。または、サービス名とポート名が含まれるリソース名のポリシーを定義すると、このポリシーはそのサービスのすべての操作に適用されます。
「リソース階層のサポート」コントロールの設定方法は、『Oracle Entitlements Server管理者ガイド』のリソース・タイプの作成に関する項で説明されています。
リソースを作成します。リソース名は、リソース階層をどのように活用するかに合せ、service name/port name/operation name
の形式である必要があります。
実際の認可を実行するOES認可ポリシーを作成します。
Oracle WSMは、認証されたサブジェクト、ターゲット・リソースおよびリクエストされたアクション、および認可リクエストで常に渡される暗黙属性のセット(「表10-9 OESポリシーでサポートされる属性タイプ」を参照)をOESに渡します。
認可ポリシーでは、認可決定にこれらの値を使用できます。時間、日付などのOESの定義済属性も使用できます。
実際の認可用のOES認可ポリシーを作成するには、次の手順を実行します。
暗黙属性を使用する場合(「表10-9 OESポリシーでサポートされる属性タイプ」を参照)、これらも追加する必要があります。
注意: すべての属性と関数(カスタムおよび事前定義済の両方)は、アプリケーションの「拡張」ノードの下で、作成、収集、およびさらに管理されます。詳細は、『Oracle Entitlements Server管理者ガイド』の属性および関数の拡張としての管理に関する項を参照してください。 |
OESのナビゲーション・ペインで、認可ポリシーを作成しているアプリケーションを開きます。「拡張」を開き、「属性」を選択してアイコンをクリックし、新規属性を作成します。
ドロップダウン・コントロールから「保存して次を作成」を選択すると、1つのページから複数の属性を作成できます。
図11-12で示されているように、リソース・タイプで使用するすべての暗黙属性を追加します。
「OESリソースの構成」で作成したアプリケーション用に、新規のOES認可ポリシーを作成します。
リソースにアクセスを許可するプリンシパル(ロールおよびユーザー)を追加します。
このポリシーによって保護するターゲット(アクションを含む)を追加します。
図11-13に、画面の例を示します。
「Oracle WSM OESポリシーの添付」で説明しているように、Oracle WSM OESポリシーを割り当てます。
この節では、以下のトピックについて説明します。
OESリソース名は、「リソースのマッピングと命名」で説明しているように、Oracle WSMリソース名にマップする必要があります。Oracle WSMからマスキング・コールを実行すると、リソース名がOESに渡されます。この名前はOESポリシーで定義されている名前と正確に一致する必要があります。
例として、次の特性を持つSOAP Webサービスをデプロイしたと仮定します。
デプロイしたアプリケーションの名前はHelloWorldServiceEar
です。
リソース・タイプは常にWS_SERVICE
です。
Webサービス名はHelloWorldService
です。
Webサービスのポート名はSayHelloPort
です。
Webサービス内の操作はsayHello
およびsayHelloBytes
です。
OESリソースを構成するには、次の手順を実行します。
まだOESアプリケーション名を作成していない場合は、ここで作成します。アプリケーション名は、デプロイしたアプリケーション名と一致する必要があります。たとえば、HelloWorldServiceEar
です。
まだOESリソース・タイプを作成していない場合は、ここで作成します。リソース・タイプはWS_SERVICE
である必要があります。
まだリソース・タイプにアクションを追加していない場合は、ここで追加します。アクションはresponse.lookup
およびmask
である必要があります。
まだ「リソース階層のサポート」コントロールを設定していない場合は、ここで設定します。
「リソース階層のサポート」コントロールの設定方法は、『Oracle Entitlements Server管理者ガイド』のリソース・タイプの作成に関する項で説明されています。
まだリソースを作成していない場合は、ここで作成します。リソース名は、リソース階層をどのように活用するかに合せ、service name/port name/operation name
の形式である必要があります。
「OESリソースの構成」で作成したアプリケーション用に、新規のOESポリシーを作成します。
リソースにアクセスを許可するプリンシパル(ロールおよびユーザー)を追加します。
このポリシーによって保護するターゲット(アクションresponse.lookup
を含む)を追加します。
「責任」タブで、責任を追加します。
属性の処理方法に関する項で説明されているように、OESではOESコンソールで責任を作成し、複数の属性名と値のペアを設定できます。
このマスキングのユースケースの場合は、マスキングする属性を取得するXPath問合せのセットを作成します。
これらの責任の結果、Oracle WSMはすべての定義済属性およびXpath問合せを取得し、それらを現在のレスポンスSOAPメッセージで実行します。(このコールで何も返されなかった場合は、実行が停止され、マスキングは実行されません。)Oracle WSMは、この問合せの結果を使用して、「実際のOESマスキング・ポリシーの作成」で説明している実際のマスキング・ポリシーを呼び出します。
実際のマスキング・ポリシーの責任を作成する際には、この責任の属性名を使用します。
実際のマスキングを実行するOES認可ポリシーを作成します。
このポリシーは、Oracle WSMによって提供された責任を使用して、実際のマスキングを決定します。
実際のマスキング用のOESポリシーを作成するには、次の手順を実行します。
条件で使用する属性を追加します。
暗黙属性を使用する場合(「表10-9 OESポリシーでサポートされる属性タイプ」を参照)、これらも追加する必要があります。
注意: すべての属性と関数(カスタムおよび事前定義済の両方)は、アプリケーションの「拡張」ノードの下で、作成、収集、およびさらに管理されます。詳細は、『Oracle Entitlements Server管理者ガイド』の属性および関数の拡張としての管理に関する項を参照してください。 |
OESのナビゲーション・ペインで、認可ポリシーを作成しているアプリケーションを開きます。「拡張」を開き、「属性」を選択してアイコンをクリックし、新規属性を作成します。
ドロップダウン・コントロールから「保存して次を作成」を選択すると、1つのページから複数の属性を作成できます。
すべての新規属性をリソース・タイプに追加します。
「OESリソースの構成」で作成したアプリケーション用に、新規のOES認可ポリシーを作成します。
リソースにアクセスを許可するプリンシパル(ロールおよびユーザー)を追加します。
このポリシーによって保護するターゲット(アクションmask
を含む)を追加します。
「責任」タブで、責任を追加します。
これらの責任により、属性がそのまま渡されるかマスキングされるかが指定されます。Oracle WSMは、OESが返す責任を受け付け、OESによって機密データとマークされている属性をマスキングします。
属性と置換する値を返します。
たとえば、責任ポリシーでXPathをname=//env:Envelope//env:Body/ns3:sayHelloResponse/return/text()
として追加した場合、マスキング・ポリシーではXPathの責任をname=xxxxx
またはname=****
として追加します。ここで、name
は両方のポリシーで一致しています。
「Oracle WSM OESポリシーの添付」で説明しているように、Oracle WSM OESポリシーを割り当てます。
事前定義済のoracle/binding_oes_authorization_policy、oracle/component_oes_authorization_policyまたはoracle/binding_oes_masking_policyのコピーを作成し、そのコピーをWebサービスにアタッチします。次のステップを実行します:
ナビゲータ・ペインで「WebLogicドメイン」を開き、OES統合の構成が必要なドメインを表示します。ドメインを選択します。
コンテンツ・ペインで、「WebLogicドメイン」→「Webサービス」→「ポリシー」の順にクリックします。
oracle/binding_oes_authorization_policy
、oracle/component_oes_authorization_policy
またはoracle/binding_oes_masking_policy
ポリシーを選択してコピーを作成します。
コピーの属性を編集します。(かわりに、後の手順で説明するように属性をオーバーライドすることも可能です。)
use.single.step
属性により、認可決定のためにOESにアクセスする方法が制御されます。2段階(ファイングレイン)方式または1段階(大まかな)方式です。デフォルトはfalseで、2段階(ファイングレイン)方式を使用します。一段階方式では責任を使用しませんが、条件で暗黙属性を使用できます。
この属性は、oracle/binding_oes_authorization_policy
およびoracle/component_oes_authorization_policy
ポリシーで設定できます。oracle/binding_oes_masking_policy
は常に2段階方式です。
OESに基づいた認可設定では、リソース、アクションおよび制約のmatch値を定義するためにguard要素(orawsp:guardを参照)が使用されます。これらの値によって、guardの結果がtrueの場合にのみ、アサーション実行が許可されるようになります。つまり、アクセスしたリソース名およびアクションが一致した場合にのみ、アサーションの実行が許可されます。デフォルトで、リソース名およびアクションでは、ワイルドカードのアスタリスク(*)が使用され、すべてが許可されます。
OESポリシーの作成時にリソースの命名規則に従った場合は、リソース名を明示的に設定する必要はありません。
第8章「Webサービスへのポリシーの添付」で説明しているように、設計時またはデプロイ後にポリシーを割り当てます。
Oracle WSM oracle/binding_oes_authorization_policy
ポリシーまたはoracle/component_oes_authorization_policy
ポリシーを単体で、またはoracle/binding_oes_masking_policy
ポリシーと組み合せて割り当てます。
オプションで、Fusion Middleware Control、WLSTまたはJDeveloper (または他のメカニズム)を使用して属性をオーバーライドします。OESポリシーの作成時にリソースの命名規則に従った場合、リソース・プロパティのオーバーライドは必須ではありません。
オーバーライド可能な属性の説明は、「構成プロパティおよびオーバーライド」を参照してください。
構成ポリシーのオーバーライドの詳細は、「オーバーライド可能なWebサービス・ポリシーの添付」を参照してください。
第8章「Webサービスへのポリシーの添付」で説明しているように、設計時またはデプロイ後に認証ポリシーも割り当てます。
表11-5に示されているポリシーの構成プロパティは、ポリシーをアタッチする際に設定するか、オーバーライドできます。
OESポリシーの作成時にリソースの命名規則に従った場合、リソース名は導出され、プロパティのオーバーライドは必須ではありません。
一部の値のみオーバーライドし、残りはしなかった場合、残りは導出されます。
表11-5 Oracle WSM OESの構成プロパティ
名前 | 説明 |
---|---|
|
OESに定義されたデプロイされたアプリケーション名。(SOAの場合、コンポジット名がアプリケーション名として使用されます。) ${}表記法を使用した値は、静的にも動的にもできます。 |
|
OESに定義されたリソース・タイプ。${}表記法を使用した値は、静的にも動的にもできます。
|
|
OESに定義されたリソース名。${}表記法を使用した値は、静的にも動的にもできます。
|
|
属性の参照時に使用されるアクションです。 ${}表記法を使用した値は、静的にも動的にもできます。 |
|
実際の認可またはマスキングで使用されるアクションです。デフォルト値は、認可ユースケースでは ${}表記法を使用した値は、静的にも動的にもできます。 |
|
参照フェーズを省略するには、値をtrueに設定します。マスキング・ポリシーには適用されません。 |
|
ポリシー添付の優先順位を指定するオプションのプロパティ。 |
これらのプロパティでは、静的および動的値の両方を使用できます。動的値は1つ以上の${}
演算子を使用し、ピリオドまたはスラッシュなどのセパレータ文字を使用できます。たとえば、resource.name
の値を${PORT}/${OPERATION}
と指定した場合、それはmyPort/operation
と解決されます。別の例として、${MODULE}.${SERVICE}
はmyModule.myService
と解決されます。
指定可能な動的値は次のとおりです。
APPLICATION
MODULE
SERVICE (SOAPおよびSOA参照の場合はWSDL Webサービス名です。
PORT (WSDLサービスのポート名)
OPERATION (SOAPのWebサービス操作。)
COMPOSITE (SOAコンポジット名)
COMPONENT (SOAコンポーネント名)
NAMESPACE