新規エージェントおよびポリシーを作成する

post

/oaa-policy/aggregation/v1/

指定されたアクションで新しいエージェント、保証レベルおよびポリシーを作成します。

リクエスト

問合せパラメータ
  • フラグがtrueの場合は、このリクエストに対して存在するすべてのアーティファクト(エージェント、保証レベル、ポリシー、ルールなど)が返されます。
サポートされるメディア・タイプ
リクエスト本文 - application/xml ()
ルート・スキーマ : schema
型: object
エージェント、保証レベル、ポリシー、デフォルト・ルールなど、ポリシーに関連するすべてのアーティファクトを作成するリクエスト。
ソースの表示
  • actions
    保証レベルのあるポリシーが実行されたときに返されるアクションのリスト。
  • 既存のエージェントの一意のエージェントID。
  • agentidがない場合のエージェントの名前は、この名前で新しいエージェントを作成するために使用されます。
  • 保証レベルのID。存在しない場合は、システムによって生成されます。
  • クライアントのタイプ。api、oam、radiusのいずれかの値を指定できます。
ネストされたスキーマ: actions
型: array
保証レベルのあるポリシーが実行されたときに返されるアクションのリスト。
ソースの表示
リクエスト本文 - application/json ()
ルート・スキーマ : schema
型: object
エージェント、保証レベル、ポリシー、デフォルト・ルールなど、ポリシーに関連するすべてのアーティファクトを作成するリクエスト。
ソースの表示
  • actions
    保証レベルのあるポリシーが実行されたときに返されるアクションのリスト。
  • 既存のエージェントの一意のエージェントID。
  • agentidがない場合のエージェントの名前は、この名前で新しいエージェントを作成するために使用されます。
  • 保証レベルのID。存在しない場合は、システムによって生成されます。
  • クライアントのタイプ。api、oam、radiusのいずれかの値を指定できます。
ネストされたスキーマ: actions
型: array
保証レベルのあるポリシーが実行されたときに返されるアクションのリスト。
ソースの表示
先頭に戻る

レスポンス

サポートされるメディア・タイプ

201レスポンス

エージェントとすべての保証レベルおよびポリシーが作成されます。
本文()
ルート・スキーマ: AggregationResponse
型: object
ポリシーの作成されたすべてのアーティファクト(エージェント、保証レベル、ポリシーおよびデフォルト・ルールを含む)がここに表示されます。
ソースの表示
ネストされたスキーマ: schema
型: object
エージェントの詳細
ソースの表示
ネストされたスキーマ: AssuranceLevel
型: object
単一の保証レベルの詳細。
ソースの表示
ネストされたスキーマ: Group
型: object
新しいグループ構造を定義します
ソースの表示
ネストされたスキーマ: Policy
型: object
ポリシーを作成、変更およびフェッチするためのポリシー・オブジェクト。
ソースの表示
ネストされたスキーマ: Rule
型: object
システム内のポリシー・ルールを定義します
ソースの表示
ネストされたスキーマ: values
型: array
グループ内の要素の値。値はグループのタイプによって異なります。
ソースの表示
ネストされたスキーマ: items
型: object
ネストされたスキーマ: conditionMap
型: array
UIルールを再構築するためのキー値のペアのマップ。OAAルールの必須要素は、entityRefId、操作、値(文字列の配列)、式、モード、isgroupです。
ソースの表示
  • ConditionMap
    ルールの再構築に使用されるキー/値のペアのマップ、またはルールに必要な追加パラメータをマップで渡すことができます
ネストされたスキーマ: conditions
型: array
ルールの実行時に評価される条件の配列。ルールに関連付けられたアクションを返すには、すべての条件がtrueである必要があります。
ソースの表示
  • Condition
    評価する条件。パラメータを指定しない場合、すべての条件がデフォルト値で評価されます。
ネストされたスキーマ: RuleAction
型: object
ルールがtrueと評価されたときに返されるアクション。
ソースの表示
ネストされたスキーマ: ConditionMap
型: object
ルールの再構築に使用されるキー/値のペアのマップ、またはルールに必要な追加パラメータをマップで渡すことができます
ソースの表示
ネストされたスキーマ: value
型: object
値は、jsonオブジェクトまたは単純な文字列になります。
ネストされたスキーマ: Condition
型: object
評価する条件。パラメータを指定しない場合、すべての条件がデフォルト値で評価されます。
ソースの表示
ネストされたスキーマ: parameters
型: array
すべてのオーバーライド・パラメータのリスト。
ソースの表示
ネストされたスキーマ: ConditionParameter
型: object
条件の評価時に必要な条件のパラメータ。
ソースの表示

401レスポンス

未認可

405レスポンス

無効な入力
本文()
ルート・スキーマ: AggregationResponse
型: object
ポリシーの作成されたすべてのアーティファクト(エージェント、保証レベル、ポリシーおよびデフォルト・ルールを含む)がここに表示されます。
ソースの表示
ネストされたスキーマ: schema
型: object
エージェントの詳細
ソースの表示
ネストされたスキーマ: AssuranceLevel
型: object
単一の保証レベルの詳細。
ソースの表示
ネストされたスキーマ: Group
型: object
新しいグループ構造を定義します
ソースの表示
ネストされたスキーマ: Policy
型: object
ポリシーを作成、変更およびフェッチするためのポリシー・オブジェクト。
ソースの表示
ネストされたスキーマ: Rule
型: object
システム内のポリシー・ルールを定義します
ソースの表示
ネストされたスキーマ: values
型: array
グループ内の要素の値。値はグループのタイプによって異なります。
ソースの表示
ネストされたスキーマ: items
型: object
ネストされたスキーマ: conditionMap
型: array
UIルールを再構築するためのキー値のペアのマップ。OAAルールの必須要素は、entityRefId、操作、値(文字列の配列)、式、モード、isgroupです。
ソースの表示
  • ConditionMap
    ルールの再構築に使用されるキー/値のペアのマップ、またはルールに必要な追加パラメータをマップで渡すことができます
ネストされたスキーマ: conditions
型: array
ルールの実行時に評価される条件の配列。ルールに関連付けられたアクションを返すには、すべての条件がtrueである必要があります。
ソースの表示
  • Condition
    評価する条件。パラメータを指定しない場合、すべての条件がデフォルト値で評価されます。
ネストされたスキーマ: RuleAction
型: object
ルールがtrueと評価されたときに返されるアクション。
ソースの表示
ネストされたスキーマ: ConditionMap
型: object
ルールの再構築に使用されるキー/値のペアのマップ、またはルールに必要な追加パラメータをマップで渡すことができます
ソースの表示
ネストされたスキーマ: value
型: object
値は、jsonオブジェクトまたは単純な文字列になります。
ネストされたスキーマ: Condition
型: object
評価する条件。パラメータを指定しない場合、すべての条件がデフォルト値で評価されます。
ソースの表示
ネストされたスキーマ: parameters
型: array
すべてのオーバーライド・パラメータのリスト。
ソースの表示
ネストされたスキーマ: ConditionParameter
型: object
条件の評価時に必要な条件のパラメータ。
ソースの表示

500レスポンス

内部サーバー・エラー

503レスポンス

サービス使用不可
先頭に戻る

次の例は、新規ポリシーおよびエージェントを作成するサンプルのリクエストとレスポンスを示します。

JSON形式でポリシーおよびエージェントを作成するcURLコマンド

curl --location --request POST '<PolicyUrl>/oaa-policy/aggregation/v1?detailresponse=true' \
--header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \
--header 'Content-Type: application/json' \
--data '{
    "agentname" : "AggregationAPIAgent",
    "assuranceLevelId" : "AggregationAgentAssuranceLevel",
    "type" : "API",
    "actions" : ["ChallengeEmail" , "ChallengeSMS" , "ChallengeOMATOTP", "ChallengeYubicoOTP", "ChallengeFIDO2"]
}'

JSON形式のサンプル・レスポンス

{
    "agent": {
        "agentName": "AggregationAPIAgent",
        "clientId": "da3b521d-5ec2-4956-a412-046df1c8c9ea",
        "clientSecret": "8cce2702-824b-4377-b1a3-99419cfcec7f",
        "clientType": "api",
        "agentgid": "0463b32d-70a1-4ca8-81e1-58f1a8728690",
        "createTime": {
            "parseFailed": false,
            "dateTime": "2021-04-01T01:49:20.470Z",
            "rawParam": "2021-04-01T01:49:20.470Z"
        },
        "updateTime": {
            "parseFailed": false,
            "dateTime": "2021-04-01T01:49:20.471Z",
            "rawParam": "2021-04-01T01:49:20.471Z"
        }
    },
    "assuranceLevel": {
        "id": "AggregationAgentAssuranceLevel",
        "name": "AggregationAgentAssuranceLevel",
        "description": "Created by Aggregation API for agentAggregationAPIAgent",
        "agentid": "0463b32d-70a1-4ca8-81e1-58f1a8728690"
    },
    "policy": {
        "agentgid": "0463b32d-70a1-4ca8-81e1-58f1a8728690",
        "assuranceLevelId": "AggregationAgentAssuranceLevel",
        "name": "AggregationAPIAgent68d3f589",
        "description": "Created by Aggregation API for agentAggregationAPIAgent",
        "status": "ACTIVE",
        "scoringEngine": "Weighted Average",
        "weight": 100,
        "policygid": "174_128fe9d6967edf9c90283c84e002d18d211cbe082bf168b1376e3e07e4512dcd"
    },
    "rule": {
        "name": "AggregationAPIAgent68d3f589",
        "rulegid": "178_663c4a4fbb4c6ef1bd9c9563c259de2de7baad626921de3255a8b633e32fc1be",
        "policygid": "174_128fe9d6967edf9c90283c84e002d18d211cbe082bf168b1376e3e07e4512dcd",
        "status": "ACTIVE",
        "note": "Created by Aggregation API for agentAggregationAPIAgent",
        "conditions": [
            {
                "conditionKey": "always_on_user.condition0",
                "conditionId": "177_192b8bdc19927812d85ec01c71664b670290596c9d171eeaa82e46a63ffb5688",
                "parameters": [
                    {
                        "paramname": "isTrue",
                        "value": "true"
                    }
                ]
            }
        ],
        "results": {
            "action": "173_db05090771e58ef53d0549c7014a090613b96b6f5a90f2347abe59d1fdc9a292",
            "score": 1000,
            "weight": 100
        }
    },
    "group": {
        "groupid": "173_db05090771e58ef53d0549c7014a090613b96b6f5a90f2347abe59d1fdc9a292",
        "agentid": "0463b32d-70a1-4ca8-81e1-58f1a8728690",
        "grouptype": "Actions",
        "groupname": "AggregationAPIAgent68d3f589",
        "description": "Created by Aggregation API for agentAggregationAPIAgent",
        "values": [
            "ChallengeEmail",
            "ChallengeSMS",
            "ChallengeOMATOTP",
            "ChallengeYubicoOTP",
            "ChallengeFIDO2"
        ]
    }
}

XML形式でポリシーおよびエージェントを作成するcURLコマンド

curl --location --request POST '<PolicyUrl>/oaa-policy/aggregation/v1?detailresponse=true' \
--header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \
--header 'Content-Type: application/json' \
--data '<?xml version="1.0" encoding="UTF-8" ?>
 <AggregationRequest>
     <agentname>AggregationAPIAgent</agentname>
     <assuranceLevelId>AggregationAgentAssuranceLevel</assuranceLevelId>
     <type>API</type>
     <actions>ChallengeEmail</actions>
     <actions>ChallengeSMS</actions>
     <actions>ChallengeOMATOTP</actions>
     <actions>ChallengeYubicoOTP</actions>
     <actions>ChallengeFIDO2</actions>
 </AggregationRequest>'

XML形式のサンプル・レスポンス

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <AggregationResponse>
     <agent>
         <agentName>AggregationAPIAgent</agentName>
         <clientId>da3b521d-5ec2-4956-a412-046df1c8c9ea</clientId>
         <clientSecret>8cce2702-824b-4377-b1a3-99419cfcec7f</clientSecret>
         <clientType>api</clientType>
         <agentgid>0463b32d-70a1-4ca8-81e1-58f1a8728690</agentgid>
         <createTime>
             <parseFailed>false</parseFailed>
             <dateTime>2021-04-01T01:49:20.470Z</dateTime>
             <rawParam>2021-04-01T01:49:20.470Z</rawParam>
         </createTime>
         <updateTime>
             <parseFailed>false</parseFailed>
             <dateTime>2021-04-01T01:49:20.471Z</dateTime>
             <rawParam>2021-04-01T01:49:20.471Z</rawParam>
         </updateTime>
     </agent>
     <assuranceLevel>
         <id>AggregationAgentAssuranceLevel</id>
         <name>AggregationAgentAssuranceLevel</name>
         <description>Created by Aggregation API for agentAggregationAPIAgent</description>
         <agentid>0463b32d-70a1-4ca8-81e1-58f1a8728690</agentid>
     </assuranceLevel>
     <policy>
         <agentgid>0463b32d-70a1-4ca8-81e1-58f1a8728690</agentgid>
         <assuranceLevelId>AggregationAgentAssuranceLevel</assuranceLevelId>
         <name>AggregationAPIAgent68d3f589</name>
         <description>Created by Aggregation API for agentAggregationAPIAgent</description>
         <status>ACTIVE</status>
         <scoringEngine>Weighted Average</scoringEngine>
         <weight>100</weight>
         <policygid>174_128fe9d6967edf9c90283c84e002d18d211cbe082bf168b1376e3e07e4512dcd</policygid>
     </policy>
     <rule>
         <name>AggregationAPIAgent68d3f589</name>
         <rulegid>178_663c4a4fbb4c6ef1bd9c9563c259de2de7baad626921de3255a8b633e32fc1be</rulegid>
         <policygid>174_128fe9d6967edf9c90283c84e002d18d211cbe082bf168b1376e3e07e4512dcd</policygid>
         <status>ACTIVE</status>
         <note>Created by Aggregation API for agentAggregationAPIAgent</note>
         <conditions>
             <conditionKey>always_on_user.condition0</conditionKey>
             <conditionId>177_192b8bdc19927812d85ec01c71664b670290596c9d171eeaa82e46a63ffb5688</conditionId>
             <parameters>
                 <paramname>isTrue</paramname>
                 <value>true</value>
             </parameters>
         </conditions>
         <results>
             <action>173_db05090771e58ef53d0549c7014a090613b96b6f5a90f2347abe59d1fdc9a292</action>
             <score>1000</score>
             <weight>100</weight>
         </results>
     </rule>
     <group>
         <groupid>173_db05090771e58ef53d0549c7014a090613b96b6f5a90f2347abe59d1fdc9a292</groupid>
         <agentid>0463b32d-70a1-4ca8-81e1-58f1a8728690</agentid>
         <grouptype>Actions</grouptype>
         <groupname>AggregationAPIAgent68d3f589</groupname>
         <description>Created by Aggregation API for agentAggregationAPIAgent</description>
         <values>ChallengeEmail</values>
         <values>ChallengeSMS</values>
         <values>ChallengeOMATOTP</values>
         <values>ChallengeYubicoOTP</values>
         <values>ChallengeFIDO2</values>
     </group>
 </AggregationResponse>
先頭に戻る