ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理
12c (12.1.3)
E59414-02
  目次へ移動
目次

前
 
次
 

5 ポリシー構成プロパティのオーバーライド

この章では、ポリシー構成のオーバーライド機能について説明します。この機能を使用すると、ポリシー・アタッチメントのWebサービス構成情報をグローバルに設定するかわりに、またはそれに加えて、ポリシー内の特定のWebサービスの構成情報を指定し、アタッチメントごとにオーバーライドできます。構成情報のターゲット指定により、管理する個別ポリシーの数を制限できます。

この章の内容は次のとおりです。

5.1 ポリシー構成のオーバーライドの概要


注意:

指定されている場合を除き、この章の手順はOracle Infrastructure WebサービスおよびRESTful Webサービスのみに適用されます。

事前定義済またはカスタムのWebサービス・ポリシー内のサーバー側構成プロパティの値は、Webサービスにポリシーをアタッチするたびに使用できます。また、アタッチメントごとにオーバーライドできます。Webサービス・クライアントでは、クライアントごとに構成をオーバーライドできます。オーバーライドの用途の1つに、維持するポリシー数の制限があります。構成がほとんど変わらない複数のポリシーを作成するのではなく、同じ一般ポリシーを使用し、要件に一致するように特定の値をオーバーライドできます。

オーバーライドできる構成プロパティには、次の2つのタイプがあります。

  • 事前定義済ポリシー構成プロパティ: 事前定義済サービス・ポリシーに含まれる構成プロパティにより、たとえば署名キー・パスワードを格納するために使用されるCSFキーなど、特定のドメイン単位の構成設定をオーバーライドできます。事前定義済クライアント・ポリシーでは、構成プロパティをクライアントごとにオーバーライドするか、ポリシー・アタッチメントをグローバルに設定できます。

    事前定義済ポリシーでオーバーライド可能な構成プロパティは、ポリシーに含まれるアサーション・テンプレートから継承されます。各ポリシーに関連付けられた構成プロパティの確認は、第17章「事前定義済ポリシー」を参照してください。オーバーライド可能なプロパティのアルファベット順リストは、「アサーション・テンプレート構成プロパティ」を参照してください。定数タイプのプロパティはオーバーライドできないことに注意が必要です。

  • ユーザー定義ポリシー構成プロパティ: ユーザー定義のプロパティでは、使用環境で意味を持つプロパティを追加できます。ユーザー定義のプロパティを、クローンの事前定義済ポリシーまたはカスタム・ポリシーに追加できます。ユーザー定義構成プロパティの作成および構成の詳細は、「Fusion Middleware Controlを使用したWebサービスおよびクライアント・ポリシーのユーザー定義プロパティの構成」を参照してください。


注意:

事前定義済ポリシーは読取り専用であり、編集できません。ただし、ベースとして事前定義済ポリシーを使用して新しいポリシーを作成できます。新しいポリシーの作成の詳細は、「Webサービス・ポリシーの作成および編集」を参照してください。新しいポリシーを作成した後は、必要に応じてポリシーを編集し、構成プロパティを設定できます。

OWSM 12c事前定義済ポリシーのアタッチ時に「値」フィールドに空白の値(" ")を指定した場合、デフォルトの値が適用されます。11gポリシーまたは任意のカスタム・ポリシーをインポート済の場合、そのポリシーの「デフォルト」フィールドに同じ効果をもたらす有効な値が設定されていることを確認してください。それ以外の場合は、指定した値が取得されます。


5.2 事前定義済構成プロパティのスコープ

サーバー側の構成プロパティ値のスコープは、指定されたポリシー・アタッチメントに限定されます。つまり、サーバー側の構成プロパティの名前が同じ(たとえばP1) 2つのポリシーを、同じWebサービス・エンドポイントに添付し、その2つのP1プロパティに異なる値を指定することができます。

クライアント側の構成プロパティ値のスコープは、そのクライアントです。同一クライアントにアタッチされる複数のポリシーが同じプロパティを使用できます。たとえば、oracle/wss_http_token_client_policyポリシーには、csf-keyプロパティがあり、デフォルト値はbasic.credentialsです。この値は、ユーザー名/パスワードにマッピングされているキーを表しています。任意の数のWebサービス・クライアントにこのポリシーをアタッチするときに、いつも同じキーの値を使用することになる可能性があります。この場合、oracle/wss_http_token_client_policyのクローンを作成し、そのクローンの構成プロパティの値を設定できます。新しい値はすべてのインスタンスに適用できます。また、ポリシーのアタッチ時に、必要に応じて構成プロパティをクライアントごとにオーバーライドできます。


注意:

オーバーライドした構成プロパティを消去するには、空の文字列を設定します。クリアする前に、他のポリシーで同じプロパティを使用している可能性がないかを確認します。プロパティはクライアント固有ですが、同じプロパティを使用する同一クライアントに複数のポリシーがアタッチされている場合があります。

クライアント側のセキュリティ・ポリシーを解除する場合、クライアント構成オーバーライドはポート・レベルで適用されるため、手動ですべての構成オーバーライドを削除する必要があります。そうしない場合オーバーライドは、このポートへのすべての将来のポリシー・アタッチメント(グローバルと直接の両方)に対して有効であり続けます。


5.3 設計時におけるクライアント・ポリシー構成プロパティのオーバーライド


注意:

この項の手順は、Java EE、RESTfulおよびOracle Infrastructure Webサービスに適用されます。

設計時に次のいずれかの方法を使用して、OWSMセキュリティ・ポリシーのクライアント・ポリシー構成プロパティをプログラムによってオーバーライドできます。

Java EE Webサービス

  • 例5-1に示すJAX-WS RequestContext

  • 第4.2.1.1項「注釈を使用したJava EE Webサービスおよびクライアントへのポリシーのアタッチ」で説明する、Java EE WebサービスおよびクライアントにOWSMセキュリティ・ポリシーをアタッチする際のweblogic.wsee.jws.jaxws.owsm.Property注釈

  • 『Oracle JDeveloperによるアプリケーションの開発』のポリシーのアタッチに関する項で説明する、JDeveloperの使用

RESTful Webサービス

  • 第4.2.2.1項「注釈を使用したRESTful Webサービスへのポリシーのアタッチ」で説明する、RESTful WebサービスにOWSMセキュリティ・ポリシーをアタッチする際のoracle.wsm.metadata.annotation.Property注釈

  • 第4.2.2.2項「機能クラスを使用したRESTful Webサービス・クライアントへのポリシーのアタッチ」で説明する、RESTful Webサービス・クライアントにOWSMセキュリティ・ポリシーをアタッチする際のoracle.wsm.metadata.feature.PropertyFeature注釈。例5-2も参照してください。

  • 『Oracle JDeveloperによるアプリケーションの開発』のポリシーのアタッチに関する項で説明する、JDeveloperの使用

Oracle Infrastructure Webサービス

  • 第4.2.3.1項「注釈を使用したOracle Infrastructure Webサービスへのポリシーのアタッチ」で説明する、Oracle Infrastructure WebサービスにOWSMセキュリティ・ポリシーをアタッチする際のoracle.wsm.metadata.annotation.Property注釈

  • 第4.2.3.2項「機能クラスを使用したOracle Infrastructure Webサービス・クライアントへのポリシーのアタッチ」で説明する、Oracle Infrastructure Webサービス・クライアントにOWSMセキュリティ・ポリシーをアタッチする際のoracle.wsm.metadata.feature.PropertyFeature注釈

  • 『Oracle JDeveloperによるアプリケーションの開発』のポリシーのアタッチに関する項で説明する、JDeveloperの使用

クライアント・ポリシー構成プロパティを消去するには、空の文字列を設定します。クリアの前に、同じプロパティを使用している可能性のある他のポリシーを確認してください。Webサービス・クライアントの場合、構成プロパティはクライアント固有ですが、同じプロパティを使用する同一クライアントに複数のポリシーがアタッチされている場合があります。

表5-1に、プログラムによってオーバーライドできるクライアント側の構成プロパティと、各プロパティが適用されるポリシーをリストします。


注意:

JSEクライアントでは、CSFキーにアクセスできるようOPSSにjps-config-jse.xmlを構成する必要があります。jps-config-jse.xmlファイルの構成の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のJava SEアプリケーションでのOPSSの使用に関する項を参照してください。

表5-1 設計時にオーバーライド可能なクライアント・ポリシー構成プロパティ

プロパティ 説明

BindingProvider.USERNAME_PROPERTY (javax.xml.ws.security.auth.username)

認証のユーザー名

BindingProvider.PASSWORD_PROPERTY (javax.xml.ws.security.auth.password)

認証のパスワード。

oracle.wsm.security.util.SecurityConstants.ClientConstants.ATTESTING_MAPPING_ATTRIBUTE

アテスト・エンティティの表現で使用されるマッピング属性。現在サポートされているのはDNのみです。この属性は、送信者保証メッセージ保護ユースケースにのみ適用されます。SAML over SSLポリシーには適用されません。

oracle.wsm.security.util.SecurityConstants.ClientConstants.CALLER_PRINCIPAL_NAME

ktpassコマンドを使用して生成されたクライアントのプリンシパル名で、Kerberosトークンの生成先のユーザー名にマップされます。<username>@<REALM NAME>の形式を使用します。

注意: keytab.locationcaller.principal.nameは、Java EEアプリケーションのクライアント・アイデンティティの伝播で必要です。

oracle.wsm.security.util.SecurityConstants.ClientConstants.ON_BEHALF_OF

リクエストが別のエンティティの代理かどうかを指定するフラグ。true(デフォルト)に設定され、sts.auth.on.behalf.of.csf.keyが構成されている場合、これが優先されて、CSFキーを使用して確立されたアイデンティティがonBehalfOfトークンとして送信されます。

それ以外の場合、サブジェクトがすでに確立されていれば、サブジェクトのユーザー名がonBehalfOfトークンとして送信されます。

sts.auth.on.behalf.of.csf.keyが設定されておらず、サブジェクトも存在しない場合、on.behalf.ofは、他のエンティティではなくリクエスタのトークン交換として処理されます。リクエスト内のonBehalfOf要素には含まれません。

oracle.wsm.security.util.SecurityConstants.ClientConstants.SAML_AUDIENCE_URI

カンマ区切りのURIで表されたリライイング・パーティ。このプロパティではワイルドカードを使用できます。詳細は、「saml.audience.uri」を参照してください。

oracle.wsm.security.util.SecurityConstants.ClientConstants.STS_KEYSTORE_RECIPIENT_ALIAS

STSの公開鍵の別名。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_INCLUDE_USER_ROLES

SAMLアサーションのユーザー・ロール。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_ISSUED_TOKEN_CACHING

セキュリティ・トークン・サービス(STS)から発行済トークンを取得するときにOWSMがトークンのキャッシュをリクエストするかどうかの制御。詳細は、「issued.token.caching」を参照してください。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_ISSUED_TOKEN_LIFETIME

セキュリティ・トークン・サービス(STS)から発行済トークンを取得するときにOWSMがトークンの存続時間としてリクエストする時間(ミリ秒)。詳細は、「issued.token.lifetime」を参照してください。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_PASSWORD_PROPERTY

RESTful Webサービス・クライアントのパスワード。

注意: このプロパティは、RESTful Webサービス・クライアントのみで有効です。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_SAML_ASSERTION_FILE_NAME

SAML HOKポリシーのアサーションを格納するファイル。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_STS_AUTH_ON_BEHALF_OF_CSF_KEY

代理エンティティ。存在する場合、サブジェクト(存在する場合)より優先されます。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_STS_AUTH_USER_CSF_KEY

STSに対する認証用のユーザー名/パスワード。

STS構成ポリシー内のpolicy-reference-uriがユーザー名ベースのポリシーを指している場合は、sts.auth.user.csf.keyプロパティを構成して、STSに対する認証用のユーザー名/パスワードを指定します。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_STS_AUTH_X509_CSF_KEY

STSに対する認証用のX509証明書。

STS構成ポリシー内のpolicy-reference-uriがx509ベースのポリシーを指している場合は、sts.auth.x509.csf.keyプロパティを構成して、STSに対する認証用のX509証明書を指定します。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_SUBJECT_PRECEDENCE

OWSMサブジェクトを使用するどうかを指定するフラグ。クライアント指定のユーザー名を使用するには、falseに設定します。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSM_USERNAME_PROPERTY

RESTful Webサービス・クライアントのユーザー名。

注意: このプロパティは、RESTful Webサービス・クライアントのみで有効です。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_CSF_KEY

クライアントで資格証明ストアが使用可能な場合に、資格証明ストアで指定されたcsf-keyに対応するユーザー名とパスワード。

または、ユーザー名とパスワードを明示的に設定できます。例5-1の例を参照してください。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_ENC_KEY_ALIAS

サービスからのレスポンスの復号化に使用されるキーストア内のキーの別名。このプロパティは、静的に構成された値をオーバーライドします。

このプロパティはWSS11ポリシーでは使用されません。

タイプ: java.lang.String

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_ENC_KEY_PASSWORD

復号化に使用されるキーストア内のキーのパスワード。このプロパティは、静的に構成された値をオーバーライドします。

このプロパティはWSS11ポリシーでは使用されません。

タイプ: java.lang.String

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_KERBEROS_SERVICE_PRINCIPAL

Kerberosメカニズムを使用して保護されているサービスにアクセスしようとする場合に使用するサービス・プリンシパル。このプロパティは、静的構成値をオーバーライドします。

タイプ: java.lang.String

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_KEYSTORE_LOCATION

キーストア・ファイルの場所。KSSの場合、KSS URIです。このプロパティは、静的に構成された値をオーバーライドします。

タイプ: java.lang.String

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_KEYSTORE_PASSWORD

キーストア・ファイルのパスワード。このプロパティは、静的に構成された値をオーバーライドします。

タイプ: java.lang.String

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_KEYSTORE_TYPE

キーストア・ファイルのタイプ。このプロパティは、静的に構成された値をオーバーライドします。有効な値はJKSおよびKSS(デフォルト)です。

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_RECIPIENT_KEY_ALIAS

アウトバウンド・メッセージ・タイプの暗号化に使用される受信者の公開鍵の別名です。このプロパティは、静的構成値をオーバーライドします。

タイプ: java.lang.String

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_SAML_ISSUER_NAME

SAMLメカニズムを使用して保護されているサービスにアクセスしようとする場合に使用するSAML発行者名。このプロパティは、静的構成値をオーバーライドします。

タイプ: java.lang.String

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_SIG_KEY_ALIAS

デジタル署名に使用されるキーストア内のキーの別名。このプロパティは、静的に構成された値をオーバーライドします。

WSS11ポリシーの場合、このプロパティは相互認証にのみ使用されます。

タイプ: java.lang.String

oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_SIG_KEY_PASSWORD

デジタル署名に使用されるキーストア内のキーの別名のパスワード。このプロパティは、静的に構成された値をオーバーライドします。

WSS11ポリシーの場合、このプロパティは相互認証にのみ使用されます。

タイプ: java.lang.String


例5-1に、RequestContextを使用してクライアント・ポリシー構成プロパティのキーストア、ユーザー名およびパスワードをオーバーライドする方法の例を示します。

例5-1 RequestContextを使用したポリシー構成プロパティのオーバーライド

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();
        }
    }
}

例5-1で参照されている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>

例5-2に、RESTful Webサービス・クライアント・ポリシー構成プロパティのユーザー名およびパスワードをオーバーライドする方法の例を示します。

例5-2 RESTful Webサービス・クライアントの構成プロパティのオーバーライド

package example;
import oracle.wsm.security.utils.SecurityConstants;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import oracle.wsm.metadata.feature.PolicyReferenceFeature;
import oracle.wsm.metadata.feature.AbstractPolicyFeature;
import oracle.wsm.metadata.feature.PolicySetFeature;
import oracle.wsm.metadata.feature.PropertyFeature;
...
public class MyRESTfulClient {
    public static void main(String[] args) {
... PropertyFeature uname = new PropertyFeature(SecurityConstants.ClientConstants.WSM_USERNAME_PROPERTY,"yourusername"); PropertyFeature pwd = new PropertyFeature(SecurityConstants.ClientConstants.WSM_PASSWORD_PROPERTY,"yourpassword"); PropertyFeature[] propFeatures = new PropertyFeature[] { uname, pwd }; PolicyReferenceFeature clientPRF = new PolicyReferenceFeature("oracle/wss_http_token_client_policy"); ClientConfig cc = new DefaultClientConfig(); Map<String, Object> properties = cc.getProperties(); properties.put(AbstractPolicyFeature.ABSTRACT_POLICY_FEATURE,new PolicySetFeature(clientPRF, propFeatures)); ... } }

5.4 Fusion Middleware Controlを使用したポリシー構成プロパティのオーバーライド

次の項で説明するように、Webサービス構成はドメイン・レベル、Webサービス・アプリケーション・ポート・レベル(直接アタッチ)およびクライアント・アプリケーション・レベルでオーバーライドできます。

5.4.1 ドメイン・レベルでの構成プロパティのオーバーライド(デフォルト値の定義)

ドメイン・レベルで構成プロパティをオーバーライドするために、ポリシー内の構成オーバーライド・プロパティのデフォルト値を変更できます。Webサービスまたはクライアントにポリシーをアタッチするときに、ポリシーがアタッチされている任意のWebサービスでそれらの値を使用したり、その値をオーバーライドしたりできます。

たとえば、キーストア構成および認可設定にドメイン・レベルでの構成オーバライドを使用できます。

  • 事前定義済OWSMメッセージ保護ポリシーは、keystore.sig.csf.keykeystore.enc.csf.keyなどのサーバー側のオーバーライド・プロパティのセットを定義します。デフォルトでは、これらのプロパティ値は空白です。「メッセージ保護に関するキーストアの構成」で説明するように、サーバー側の構成プロパティの一部を設定(またはオーバーライド)すると、メッセージ保護に関するキーストアの設定の一部として構成されたキーストア・パスワードのかわりに、アタッチされたWebサービスで新しい値が使用されます。

    これらのプロパティを設定せずにデフォルト値のままにすると、「メッセージ保護に関するキーストアの構成」で説明するように、メッセージ保護に関するキーストアの設定の一部として構成された値が使用されます。

  • 事前定義済oracle/binding_permission_authorization_policyは、サーバー側のオーバーライド・プロパティのセット、actionおよびresourceを定義します。「認可権限の決定」で説明するように、これらのプロパティを設定(またはオーバーライド)すると、アタッチされたWebサービスで構成されたアクションとリソースのかわりに新しい値が使用されます。


注意:

事前定義済ポリシーは読取り専用であり、編集できません。ただし、ベースとして事前定義済ポリシーを使用して新しいポリシーを作成できます。新しいポリシーの作成の詳細は、「Webサービス・ポリシーの作成および編集」を参照してください。新しいポリシーを作成した後は、必要に応じてポリシーを編集し、構成プロパティを設定できます。

ポリシーの構成プロパティの値を設定するには:

  1. 「「WSMポリシー」ページへの移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. 「WSMポリシー」ページから、デフォルト値を設定するクローンのポリシーを選択し、「開く」をクリックします。

  3. 「アサーション」タブを選択し、「構成」をクリックします。

  4. 「構成」ページで、プロパティの「値」フィールドに目的の値を入力します。

  5. 「OK」をクリックします。

  6. 「検証」をクリックして、ポリシーを検証します。

  7. 「保存」をクリックします。

5.4.2 Fusion Middleware Controlを使用した直接アタッチされたサービス・ポリシーの構成プロパティのオーバーライド

直接アタッチされたポリシーの構成プロパティをオーバーライドするには、アプリケーションのエンドポイントにポリシーをアタッチし、アタッチされたポリシーの目的のプロパティの値をオーバーライドします。ポリシーを変更しているのではないので、事前定義済ポリシーのクローンを作成してアプリケーション・レベルでポリシー・オーバーライドを構成する必要はありません。

Fusion Middleware Controlを使用して直接アタッチされたポリシーの構成プロパティをオーバーライドするには:

  1. 「Fusion Middleware Controlを使用したポリシーを直接アタッチする」の説明に従って、エンドポイントにポリシーをアタッチします。

  2. 「直接アタッチされたポリシー」表で上書きするプロパティを含むポリシーを選択し、「ポリシー構成のオーバーライド」をクリックします。

  3. 「ポリシー構成のオーバーライド」を選択します。

    図5-1に示すように、「セキュリティ構成の詳細」ウィンドウが表示されます。この図は、oracle/wss10_message_protection_service_policyのオーバーライド可能なプロパティを示します。

    図5-1 ポリシー構成プロパティのオーバーライド

    図5-1の説明が続きます
    「図5-1 ポリシー構成プロパティのオーバーライド」の説明

  4. プロパティの「値」フィールドにオーバーライド値を入力し、「適用」をクリックします。

    プロパティはアタッチメント単位でオーバーライドされます。

たとえば、oracle/wss10_message_protection_service_policykeystore.sig.csf.keyプロパティの値を変更しておらず、まだ空白のままであると仮定します。WebサービスAにoracle/wss10_message_protection_service_policyをアタッチし、keystore.sig.csf.keyプロパティに「sigkey」をオーバーライドした場合、keystore.sig.csf.keyプロパティが値「sigkey」を持つのは、WebサービスAにアタッチされたoracle/wss10_message_protection_service_policyのみです。

他のすべてのポリシーでは、「メッセージ保護に関するキーストアの構成」で説明するように、keystore.sig.csf.keyは、メッセージ保護に関するキーストアの設定の一部として構成された値を使用します。

5.4.3 Fusion Middleware Controlを使用したWebサービス・クライアント・アプリケーション・レベルでの構成プロパティのオーバーライド


注意:

この項の手順は、Java EEおよびOracle Infrastructure Webサービス・クライアントにのみ適用されます。

Fusion Middleware Controlを使用してクライアント構成プロパティをオーバーライドするには:

  1. 「Fusion Middleware Controlを使用したWebサービス・クライアントへのポリシーを直接アタッチする」の説明に従って、Webサービス・クライアントにポリシーをアタッチします。

  2. クライアント・エンドポイントのページにある「直接アタッチされたポリシー」表でポリシーを選択し、「ポリシー構成のオーバーライド」をクリックします。

  3. プロパティの「値」フィールドにオーバーライド値を入力し、「適用」をクリックします。

    プロパティはアタッチメント単位でオーバーライドされます。

5.4.4 Fusion Middleware Controlを使用したグローバルにアタッチされたポリシーの構成プロパティのオーバーライド


注意:

この項の手順は、Java EE、RESTfulおよびOracle Infrastructure Webサービスに適用されます。

ポリシー・セットで参照されたポリシーにオーバーライド可能プロパティが含まれる場合、Fusion Middleware Controlを使用して、該当ポリシー・セットのプロパティの既存値をオーバーライドできます。グローバル・ポリシー・アタッチメントはアプリケーション・レベルやドメイン・レベルなど、ダイレクト・ポリシー・アタッチメントより上位レベルへのスコープ設定が可能なため、ポリシー・セットで構成された構成オーバーライドも、より高いスコープに適用されます。

ポリシー・セットで参照されたポリシーの構成プロパティをオーバーライドするには:

  1. 「Fusion Middleware Controlを使用した「WSMポリシー・セット・サマリー」ページへの移動」の説明に従って、「WSMポリシー・セット・サマリー」ページに移動します。

  2. 「WSMポリシー・セット・サマリー」ページから、オーバーライドを構成するポリシーを含むポリシー・セットを選択します。

  3. 「ポリシー構成のオーバーライド」を選択します。

    図5-2に示すように、「ポリシー構成のオーバーライド」ページが表示されます。

    図5-2 ポリシー・セットの「ポリシー構成のオーバーライド」ページ

    図5-2の説明が続きます
    「図5-2 ポリシー・セットの「ポリシー構成のオーバーライド」ページ」の説明

  4. 「ポリシー参照」表で、構成プロパティをオーバーライドするポリシーを選択します。ポリシーにオーバーライド可能プロパティが含まれる場合、「ポリシー構成のオーバーライド」ボタンが表示されます。

  5. 「ポリシー構成のオーバーライド」を選択します。「セキュリティ構成の詳細」ページに、選択したポリシーでオーバーライドできる構成プロパティのリストが表示されます。

  6. プロパティの「値」フィールドにオーバーライド値を入力し、「適用」をクリックします。

    ポリシー・セットが適用されるすべてのエンドポイントで、プロパティがオーバーライドされます。

5.5 WLSTを使用したポリシー構成プロパティのオーバーライド

次の項で説明するように、Webサービス構成はドメイン・レベル、Webサービス・アプリケーション・レベル、クライアント・アプリケーション・レベルおよびグローバルにアタッチされたポリシーにオーバーライドできます。

5.5.1 WLSTを使用した直接アタッチされたサービス・ポリシーの構成プロパティのオーバーライド


注意:

この項の手順は、Oracle InfrastructureおよびRESTful Webサービスにのみ適用されます。

オーバーライド可能なプロパティを持つポリシーをアタッチする場合は、setWSMPolicyOverrideコマンドを使用して既存の値をオーバーライドできます。

  1. 「WLSTを使用したポリシーを直接アタッチする」の説明に従って、ポリシーをサービスまたはクライアントにアタッチします。

  2. セッション内で、setWSMPolicyOverrideコマンドを使用してポリシー・プロパティをオーバーライドします。

    setWSMPolicyOverride(policyURI,property, value)
    

    たとえば、oracle/wss10_message_protection_service_policyポリシーのkeystore.sig.csf.keyプロパティをオーバーライドするには、次のコマンドを使用します。

    wls:/wls-domain/serverConfig>setWSMPolicyOverride("oracle/wss10_message_protection_service_policy","keystore.sig.csf.key","sigkey")   
    
    The configuration override property "keystore.sig.csf.key" having value "sigkey" has been added to the reference to policy with URI "oracle/wss10_message_protection_service_policy".
    

    注意:

    指定したポリシーがポートにアタッチされていない場合は、エラーメッセージが表示されるか例外が返されます。

    properties引数をNoneに設定した場合は、ポリシーのすべてのオーバーライドが削除されます。

    local.policy.reference.sourceプロパティは直接ポリシー・アタッチメントのソースを識別するための情報提供のみを目的としており、オーバーライドできません。詳細は、「ポリシー・アタッチメントのソースの決定」を参照してください。


WLSTコマンドとその引数の詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項を参照してください。

5.5.2 WLSTを使用したWebサービス・クライアント・アプリケーションでの構成プロパティのオーバーライド


注意:

この手順は、Oracle Infrastructure Webサービス・クライアントにのみ適用されます。

オーバーライド可能なプロパティを持つクライアント・ポリシーをアタッチする場合は、setWebServiceClientStubPropertyコマンドまたはsetWebServiceClientStubPropertiesコマンドを使用して既存の値をオーバーライドできます。

WLSTを使用してクライアント構成プロパティをオーバーライドするには:

  1. 「WLSTを使用してRESTfulおよびOracle Infrastructure Webサービスおよびクライアントにポリシーを直接アタッチする」の説明に従って、ポリシーをWebサービス・クライアントにアタッチします。

  2. setWebServiceClientStubPropertyまたはsetWebServiceClientStubPropertiesコマンドを使用して、ポリシー・プロパティをオーバーライドします。

    setWebServiceClientStubProperty(application, moduleOrCompName, moduleType, serviceRefName,portInfoName,propName,[propValue])
    
    
    setWebServiceClientStubProperties(application, moduleOrCompName,
     moduleType, serviceRefName, portInfoName, properties)
    

    たとえば、複数のプロパティを設定またはオーバーライドする手順は次のとおりです。

    wls:soainfra/serverConfig>
    setWebServiceClientStubProperties('/base_domain/soa_server1/adf_dc_to_bc',
     'ADF_BC', 'wsconn', 'AppModuleService', 'AppModuleServiceSoapHttpPort',
    [("csf-key","HCM_APPID"),('keystore.recipient.alias','orakey')])
    

注意:

local.policy.reference.sourceプロパティはオーバーライドしないでください。このプロパティは、直接ポリシー・アタッチメントのソースを識別するための情報のみを目的としています。詳細は、「ポリシー・アタッチメントのソースの決定」を参照してください。

WLSTコマンドとその引数の詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項を参照してください。

5.5.3 WLSTを使用したグローバルにアタッチされたポリシーの構成プロパティのオーバーライド


注意:

この項の手順は、Java EE、RESTfulおよびOracle Infrastructure Webサービスに適用されます。

setWSMPolicyOverrideコマンドを使用して、ポリシー・セットで参照されているポリシー内の構成オーバーライドを指定できます。このコマンドは、セッションのコンテキストでポリシー・セットの作成または変更中にのみ使用できます。次の手順は、既存のポリシー・セットの編集中に構成のオーバーライドを指定する方法ですが、新しいポリシー・セットを作成するか、既存のポリシー・セットからポリシー・セットを作成するときにセッションでこのコマンドを使用することもできます。


注意:

setWSMPolicySetOverrideコマンドを使用して、ポリシー・セットでスコープ設定されている構成オーバーライドを指定することもできます。詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のsetWSMPolicySetOverrideに関する項を参照してください。

  1. beginWSMSessionコマンドを使用して、セッションを開始します。

    例:

    wls:/jrfserver_domain/serverConfig> beginWSMSession()
    
    Session started for modification.
    
  2. selectWSMPolicySetコマンドを使用して、編集する既存のポリシー・セットを選択します。

    selectWSMPolicySet(name)
    

    指定したポリシー・セットの最新バージョンが現在のセッションにロードされます。たとえば、次のコマンドを入力します。

    wls:/jrfServer_domain/serverConfig> selectWSMPolicySet ('default-domain-ws-domain_gpa')
     
    The policy set is ready for modification in the session.
    
  3. 必要に応じて、displayWSMPolicySetコマンドを使用してポリシー・セットの構成を表示します。

    例:

    wls:/jrfserver_domain/serverConfig>displayWSMPolicySet() 
    
    Policy Set Details:
    -------------------
    Display Name : default-domain-ws-domain_gpa
    Type of Resources:   SOAP Web Service
    Scope of Resources:  DOMAIN('base_domain')
    Description:         Global policy attachments for Web Service Endpoint resources.
    Enabled:             true
    Policy Reference:    URI=oracle/wss11_saml_or_username_token_with_message_protection_service_policy, category=security, enabled=true, index=1
                         URI=oracle/log_policy, category=management, enabled=false, index=2
    
  4. setWSMPolicyOverrideコマンドを使用して、ポリシー参照の構成オーバーライド・プロパティを指定します。

    たとえば、oracle/wss11_saml_or_username_token_with_message_protection_service_policyreference.priorityプロパティの構成オーバーライドを指定するには、次のコマンドを入力します。

    wls:/jrfserver_domain/serverConfig>setWSMPolicyOverride('oracle/wss11_saml_or_username_token_with_message_protection_service_policy', 'reference.priority','1')
    
    The configuration override property "reference.priority" having value "1" has
    been added to the reference to policy with URI "oracle/wss11_saml_or_username_token_with_message_protection_service_policy".
    
  5. 必要に応じて、ポリシー・セットの構成を表示します。

    例:

    wls:/jrfserver_domain/serverConfig>displayWSMPolicySet() 
    
    Policy Set Details:
    -------------------
    Display Name : default-domain-ws-domain_gpa
    Type of Resources:   SOAP Web Service
    Scope of Resources:  DOMAIN('base_domain')
    Description:         Global policy attachments for Web Service Endpoint resources.
    Enabled:             true
    Policy Reference:    URI=oracle/wss11_saml_or_username_token_with_message_protection_service_policy, category=security, enabled=true, index=1
                         reference.priority=1
    

    reference.priority構成オーバーライドが出力に表示されるようになったことに注意してください(前記の例の太字の部分。)

  6. validateWSMPolicySetコマンドを使用して、ポリシー・セットを検証します。

    例:

    wls:/jrfServer_domain/serverConfig> validateWSMPolicySet()
     
    The global policy set default-domain-ws-domain_gpa is valid.
    
  7. リポジトリに対して現在のセッションのコンテンツの書込みを行うために、commitWSMSessionコマンドを使用します。

    wls:/jrfServer_domain/serverConfig> commitWSMSession()
     
    The policy set default-domain-ws-domain_gpa is valid.
    Updating policy set default-domain-ws-domain_gpa in repository.
     
    Session committed successfully.
    

5.6 Fusion Middleware Controlを使用したWebサービスおよびクライアント・ポリシーのユーザー定義プロパティの構成


注意:

この項で説明する手順は、Oracle InfrastructureおよびRestful Webサービスにのみ適用されます。

使用環境で意味を持つ1つ以上のユーザー定義のサーバー側またはクライアント側プロパティを、事前定義済ポリシーまたはカスタム・ポリシーのクローン・コピーに追加できます。それから、ユーザー定義のプロパティをそのまま使用するか、ポリシーにアタッチするときにそれをオーバーライドできます。

どちらの場合でも、ポリシーをWebサービスまたはクライアントにアタッチするときに、プロパティをオーバーライドする前にそのプロパティがポリシーに存在している必要があります。つまり、ポリシーにすでに存在するプロパティのみオーバーライドできます。

そのため、通常はユーザーが提供するプロパティをデフォルト値を含めてクローン・バージョンの事前定義済またはカスタムのポリシーに追加し、それからアタッチメントごとにそれをオーバーライドします。

required、optional、またはconstantタイプのユーザー定義のプロパティを追加できますが、constantタイプのプロパティはオーバーライドできません。

次の項では、ユーザー定義オーバーライド・プロパティを構成する方法について説明します。

5.6.1 ユーザー定義の構成プロパティのスコープ

事前定義済の構成プロパティと同様に、ポリシーのユーザー定義の構成プロパティのスコープは、クライアントとWebサービスで異なります。次の点を考慮してください。

  • クライアント側の構成プロパティ値のスコープは、そのクライアントです。同一クライアントにアタッチされる複数のポリシーが同じプロパティを使用できます。

  • サーバー側の構成プロパティ値のスコープは、指定されたポリシーに限定されます。つまり、サーバー側の構成プロパティの名前が同じ(たとえばP1) 2つのポリシーを、同じWebサービス・エンドポイントにアタッチし、その2つのP1プロパティに異なる値を指定できます。

5.6.2 ユーザー定義の構成プロパティの追加

事前定義済ポリシーまたはカスタム・ポリシーのクローン・コピーを編集して、ユーザー定義の構成プロパティを追加できます。

ユーザー定義の構成プロパティを追加する手順

  1. 「「WSMポリシー」ページへの移動」の説明に従って、「WSMポリシー」ページに移動します。

  2. 「WSMポリシー」ページから、プロパティを追加するポリシーを選択し、「開く」をクリックします。

  3. 「アサーション」タブを選択し、「構成」をクリックします。

  4. 「構成」ページで「追加」をクリックして、新しいプロパティを追加します。

  5. 表で、新しいプロパティの名前と値を指定します。「名前」フィールドは必須です。また、ポリシーに対して一意である必要があります。

  6. 「タイプ」メニューから、「定数」「オプション」または「必須」を選択します。タイプが「オプション」と「必須」のプロパティのみオーバーライドできます。

  7. 「OK」をクリックします。

  8. 「検証」をクリックして、ポリシーを検証します。

  9. 「保存」をクリックします。

5.6.3 ユーザー定義の構成プロパティの編集

必要に応じて、次の手順を使用してユーザー定義の構成プロパティを編集できます。

  1. 「「WSMポリシー」ページへの移動」の説明に従って、「WSMポリシー」ページに移動します。

  2. 「WSMポリシー」ページから、プロパティを編集するポリシーを選択し、「開く」をクリックします。

  3. 「アサーション」タブを選択し、「構成」をクリックします。

  4. 「構成」ページで、必要に応じてプロパティを編集し、「OK」をクリックします。

  5. 「検証」をクリックして、ポリシーを検証します。

  6. 「保存」をクリックします。

5.6.4 ユーザー定義の構成プロパティの削除

ユーザー定義の構成プロパティが必要なくなった場合は、次の手順を使用してこれを削除できます。

  1. 「「WSMポリシー」ページへの移動」の説明に従って、「WSMポリシー」ページに移動します。

  2. 「WSMポリシー」ページから、プロパティを編集するポリシーを選択し、「開く」をクリックします。

  3. 「アサーション」タブを選択し、「構成」をクリックします。

  4. 「構成」ページで、削除するユーザー定義のプロパティを選択し、「削除」をクリックします。

  5. 「OK」をクリックします。

  6. 「検証」をクリックして、ポリシーを検証します。

  7. 「保存」をクリックします。

5.6.5 ユーザー定義の構成プロパティのオーバーライド

事前定義済ポリシーやカスタム・ポリシーと同じ方法を使用して、ユーザー定義の構成プロパティをオーバーライドします。詳細は、以下のトピックを参照してください。