ポリシーを評価する
post
/oaa-policy/policy/v1/expression
リクエストに存在するポリシー式を検証し、式がtrueまたはfalseに評価できる場合は成功を返します。構文またはコンパイル・エラーが原因で式を評価できない場合は、エラーが返されます。
リクエスト
この操作にはリクエスト・パラメータはありません。
サポートされるメディア・タイプ
- application/xml
- application/json
ルート・スキーマ : schema
型:
object
ポリシー式オブジェクト
ソースの表示
-
expression: string
ポリシー・デプロイメントで構成されたデフォルトのポリシー・エンジンによって検証される式。
ルート・スキーマ : schema
型:
object
ポリシー式オブジェクト
ソースの表示
-
expression: string
ポリシー・デプロイメントで構成されたデフォルトのポリシー・エンジンによって検証される式。
レスポンス
サポートされるメディア・タイプ
- application/xml
- application/json
201レスポンス
ポリシー式検証のレスポンス。
ルート・スキーマ: PolicyExpressionResponse
型:
object
ポリシー式オブジェクト
ソースの表示
-
expression: string
検証された式。リクエスト・オブジェクトの式と同じです。
-
message: string
エラーの場合、メッセージはリクエストに存在する式のエラーを示します。
-
status: string
結果に指定された式に基づく成功またはエラー。
401レスポンス
未認可
405レスポンス
無効な入力
ルート・スキーマ: PolicyExpressionResponse
型:
object
ポリシー式オブジェクト
ソースの表示
-
expression: string
検証された式。リクエスト・オブジェクトの式と同じです。
-
message: string
エラーの場合、メッセージはリクエストに存在する式のエラーを示します。
-
status: string
結果に指定された式に基づく成功またはエラー。
500レスポンス
内部サーバー・エラー
503レスポンス
サービス使用不可
例
次の例は、リクエストに存在し、成功を返すポリシー式を検証するサンプルのリクエストとレスポンスを示します。
JSON形式でポリシー式を検証するcURLコマンド
curl --location --request POST '<PolicyUrl>/oaa-policy/policy/v1/expression' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \ --data '{ "expression": "context.ip.inRange('\''127_ddd32e7186d66b2cb96cc4608ded0bb7d6ae4a48b1fc1894c69e715cf262e7ad'\'')" }'
JSON形式のサンプル・レスポンス
{ "expression": "context.ip.inRange('127_ddd32e7186d66b2cb96cc4608ded0bb7d6ae4a48b1fc1894c69e715cf262e7ad')", "status": "SUCCESS" }
XML形式でポリシー式を検証するcURLコマンド
curl --location --request POST '<PolicyUrl>/oaa-policy/policy/v1/expression' \ --header 'Content-Type: application/xml' \ --header 'Accept: application/xml' \ --header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \ --data '<?xml version="1.0" encoding="UTF-8" ?> <expression>context.ip.inRange("127_ddd32e7186d66b2cb96cc4608ded0bb7d6ae4a48b1fc1894c69e715cf262e7ad")</expression> '
XML形式のサンプル・レスポンス
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <PolicyExpressionResponse> <expression>context.ip.inRange("127_ddd32e7186d66b2cb96cc4608ded0bb7d6ae4a48b1fc1894c69e715cf262e7ad")</expression> <status>SUCCESS</status> </PolicyExpressionResponse>