ポリシー・セットの作成および管理

ポリシー・セットを使用すると、ある範囲に含まれる同じタイプのエンドポイントに対して、ポリシーをグローバルにアタッチできます。ポリシー・セットREST APIを使用して、使用可能なポリシー・セットを作成および管理できます。

cURLコマンドの例では、URL構造を使用しています:
http(s)://host:port/wsm-pmrest/v2/policyset

次の方法を使用事例で示します。

  • ポリシー・セットの作成

  • ポリシー・セットの変更

  • ポリシー・セットの表示

  • ポリシー・セットを削除します

ポリシー・セットを管理するには:

  1. cURLコマンド・ラインでヘッダーを指定します。
    -H Accept:application/json
  2. 次のコマンドを実行して、myPolicySet1myPolicySet2の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."
    }
  3. 次のコマンドを実行して、ポリシー・アタッチメントおよび構成オーバーライドを指定してポリシー・セット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."
    }
  4. 次のコマンドを実行して、myPolicySet1myPolicySet2のポリシー・セットを有効にします:
    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の更新」を参照してください。

  5. 次のコマンドを実行して、ポリシー・セット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."
    }
  6. 次のコマンドを実行して、指定したポリシー・セット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"
              }
            ]
          }
        ]
      }
    ]
  7. 次のコマンドを実行して、ポリシー・サブジェクト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"
      }
    ]
  8. オプションで、次のコマンドを実行して、ポリシー・セット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]"
    }
  9. オプションで、次のコマンドを実行して、ポリシー・サブジェクト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]"
    }