ポリシー・セットの作成および管理
ポリシー・セットを使用すると、ある範囲に含まれる同じタイプのエンドポイントに対して、ポリシーをグローバルにアタッチできます。ポリシー・セットREST APIを使用して、使用可能なポリシー・セットを作成および管理できます。
cURLコマンドの例では、URL構造を使用しています:
http(s)://host:port/wsm-pmrest/v2/policyset
次の方法を使用事例で示します。
-
ポリシー・セットの作成
-
ポリシー・セットの変更
-
ポリシー・セットの表示
-
ポリシー・セットを削除します
ポリシー・セットを管理するには:
- cURLコマンド・ラインでヘッダーを指定します。
-H Accept:application/json
- 次のコマンドを実行して、
myPolicySet1
とmyPolicySet2
の2つの新しい空のポリシー・セットを作成します:curl -i -X POST -u username:password -H Content-type:application/json http://host:port/wsm-pmrest/v2/policyset
例
curl -i -X POST -u Smith:Password -H Content-type:application/json http://myhost:7001/wsm-pmrest/v2/policyset
「PolicySetの作成」を参照してください。
次に、リクエスト本文の例を示します。
[ { "name": "myPolicySet1", "type": "ws-service", "scope": "Domain('*')" }, { "name": "myPolicySet2", "type": "ws-service", "scope": "Domain('*')" } ]
次にリクエストの成功を示すレスポンスの例を示します。
{ "STATUSCODE": "20001", "MESSAGE": "PolicySets \"[myPolicySet1, myPolicySet2]\" are successfully created." }
- 次のコマンドを実行して、ポリシー・アタッチメントおよび構成オーバーライドを指定してポリシー・セット
myPolicySet3
を作成します:curl -i -X POST -u username:password -H Content-type:application/json http://host:port/wsm-pmrest/v2/policyset
例
curl -i -X POST -u Smith:Password -H Content-type:application/json http://myhost:7001/wsm-pmrest/v2/policyset
「PolicySetの作成」を参照してください。
次に、リクエスト本文の例を示します。
[ { "name": "myPolicySet3", "type": "WS-Service", "scope": "Domain('*')", "description": "Global policy attachments for SOAP Web Service resources.", "status": "enabled", "configOverrides": [ { "name": "keystore.enc.csf.key", "value": "myKey1" }, { "name": "reference.priority", "value": "1" } ], "policyReferences": [ { "uri": "oracle/wss_username_token_service_policy", "status": "enabled", "configOverrides": [ { "name": "keystore.enc.csf.key", "value": "myKey2" }, { "name": "myprop", "value": "myval" } ] } ] } ]
次にリクエストの成功を示すレスポンスの例を示します。
{ "STATUSCODE": "20001", "MESSAGE": "PolicySets \"[myPolicySet3]\" are successfully created." }
- 次のコマンドを実行して、
myPolicySet1
とmyPolicySet2
のポリシー・セットを有効にします:curl -i -X PATCH -u username:password -H Content-type:application/json http://host:port/wsm-pmrest/v2/policyset
例
curl -i -X PATCH -u Smith:Password -H Content-type:application/json http://myhost:7001/wsm-pmrest/v2/policyset
次に、リクエスト本文の例を示します。
[ { "name": "myPolicySet1", "status": "enabled" }, { "name": "myPolicySet2", "status": "enabled" } ]
次にリクエストの成功を示すレスポンスの例を示します。
{ "STATUSCODE": "20002", "MESSAGE": "PolicySets \"[myPolicySet1, myPolicySet2]\" are successfully updated." }
「PolicySetの更新」を参照してください。
- 次のコマンドを実行して、ポリシー・セット
myPolicySet1
のランタイム制約値を指定します:curl -i -X PATCH -u username:password -H Content-type:application/json http://host:port/wsm-pmrest/v2/policyset
例
curl -i -X PATCH -u Smith:Password -H Content-type:application/json http://myhost:7001/wsm-pmrest/v2/policyset/myPolicySet1
「特定の名前付きPolicySetの更新」を参照してください。
次に、リクエスト本文の例を示します。
{ "constraint": "HTTPHeader('VIRTUAL_HOST_TYPE','external')" }
次にリクエストの成功を示すレスポンスの例を示します。
{ "STATUSCODE": "20002", "MESSAGE": "PolicySets \"myPolicySet1\" are successfully updated." }
- 次のコマンドを実行して、指定したポリシー・セット
myPolicySet3
の構成を表示します:curl -i -X GET -u username:password -H Content-type:application/json http://host:port/wsm-pmrest/v2/policyset
例
curl -i -X GET -u Smith:Password -H Content-type:application/json http://myhost:7001/wsm-pmrest/v2/policyset/myPolicySet3
「タイプによるPolicySetの取得」を参照してください。
次に、レスポンス本文の例を示します:
[ { "name": "myPolicySet3", "type": "WS-Service", "scope": "Domain('*')", "description": "Global policy attachments for SOAP Web Service resources.", "status": "enabled", "configOverrides": [ { "name": "keystore.enc.csf.key", "value": "myKey1" }, { "name": "reference.priority", "value": "1" } ], "policyReferences": [ { "uri": "oracle/wss_username_token_service_policy", "status": "enabled", "configOverrides": [ { "name": "keystore.enc.csf.key", "value": "myKey2" }, { "name": "myprop", "value": "myval" } ] } ] } ]
- 次のコマンドを実行して、ポリシー・サブジェクト
ws-service
のタイプに基づくポリシー・セットを表示します:curl -i -X GET -u username:password -H Content-type:application/json http://host:port/wsm-pmrest/v2/policyset?type={value}
例
curl -i -X GET -u Smith:Password -H Content-type:application/json http://myhost:7001/wsm-pmrest/v2/policyset?type=ws-service
「タイプによるPolicySetの取得」を参照してください。
次に、レスポンス本文の例を示します:
[ { "name": "myPolicySet1" }, { "name": "myPolicySet2" }, { "name": "myPolicySet3" } ]
- オプションで、次のコマンドを実行して、ポリシー・セット
myPolicySet3
を削除します:curl -i -X DELETE -u username:password -H Content-type:application/json http://host:port/wsm-pmrest/v2/policyset
例
curl -i -X DELETE -u Smith:Password -H Content-type:application/json http://myhost:7001/wsm-pmrest/v2/policyset/myPolicySet3
「名前によるPolicySetの削除」を参照してください。
次にリクエストの成功を示すレスポンスの例を示します。
{ "STATUSCODE": "20004", "MESSAGE": "Following policy set(s) are successfully deleted: [myPolicySet3]" }
- オプションで、次のコマンドを実行して、ポリシー・サブジェクト
ws-service
のタイプに基づくポリシー・セットを削除します:curl -i -X DELETE -u username:password -H Content-type:application/json http://host:port/wsm-pmrest/v2/policyset?type={value}
例
curl -i -X DELETE -u Smith:Password -H Content-type:application/json http://myhost:7001/wsm-pmrest/v2/policyset?type=ws-service
「タイプによるPolicySetの削除」を参照してください。
次にリクエストの成功を示すレスポンスの例を示します。
{ "STATUSCODE": "20004", "MESSAGE": "Following policy set(s) are successfully deleted: [myPolicySet1, myPolicySet2]" }