Oracle® Fusion Middleware Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理 12c (12.1.3) E59414-02 |
|
前 |
次 |
この章では、ポリシー構成のオーバーライド機能について説明します。この機能を使用すると、ポリシー・アタッチメントのWebサービス構成情報をグローバルに設定するかわりに、またはそれに加えて、ポリシー内の特定のWebサービスの構成情報を指定し、アタッチメントごとにオーバーライドできます。構成情報のターゲット指定により、管理する個別ポリシーの数を制限できます。
この章の内容は次のとおりです。
注意: 指定されている場合を除き、この章の手順はOracle Infrastructure WebサービスおよびRESTful Webサービスのみに適用されます。 |
事前定義済またはカスタムのWebサービス・ポリシー内のサーバー側構成プロパティの値は、Webサービスにポリシーをアタッチするたびに使用できます。また、アタッチメントごとにオーバーライドできます。Webサービス・クライアントでは、クライアントごとに構成をオーバーライドできます。オーバーライドの用途の1つに、維持するポリシー数の制限があります。構成がほとんど変わらない複数のポリシーを作成するのではなく、同じ一般ポリシーを使用し、要件に一致するように特定の値をオーバーライドできます。
オーバーライドできる構成プロパティには、次の2つのタイプがあります。
事前定義済ポリシー構成プロパティ: 事前定義済サービス・ポリシーに含まれる構成プロパティにより、たとえば署名キー・パスワードを格納するために使用されるCSFキーなど、特定のドメイン単位の構成設定をオーバーライドできます。事前定義済クライアント・ポリシーでは、構成プロパティをクライアントごとにオーバーライドするか、ポリシー・アタッチメントをグローバルに設定できます。
事前定義済ポリシーでオーバーライド可能な構成プロパティは、ポリシーに含まれるアサーション・テンプレートから継承されます。各ポリシーに関連付けられた構成プロパティの確認は、第17章「事前定義済ポリシー」を参照してください。オーバーライド可能なプロパティのアルファベット順リストは、「アサーション・テンプレート構成プロパティ」を参照してください。定数タイプのプロパティはオーバーライドできないことに注意が必要です。
ユーザー定義ポリシー構成プロパティ: ユーザー定義のプロパティでは、使用環境で意味を持つプロパティを追加できます。ユーザー定義のプロパティを、クローンの事前定義済ポリシーまたはカスタム・ポリシーに追加できます。ユーザー定義構成プロパティの作成および構成の詳細は、「Fusion Middleware Controlを使用したWebサービスおよびクライアント・ポリシーのユーザー定義プロパティの構成」を参照してください。
注意: 事前定義済ポリシーは読取り専用であり、編集できません。ただし、ベースとして事前定義済ポリシーを使用して新しいポリシーを作成できます。新しいポリシーの作成の詳細は、「Webサービス・ポリシーの作成および編集」を参照してください。新しいポリシーを作成した後は、必要に応じてポリシーを編集し、構成プロパティを設定できます。OWSM 12c事前定義済ポリシーのアタッチ時に「値」フィールドに空白の値(" ")を指定した場合、デフォルトの値が適用されます。11gポリシーまたは任意のカスタム・ポリシーをインポート済の場合、そのポリシーの「デフォルト」フィールドに同じ効果をもたらす有効な値が設定されていることを確認してください。それ以外の場合は、指定した値が取得されます。 |
サーバー側の構成プロパティ値のスコープは、指定されたポリシー・アタッチメントに限定されます。つまり、サーバー側の構成プロパティの名前が同じ(たとえばP1) 2つのポリシーを、同じWebサービス・エンドポイントに添付し、その2つのP1プロパティに異なる値を指定することができます。
クライアント側の構成プロパティ値のスコープは、そのクライアントです。同一クライアントにアタッチされる複数のポリシーが同じプロパティを使用できます。たとえば、oracle/wss_http_token_client_policy
ポリシーには、csf-key
プロパティがあり、デフォルト値はbasic.credentials
です。この値は、ユーザー名/パスワードにマッピングされているキーを表しています。任意の数のWebサービス・クライアントにこのポリシーをアタッチするときに、いつも同じキーの値を使用することになる可能性があります。この場合、oracle/wss_http_token_client_policy
のクローンを作成し、そのクローンの構成プロパティの値を設定できます。新しい値はすべてのインスタンスに適用できます。また、ポリシーのアタッチ時に、必要に応じて構成プロパティをクライアントごとにオーバーライドできます。
注意: オーバーライドした構成プロパティを消去するには、空の文字列を設定します。クリアする前に、他のポリシーで同じプロパティを使用している可能性がないかを確認します。プロパティはクライアント固有ですが、同じプロパティを使用する同一クライアントに複数のポリシーがアタッチされている場合があります。クライアント側のセキュリティ・ポリシーを解除する場合、クライアント構成オーバーライドはポート・レベルで適用されるため、手動ですべての構成オーバーライドを削除する必要があります。そうしない場合オーバーライドは、このポートへのすべての将来のポリシー・アタッチメント(グローバルと直接の両方)に対して有効であり続けます。 |
注意: この項の手順は、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 設計時にオーバーライド可能なクライアント・ポリシー構成プロパティ
プロパティ | 説明 |
---|---|
|
認証のユーザー名 |
|
認証のパスワード。 |
|
アテスト・エンティティの表現で使用されるマッピング属性。現在サポートされているのはDNのみです。この属性は、送信者保証メッセージ保護ユースケースにのみ適用されます。SAML over SSLポリシーには適用されません。 |
|
注意: |
|
リクエストが別のエンティティの代理かどうかを指定するフラグ。 それ以外の場合、サブジェクトがすでに確立されていれば、サブジェクトのユーザー名が
|
|
カンマ区切りのURIで表されたリライイング・パーティ。このプロパティではワイルドカードを使用できます。詳細は、「saml.audience.uri」を参照してください。 |
|
STSの公開鍵の別名。 |
|
SAMLアサーションのユーザー・ロール。 |
|
セキュリティ・トークン・サービス(STS)から発行済トークンを取得するときにOWSMがトークンのキャッシュをリクエストするかどうかの制御。詳細は、「issued.token.caching」を参照してください。 |
|
セキュリティ・トークン・サービス(STS)から発行済トークンを取得するときにOWSMがトークンの存続時間としてリクエストする時間(ミリ秒)。詳細は、「issued.token.lifetime」を参照してください。 |
|
RESTful Webサービス・クライアントのパスワード。 注意: このプロパティは、RESTful Webサービス・クライアントのみで有効です。 |
|
SAML HOKポリシーのアサーションを格納するファイル。 |
|
代理エンティティ。存在する場合、サブジェクト(存在する場合)より優先されます。 |
|
STSに対する認証用のユーザー名/パスワード。 STS構成ポリシー内の |
|
STSに対する認証用のX509証明書。 STS構成ポリシー内の |
|
OWSMサブジェクトを使用するどうかを指定するフラグ。クライアント指定のユーザー名を使用するには、 |
|
RESTful Webサービス・クライアントのユーザー名。 注意: このプロパティは、RESTful Webサービス・クライアントのみで有効です。 |
|
クライアントで資格証明ストアが使用可能な場合に、資格証明ストアで指定された または、ユーザー名とパスワードを明示的に設定できます。例5-1の例を参照してください。 |
|
サービスからのレスポンスの復号化に使用されるキーストア内のキーの別名。このプロパティは、静的に構成された値をオーバーライドします。 このプロパティは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 |
例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)); ... } }
次の項で説明するように、Webサービス構成はドメイン・レベル、Webサービス・アプリケーション・ポート・レベル(直接アタッチ)およびクライアント・アプリケーション・レベルでオーバーライドできます。
Fusion Middleware Controlを使用した直接アタッチされたサービス・ポリシーの構成プロパティのオーバーライド
Fusion Middleware Controlを使用したWebサービス・クライアント・アプリケーション・レベルでの構成プロパティのオーバーライド
Fusion Middleware Controlを使用したグローバルにアタッチされたポリシーの構成プロパティのオーバーライド
ドメイン・レベルで構成プロパティをオーバーライドするために、ポリシー内の構成オーバーライド・プロパティのデフォルト値を変更できます。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」をクリックします。
「検証」をクリックして、ポリシーを検証します。
「保存」をクリックします。
直接アタッチされたポリシーの構成プロパティをオーバーライドするには、アプリケーションのエンドポイントにポリシーをアタッチし、アタッチされたポリシーの目的のプロパティの値をオーバーライドします。ポリシーを変更しているのではないので、事前定義済ポリシーのクローンを作成してアプリケーション・レベルでポリシー・オーバーライドを構成する必要はありません。
Fusion Middleware Controlを使用して直接アタッチされたポリシーの構成プロパティをオーバーライドするには:
「Fusion Middleware Controlを使用したポリシーを直接アタッチする」の説明に従って、エンドポイントにポリシーをアタッチします。
「直接アタッチされたポリシー」表で上書きするプロパティを含むポリシーを選択し、「ポリシー構成のオーバーライド」をクリックします。
「ポリシー構成のオーバーライド」を選択します。
図5-1に示すように、「セキュリティ構成の詳細」ウィンドウが表示されます。この図は、oracle/wss10_message_protection_service_policy
のオーバーライド可能なプロパティを示します。
プロパティの「値」フィールドにオーバーライド値を入力し、「適用」をクリックします。
プロパティはアタッチメント単位でオーバーライドされます。
たとえば、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は、メッセージ保護に関するキーストアの設定の一部として構成された値を使用します。
注意: この項の手順は、Java EEおよびOracle Infrastructure Webサービス・クライアントにのみ適用されます。 |
Fusion Middleware Controlを使用してクライアント構成プロパティをオーバーライドするには:
「Fusion Middleware Controlを使用したWebサービス・クライアントへのポリシーを直接アタッチする」の説明に従って、Webサービス・クライアントにポリシーをアタッチします。
クライアント・エンドポイントのページにある「直接アタッチされたポリシー」表でポリシーを選択し、「ポリシー構成のオーバーライド」をクリックします。
プロパティの「値」フィールドにオーバーライド値を入力し、「適用」をクリックします。
プロパティはアタッチメント単位でオーバーライドされます。
注意: この項の手順は、Java EE、RESTfulおよびOracle Infrastructure Webサービスに適用されます。 |
ポリシー・セットで参照されたポリシーにオーバーライド可能プロパティが含まれる場合、Fusion Middleware Controlを使用して、該当ポリシー・セットのプロパティの既存値をオーバーライドできます。グローバル・ポリシー・アタッチメントはアプリケーション・レベルやドメイン・レベルなど、ダイレクト・ポリシー・アタッチメントより上位レベルへのスコープ設定が可能なため、ポリシー・セットで構成された構成オーバーライドも、より高いスコープに適用されます。
ポリシー・セットで参照されたポリシーの構成プロパティをオーバーライドするには:
「Fusion Middleware Controlを使用した「WSMポリシー・セット・サマリー」ページへの移動」の説明に従って、「WSMポリシー・セット・サマリー」ページに移動します。
「WSMポリシー・セット・サマリー」ページから、オーバーライドを構成するポリシーを含むポリシー・セットを選択します。
「ポリシー構成のオーバーライド」を選択します。
図5-2に示すように、「ポリシー構成のオーバーライド」ページが表示されます。
「ポリシー参照」表で、構成プロパティをオーバーライドするポリシーを選択します。ポリシーにオーバーライド可能プロパティが含まれる場合、「ポリシー構成のオーバーライド」ボタンが表示されます。
「ポリシー構成のオーバーライド」を選択します。「セキュリティ構成の詳細」ページに、選択したポリシーでオーバーライドできる構成プロパティのリストが表示されます。
プロパティの「値」フィールドにオーバーライド値を入力し、「適用」をクリックします。
ポリシー・セットが適用されるすべてのエンドポイントで、プロパティがオーバーライドされます。
次の項で説明するように、Webサービス構成はドメイン・レベル、Webサービス・アプリケーション・レベル、クライアント・アプリケーション・レベルおよびグローバルにアタッチされたポリシーにオーバーライドできます。
注意: この項の手順は、Oracle InfrastructureおよびRESTful Webサービスにのみ適用されます。 |
オーバーライド可能なプロパティを持つポリシーをアタッチする場合は、setWSMPolicyOverride
コマンドを使用して既存の値をオーバーライドできます。
「WLSTを使用したポリシーを直接アタッチする」の説明に従って、ポリシーをサービスまたはクライアントにアタッチします。
セッション内で、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".
注意: 指定したポリシーがポートにアタッチされていない場合は、エラーメッセージが表示されるか例外が返されます。
|
WLSTコマンドとその引数の詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項を参照してください。
注意: この手順は、Oracle Infrastructure Webサービス・クライアントにのみ適用されます。 |
オーバーライド可能なプロパティを持つクライアント・ポリシーをアタッチする場合は、setWebServiceClientStubProperty
コマンドまたはsetWebServiceClientStubProperties
コマンドを使用して既存の値をオーバーライドできます。
WLSTを使用してクライアント構成プロパティをオーバーライドするには:
「WLSTを使用してRESTfulおよびOracle Infrastructure Webサービスおよびクライアントにポリシーを直接アタッチする」の説明に従って、ポリシーをWebサービス・クライアントにアタッチします。
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コマンドに関する項を参照してください。
注意: この項の手順は、Java EE、RESTfulおよびOracle Infrastructure Webサービスに適用されます。 |
setWSMPolicyOverride
コマンドを使用して、ポリシー・セットで参照されているポリシー内の構成オーバーライドを指定できます。このコマンドは、セッションのコンテキストでポリシー・セットの作成または変更中にのみ使用できます。次の手順は、既存のポリシー・セットの編集中に構成のオーバーライドを指定する方法ですが、新しいポリシー・セットを作成するか、既存のポリシー・セットからポリシー・セットを作成するときにセッションでこのコマンドを使用することもできます。
注意: setWSMPolicySetOverride コマンドを使用して、ポリシー・セットでスコープ設定されている構成オーバーライドを指定することもできます。詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のsetWSMPolicySetOverrideに関する項を参照してください。 |
beginWSMSession
コマンドを使用して、セッションを開始します。
例:
wls:/jrfserver_domain/serverConfig> beginWSMSession()
Session started for modification.
selectWSMPolicySet
コマンドを使用して、編集する既存のポリシー・セットを選択します。
selectWSMPolicySet(name)
指定したポリシー・セットの最新バージョンが現在のセッションにロードされます。たとえば、次のコマンドを入力します。
wls:/jrfServer_domain/serverConfig> selectWSMPolicySet ('default-domain-ws-domain_gpa')
The policy set is ready for modification in the session.
必要に応じて、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
setWSMPolicyOverride
コマンドを使用して、ポリシー参照の構成オーバーライド・プロパティを指定します。
たとえば、oracle/wss11_saml_or_username_token_with_message_protection_service_policy
のreference.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".
必要に応じて、ポリシー・セットの構成を表示します。
例:
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
構成オーバーライドが出力に表示されるようになったことに注意してください(前記の例の太字の部分。)
validateWSMPolicySet
コマンドを使用して、ポリシー・セットを検証します。
例:
wls:/jrfServer_domain/serverConfig> validateWSMPolicySet()
The global policy set default-domain-ws-domain_gpa is valid.
リポジトリに対して現在のセッションのコンテンツの書込みを行うために、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.
注意: この項で説明する手順は、Oracle InfrastructureおよびRestful Webサービスにのみ適用されます。 |
使用環境で意味を持つ1つ以上のユーザー定義のサーバー側またはクライアント側プロパティを、事前定義済ポリシーまたはカスタム・ポリシーのクローン・コピーに追加できます。それから、ユーザー定義のプロパティをそのまま使用するか、ポリシーにアタッチするときにそれをオーバーライドできます。
どちらの場合でも、ポリシーをWebサービスまたはクライアントにアタッチするときに、プロパティをオーバーライドする前にそのプロパティがポリシーに存在している必要があります。つまり、ポリシーにすでに存在するプロパティのみオーバーライドできます。
そのため、通常はユーザーが提供するプロパティをデフォルト値を含めてクローン・バージョンの事前定義済またはカスタムのポリシーに追加し、それからアタッチメントごとにそれをオーバーライドします。
required、optional、またはconstantタイプのユーザー定義のプロパティを追加できますが、constantタイプのプロパティはオーバーライドできません。
次の項では、ユーザー定義オーバーライド・プロパティを構成する方法について説明します。
事前定義済の構成プロパティと同様に、ポリシーのユーザー定義の構成プロパティのスコープは、クライアントとWebサービスで異なります。次の点を考慮してください。
クライアント側の構成プロパティ値のスコープは、そのクライアントです。同一クライアントにアタッチされる複数のポリシーが同じプロパティを使用できます。
サーバー側の構成プロパティ値のスコープは、指定されたポリシーに限定されます。つまり、サーバー側の構成プロパティの名前が同じ(たとえばP1) 2つのポリシーを、同じWebサービス・エンドポイントにアタッチし、その2つのP1プロパティに異なる値を指定できます。
事前定義済ポリシーまたはカスタム・ポリシーのクローン・コピーを編集して、ユーザー定義の構成プロパティを追加できます。
ユーザー定義の構成プロパティを追加する手順
「「WSMポリシー」ページへの移動」の説明に従って、「WSMポリシー」ページに移動します。
「WSMポリシー」ページから、プロパティを追加するポリシーを選択し、「開く」をクリックします。
「アサーション」タブを選択し、「構成」をクリックします。
「構成」ページで「追加」をクリックして、新しいプロパティを追加します。
表で、新しいプロパティの名前と値を指定します。「名前」フィールドは必須です。また、ポリシーに対して一意である必要があります。
「タイプ」メニューから、「定数」、「オプション」または「必須」を選択します。タイプが「オプション」と「必須」のプロパティのみオーバーライドできます。
「OK」をクリックします。
「検証」をクリックして、ポリシーを検証します。
「保存」をクリックします。
必要に応じて、次の手順を使用してユーザー定義の構成プロパティを編集できます。
「「WSMポリシー」ページへの移動」の説明に従って、「WSMポリシー」ページに移動します。
「WSMポリシー」ページから、プロパティを編集するポリシーを選択し、「開く」をクリックします。
「アサーション」タブを選択し、「構成」をクリックします。
「構成」ページで、必要に応じてプロパティを編集し、「OK」をクリックします。
「検証」をクリックして、ポリシーを検証します。
「保存」をクリックします。
ユーザー定義の構成プロパティが必要なくなった場合は、次の手順を使用してこれを削除できます。
「「WSMポリシー」ページへの移動」の説明に従って、「WSMポリシー」ページに移動します。
「WSMポリシー」ページから、プロパティを編集するポリシーを選択し、「開く」をクリックします。
「アサーション」タブを選択し、「構成」をクリックします。
「構成」ページで、削除するユーザー定義のプロパティを選択し、「削除」をクリックします。
「OK」をクリックします。
「検証」をクリックして、ポリシーを検証します。
「保存」をクリックします。
事前定義済ポリシーやカスタム・ポリシーと同じ方法を使用して、ユーザー定義の構成プロパティをオーバーライドします。詳細は、以下のトピックを参照してください。