5 ポリシー構成プロパティのオーバーライド
次のトピックが含まれています:
5.1 ポリシー構成のオーバーライドの概要
事前定義済またはカスタムのWebサービス・ポリシー内のサーバー側構成プロパティの値は、Webサービスにポリシーをアタッチするたびに使用できます。また、アタッチメントごとにオーバーライドできます。Webサービス・クライアントでは、クライアントごとに構成をオーバーライドできます。オーバーライドの用途の1つに、維持するポリシー数の制限があります。構成がほとんど変わらない複数のポリシーを作成するのではなく、同じ一般ポリシーを使用し、要件に一致するように特定の値をオーバーライドできます。
注意:
指定されている場合を除き、この章の手順はOracle Infrastructure WebサービスおよびRESTful Webサービスのみに適用されます。
オーバーライドできる構成プロパティには、次の2つのタイプがあります。
-
事前定義済ポリシー構成プロパティ: 事前定義済サービス・ポリシーに含まれる構成プロパティにより、たとえば署名キー・パスワードを格納するために使用されるCSFキーなど、特定のドメイン単位の構成設定をオーバーライドできます。事前定義済クライアント・ポリシーでは、構成プロパティをクライアントごとにオーバーライドするか、ポリシー・アタッチメントをグローバルに設定できます。
事前定義済ポリシーでオーバーライド可能な構成プロパティは、ポリシーに含まれるアサーション・テンプレートから継承されます。各ポリシーに関連付けられている構成プロパティを判別するには、Oracle Web Services Managerの事前定義済ポリシーを参照してください。オーバーライド可能なプロパティのアルファベット順のリストについては、"Oracle Web Servicesのアサーション・テンプレートの構成プロパティを参照してください。定数タイプのプロパティはオーバーライドできないことに注意が必要です。
-
ユーザー定義ポリシー構成プロパティ: ユーザー定義のプロパティでは、使用環境で意味を持つプロパティを追加できます。ユーザー定義のプロパティを、クローンの事前定義済ポリシーまたはカスタム・ポリシーに追加できます。ユーザー定義ポリシー構成プロパティの作成および構成の詳細は、「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 設計時におけるクライアント・ポリシー構成プロパティのオーバーライドについて
設計時に、OWSMセキュリティ・ポリシーのクライアント・ポリシー構成プロパティをプログラムによってオーバーライドできます。
注意:
この項の手順は、Java EE、RESTfulおよびOracle Infrastructure Webサービスに適用されます。
クライアントのポリシー構成をオーバーライドするには、次の方法を使用します。
5.3.1 Java EE Webサービス
クライアントのポリシー構成は、Java EE Webサービスを使用してオーバーライドできます。
-
xREFTBDに示されているJAX-WS
RequestContext
。 -
「注釈を使用したJava EE Webサービスおよびクライアントへのポリシーのアタッチ」で説明する、Java EE WebサービスおよびクライアントにOWSMセキュリティ・ポリシーをアタッチする際の
weblogic.wsee.jws.jaxws.owsm.Property
注釈。 -
『Oracle JDeveloperによるアプリケーションの開発』のポリシーのアタッチに関する項で説明する、JDeveloperの使用。
5.3.2 RESTful Webサービス
設計時に、OWSMセキュリティ・ポリシーのクライアント・ポリシー構成プロパティをRESTful Webサービスのメソッドを使用してオーバーライドできます。
-
「注釈を使用したRESTful Webサービスへのポリシーのアタッチ」で説明する、RESTful WebサービスにOWSMセキュリティ・ポリシーをアタッチする際の
oracle.wsm.metadata.annotation.Property
注釈。 -
「機能クラスを使用したRESTful Webサービス・クライアントへのポリシーのアタッチ」で説明する、RESTful Webサービス・クライアントにOWSMセキュリティ・ポリシーをアタッチする際の
oracle.wsm.metadata.feature.PropertyFeature
注釈。例5-*も参照してください。 -
『Oracle JDeveloperによるアプリケーションの開発』のポリシーのアタッチに関する項で説明する、JDeveloperの使用。
5.3.3 Oracle Infrastructure Web Servicesの理解
OWSMセキュリティ・ポリシーは、注釈またはJDeveloperを使用してOracle Infrastructure Webサービスにアタッチできます。
-
「注釈を使用したOracle Infrastructure Webサービスへのポリシーのアタッチ」で説明する、Oracle Infrastructure WebサービスにOWSMセキュリティ・ポリシーをアタッチする際の
oracle.wsm.metadata.annotation.Property
注釈 -
「機能クラスを使用したOracle Infrastructure Webサービス・クライアントへのポリシーのアタッチ」で説明する、Oracle Infrastructure Webサービス・クライアントにOWSMセキュリティ・ポリシーをアタッチする際の
oracle.wsm.metadata.feature.PropertyFeature
注釈 -
『Oracle JDeveloperによるアプリケーションの開発』のポリシーのアタッチに関する項で説明する、JDeveloperの使用。
クライアント・ポリシー構成プロパティを消去するには、空の文字列を設定します。クリアの前に、同じプロパティを使用している可能性のある他のポリシーを確認してください。Webサービス・クライアントの場合、構成プロパティはクライアント固有ですが、同じプロパティを使用する同一クライアントに複数のポリシーがアタッチされている場合があります。
詳細は、次の項を参照してください。
5.3.3.1 設計時にオーバーライド可能なクライアント・ポリシー構成プロパティ
設計時にクライアント・ポリシー構成プロパティをオーバーライドできます。
表5-1に、プログラムによってオーバーライドできるクライアント側の構成プロパティと、各プロパティが適用されるポリシーをリストします。
注意:
JSEクライアントでは、CSFキーにアクセスできるようOPSSにjps-config-jse.xml
を構成する必要があります。jps-config-jse.xml
ファイルの構成の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のJava SEアプリケーションでのOPSSの使用に関する項を参照してください。
表5-1 設計時にオーバーライド可能なクライアント・ポリシー構成プロパティ
プロパティ | 説明 |
---|---|
|
認証のユーザー名 |
|
認証のパスワード。 |
|
アテスト・エンティティの表現で使用されるマッピング属性。現在サポートされているのはDNのみです。この属性は、送信者保証メッセージ保護ユースケースにのみ適用されます。SAML over SSLポリシーには適用されません。 |
|
注意: |
|
リクエストが別のエンティティの代理かどうかを指定するフラグ。 それ以外の場合、サブジェクトがすでに確立されていれば、サブジェクトのユーザー名が
|
|
カンマ区切りのURIで表されたリライイング・パーティ。このプロパティではワイルドカードを使用できます。詳細は、「saml.audience.uri」を参照してください。 |
|
STSの公開鍵の別名。 |
|
SAMLアサーションのユーザー・ロール。 |
|
セキュリティ・トークン・サービス(STS)から発行済トークンを取得するときにOWSMがトークンの存続時間としてリクエストする時間(ミリ秒)。詳細は、issued.token.lifetimeを参照してください。 |
|
RESTful Webサービス・クライアントのパスワード。 注意: このプロパティは、RESTful Webサービス・クライアントのみで有効です。 |
|
SAML HOKポリシーのアサーションを格納するファイル。 |
|
代理エンティティ。存在する場合、サブジェクト(存在する場合)より優先されます。 |
|
STSに対する認証用のユーザー名/パスワード。 STS構成ポリシー内の |
|
STSに対する認証用のX509証明書。 STS構成ポリシー内の |
|
OWSMサブジェクトを使用するどうかを指定するフラグ。クライアント指定のユーザー名を使用するには、 |
|
RESTful Webサービス・クライアントのユーザー名。 注意: このプロパティは、RESTful Webサービス・クライアントのみで有効です。 |
|
クライアントで資格証明ストアが使用可能な場合に、資格証明ストアで指定された または、ユーザー名とパスワードを明示的に設定できます。この後の例を参照してください。 |
|
サービスからのレスポンスの復号化に使用されるキーストア内のキーの別名。このプロパティは、静的に構成された値をオーバーライドします。 このプロパティはWSS11ポリシーでは使用されません。 タイプ: java.lang.String |
|
復号化に使用されるキーストア内のキーのパスワード。このプロパティは、静的に構成された値をオーバーライドします。 このプロパティはWSS11ポリシーでは使用されません。 タイプ: java.lang.String |
|
Kerberosメカニズムを使用して保護されているサービスにアクセスしようとする場合に使用するサービス・プリンシパル。このプロパティは、静的構成値をオーバーライドします。 タイプ: java.lang.String |
|
キーストア・ファイルの場所。KSSの場合、KSS URIです。このプロパティは、静的に構成された値をオーバーライドします。 タイプ: java.lang.String |
|
キーストア・ファイルのパスワード。このプロパティは、静的に構成された値をオーバーライドします。 タイプ: java.lang.String |
|
キーストア・ファイルのタイプ。このプロパティは、静的に構成された値をオーバーライドします。有効な値はJKSおよびKSS(デフォルト)です。 |
|
アウトバウンド・メッセージ・タイプの暗号化に使用される受信者の公開鍵の別名です。このプロパティは、静的構成値をオーバーライドします。 タイプ: java.lang.String |
|
SAMLメカニズムを使用して保護されているサービスにアクセスしようとする場合に使用するSAML発行者名。このプロパティは、静的構成値をオーバーライドします。 タイプ: java.lang.String |
|
デジタル署名に使用されるキーストア内のキーの別名。このプロパティは、静的に構成された値をオーバーライドします。 WSS11ポリシーの場合、このプロパティは相互認証にのみ使用されます。 タイプ: java.lang.String |
|
デジタル署名に使用されるキーストア内のキーの別名のパスワード。このプロパティは、静的に構成された値をオーバーライドします。 WSS11ポリシーの場合、このプロパティは相互認証にのみ使用されます。 タイプ: java.lang.String |
|
STS WSDLのエンドポイントURIで、STS情報の取得およびトークン交換用のSTSの呼出しに使用されます。 |
|
STSポートの実際のエンドポイントURI。たとえば、 |
|
STS Webサービスのエンドポイント。WSDL 2.0 STSの場合、 |
|
クライアントがSTSと通信する際に使用するクライアント・ポリシーURI。WSDLでの識別に従い、選択するポリシーはSTSの認証要件に応じて異なります。 |
5.3.3.2 RequestContextを使用してクライアント・ポリシー構成プロパティのキーストア、ユーザー名およびパスワードをオーバーライドする例
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(); } } }
WIP
次の例は、前述の例で参照されている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.3.3.3 RESTful Webサービスのクライアント・ポリシー構成プロパティのユーザー名およびパスワードをオーバーライドする例
次の例に、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.key
やkeystore.enc.csf.key
などのサーバー側のオーバーライド・プロパティのセットを定義します。デフォルトでは、これらのプロパティ値は空白です。「メッセージ保護に関するキーストアの構成の概要」で説明するように、サーバー側の構成プロパティの一部を設定(またはオーバーライド)すると、メッセージ保護に関するキーストアの設定の一部として構成されたキーストア・パスワードのかわりに、アタッチされたWebサービスで新しい値が使用されます。これらのプロパティを設定せずにデフォルト値のままにすると、「メッセージ保護に関するキーストアの構成の概要」で説明するように、メッセージ保護に関するキーストアの設定の一部として構成された値が使用されます。
-
事前定義済
oracle/binding_permission_authorization_policy
は、サーバー側のオーバーライド・プロパティのセット、action
およびresource
を定義します。これらのプロパティを設定(またはオーバーライド)すると、「認可権限の決定」で説明するように、構成されたアクションとリソースの一致パターンのかわりにアタッチされたWebサービスで新しい値が使用されます。
注意:
事前定義済ポリシーは読取り専用であり、編集できません。ただし、ベースとして事前定義済ポリシーを使用して新しいポリシーを作成できます。新しいポリシーの作成の詳細は、「Webサービス・ポリシーの作成および編集」を参照してください。新しいポリシーを作成した後は、必要に応じてポリシーを編集し、構成プロパティを設定できます。
ポリシーの構成プロパティの値を設定するには、次の手順を実行します。
- 「「WSMポリシー」ページへの移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。
- 「WSMポリシー」ページから、デフォルト値を設定するクローンのポリシーを選択し、「開く」をクリックします。
- 「アサーション」タブを選択し、「構成」をクリックします。
- 「構成」ページで、プロパティの「値」フィールドに目的の値を入力します。
- 「OK」をクリックします。
- 「検証」をクリックして、ポリシーを検証します。
- 「保存」をクリックします。
5.4.2 Fusion Middleware Controlを使用した直接アタッチされたサービス・ポリシーの構成プロパティのオーバーライド
直接アタッチされたポリシーの構成プロパティをオーバーライドするには、アプリケーションのエンドポイントにポリシーをアタッチし、アタッチされたポリシーの目的のプロパティの値をオーバーライドします。ポリシーを変更しているのではないので、事前定義済ポリシーのクローンを作成してアプリケーション・レベルでポリシー・オーバーライドを構成する必要はありません。
Fusion Middleware Controlを使用して直接アタッチされたポリシーの構成プロパティをオーバーライドするには、次の手順を実行します。
たとえば、oracle/wss10_message_protection_service_policy
のkeystore.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サービスの構成プロパティは、Webサービス・クライアントのアプリケーション・レベルでオーバーライドできます。
注意:
この項の手順は、Java EEおよびOracle Infrastructure Webサービス・クライアントにのみ適用されます。
Fusion Middleware Controlを使用してクライアント構成プロパティをオーバーライドするには、次の手順を実行します。
5.4.4 Fusion Middleware Controlを使用したグローバルにアタッチされたポリシーの構成プロパティのオーバーライド
ポリシー・セットで参照されたポリシーにオーバーライド可能プロパティが含まれる場合、Fusion Middleware Controlを使用して、該当ポリシー・セットのプロパティの既存値をオーバーライドできます。グローバル・ポリシー・アタッチメントはアプリケーション・レベルやドメイン・レベルなど、ダイレクト・ポリシー・アタッチメントより上位レベルへのスコープ設定が可能なため、ポリシー・セットで構成された構成オーバーライドも、より高いスコープに適用されます。
注意:
この項の手順は、Java EE、RESTfulおよびOracle Infrastructure Webサービスに適用されます。
ポリシー・セットで参照されているポリシーの構成プロパティをオーバーライドするには、次の手順を実行します。
5.5 WLSTを使用したポリシー構成プロパティのオーバーライドについて
Webサービス構成は、Webサービス・アプリケーション・レベル、クライアント・アプリケーション・レベルおよびグローバルにアタッチされたポリシーにオーバーライドできます。
トピック:
5.5.1 WLSTを使用した直接アタッチされたサービス・ポリシーの構成プロパティのオーバーライド
オーバーライド可能なプロパティを持つポリシーをアタッチする場合は、setWSMPolicyOverride
コマンドを使用して既存の値をオーバーライドできます。
注意:
この項の手順は、Oracle InfrastructureおよびRESTful Webサービスにのみ適用されます。
WLSTを使用して、直接アタッチされたサービス・ポリシーの構成プロパティをオーバーライドするには、次の手順を実行します。
WLSTコマンドとその引数の詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項を参照してください。
5.5.2 WLSTを使用したWebサービス・クライアント・アプリケーションでの構成プロパティのオーバーライド
オーバーライド可能なプロパティを持つクライアント・ポリシーをアタッチする場合は、setWebServiceClientStubProperty
コマンドまたはsetWebServiceClientStubProperties
コマンドを使用して既存の値をオーバーライドできます。
注意:
この手順は、Oracle Infrastructure Webサービス・クライアントにのみ適用されます。
WLSTを使用してクライアント構成プロパティをオーバーライドするには、次の手順を実行します。
注意:
local.policy.reference.source
プロパティはオーバーライドしないでください。このプロパティは、直接ポリシー・アタッチメントのソースを識別するための情報のみを目的としています。詳細は、「ポリシー・アタッチメントのソースの決定」を参照してください。
WLSTコマンドとその引数の詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項を参照してください。
5.5.3 WLSTを使用したグローバルにアタッチされたポリシーの構成プロパティのオーバーライド
setWSMPolicyOverride
コマンドを使用して、ポリシー・セットで参照されているポリシー内の構成オーバーライドを指定できます。このコマンドは、セッションのコンテキストでポリシー・セットの作成または変更中にのみ使用できます。
注意:
-
この項の手順は、Java EE、RESTfulおよびOracle Infrastructure Webサービスに適用されます。
-
setWSMPolicySetOverride
コマンドを使用して、ポリシー・セットでスコープ設定されている構成オーバーライドを指定することもできます。詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のsetWSMPolicySetOverrideに関する項を参照してください。
次の手順は、既存のポリシー・セットの編集中に構成のオーバーライドを指定する方法ですが、新しいポリシー・セットを作成するか、既存のポリシー・セットからポリシー・セットを作成するときにセッションでこのコマンドを使用することもできます。
5.6 Fusion Middleware Controlを使用したWebサービスおよびクライアントのポリシーのユーザー定義プロパティの構成について
使用環境で意味を持つ1つ以上のユーザー定義のサーバー側またはクライアント側プロパティを、事前定義済ポリシーまたはカスタム・ポリシーのクローン・コピーに追加できます。それから、ユーザー定義のプロパティをそのまま使用するか、ポリシーにアタッチするときにそれをオーバーライドできます。
注意:
この項で説明する手順は、Oracle InfrastructureおよびRestful Webサービスにのみ適用されます。
ユーザー定義のプロパティを使用する場合、またはポリシーをアタッチするときにそれをオーバーライドする場合は、ポリシーをWebサービスまたはクライアントにアタッチするときに、プロパティをオーバーライドする前にそのプロパティがポリシーに存在している必要があります。つまり、ポリシーにすでに存在するプロパティのみオーバーライドできます。
そのため、通常はユーザーが提供するプロパティをデフォルト値を含めてクローン・バージョンの事前定義済またはカスタムのポリシーに追加し、それからアタッチメントごとにそれをオーバーライドします。
required、optional、またはconstantタイプのユーザー定義のプロパティを追加できますが、constantタイプのプロパティはオーバーライドできません。次の項では、ユーザー定義のオーバーライド・プロパティを構成する方法について説明します。
5.6.1 ユーザー定義の構成プロパティのスコープ
事前定義済の構成プロパティと同様に、ポリシーのユーザー定義の構成プロパティのスコープは、クライアントとWebサービスで異なります。
次の点を考慮してください。
-
クライアント側の構成プロパティ値のスコープは、そのクライアントです。同一クライアントにアタッチされる複数のポリシーが同じプロパティを使用できます。
-
サーバー側の構成プロパティ値のスコープは、指定されたポリシーに限定されます。つまり、サーバー側の構成プロパティの名前が同じ(たとえばP1) 2つのポリシーを、同じWebサービス・エンドポイントにアタッチし、その2つのP1プロパティに異なる値を指定できます。
5.6.2 ユーザー定義の構成プロパティの追加
事前定義済ポリシーまたはカスタム・ポリシーのクローン・コピーを編集して、ユーザー定義の構成プロパティを追加できます。
ユーザー定義の構成プロパティを追加するには、次の手順を実行します。
- 「「WSMポリシー」ページへの移動」の説明に従って、「WSMポリシー」ページに移動します。
- 「WSMポリシー」ページから、プロパティを追加するポリシーを選択し、「開く」をクリックします。
- 「アサーション」タブを選択し、「構成」をクリックします。
- 「構成」ページで「追加」をクリックして、新しいプロパティを追加します。
- 表で、新しいプロパティの名前と値を指定します。「名前」フィールドは必須です。また、ポリシーに対して一意である必要があります。
- 「タイプ」メニューから、「定数」、「オプション」または「必須」を選択します。タイプが「オプション」と「必須」のプロパティのみオーバーライドできます。
- 「OK」をクリックします。
- 「検証」をクリックして、ポリシーを検証します。
- 「保存」をクリックします。
5.6.3 ユーザー定義の構成プロパティの編集
ユーザー定義の構成プロパティは編集および検証できます。
ユーザー定義の構成プロパティを編集するには、次の手順を実行します。
- 「「WSMポリシー」ページへの移動」の説明に従って、「WSMポリシー」ページに移動します。
- 「WSMポリシー」ページから、プロパティを編集するポリシーを選択し、「開く」をクリックします。
- 「アサーション」タブを選択し、「構成」をクリックします。
- 「構成」ページで、必要に応じてプロパティを編集し、「OK」をクリックします。
- 「検証」をクリックして、ポリシーを検証します。
- 「保存」をクリックします。
5.6.4 ユーザー定義の構成プロパティの削除
ユーザー定義の構成プロパティが必要なくなった場合は、これを削除できます。
ユーザー定義の構成プロパティを削除するには、次の手順を実行します。
- 「「WSMポリシー」ページへの移動」の説明に従って、「WSMポリシー」ページに移動します。
- 「WSMポリシー」ページから、プロパティを編集するポリシーを選択し、「開く」をクリックします。
- 「アサーション」タブを選択し、「構成」をクリックします。
- 「構成」ページで、削除するユーザー定義のプロパティを選択し、「削除」をクリックします。
- 「OK」をクリックします。
- 「検証」をクリックして、ポリシーを検証します。
- 「保存」をクリックします。