Skip to content

Create



POST /api/v1/logging_query_rule/add

Overview

Create a single data access rule

Body Request Parameters

Parameter Type Required Description
name string Name (2024-09-04 iteration added, default name, creator_creation time)
Allow empty: False
Allow empty string: False
Max length: 64
desc string Description (2024-09-04 iteration added)
Example: Description1
Allow empty: False
Allow empty string: True
Max length: 256
indexes array Y Index uuid, [""] means all
Example: ['
']
Allow empty: False
roleUUIDs array Y List of roles
Example: []
Allow empty: False
conditions string Y Filter search
Example: search
Allow empty: False
extend json Frontend custom extension field
Example: xxx
Allow empty: False
logic string Y Logic field
Example: or
Allow empty: False
maskFields string Masking fields, multiple fields separated by commas
Example: message,host
Allow empty: False
Allow empty string: True
reExprs array Regular expressions
Example: [{'name': 'jjj', 'reExpr': 'ss', 'enable': 0}, {'name': 'lll', 'reExpr': 'ss', 'enable': 1}]
Allow empty: False

Parameter Additional Explanation

Data Explanation.*

1. Role Authorization Access Explanation 1. Specified roles can only query data within the specified query scope 2. If a user has multiple roles, and one of the roles is not included in the rule's roles, this data access rule will not apply to the user, meaning the query scope is not restricted 3. The logical relationship between multiple log data access rules in a workspace is OR

2. Request Parameter Explanation

Parameter Type Required Description
name string Y Name
desc String N Description
indexes array Y Log index information, if it is a non-workspace index authorization (must be authorized by the workspace), use workspace UUID:index UUID, example: ["wksp_111:lgim_222", "wksp_333:lgim_444"]
roleUUIDs array Y List of role UUIDs
conditions string N Actual filter conditions for data scope, example: "device IN ['PC'] and session_has_replay IN ['1']"
extend dict Y Extension field, stores the structure of conditions, used for frontend display, example:
logic string N Logic field, and/or, used to connect filter conditions
maskFields string N Masking fields, multiple fields separated by commas
reExprs array N Regular expressions, example: [{"name":"1111","enable":true,"reExpr":"tkn_[\da-z]*"},{"name":"liuyltest","enable":true,"reExpr":"test"}]

Request Example

curl 'https://openapi.truewatch.com/api/v1/logging_query_rule/add' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--data-raw $'{"name":"temp_test","desc":"test openapi","roleUUIDs":["general","role_3ac3042991c046f0b03452771012b268"],"indexes":["wksp_4b57c7bab38e4a2d9630f675dc20015d:lgim_f2a50518520b467a920103a19133fa8b","wksp_eee1a762ed954b7588e30d9bccb717d5:lgim_72143917855c48abae5d4fb1d2fb7a1f"],"extend":{"city":["Tafuna"]},"maskFields":"message","logic":"and","reExprs":[{"name":"qq email maxk","reExpr":"[a-zA-Z0-9_][email protected]","enable":true}],"conditions":"`city` IN [\'Tafuna\']"}' \
--compressed

Response

{
    "code": 200,
    "content": {
        "conditions": "`city` IN ['Tafuna']",
        "createAt": 1730529443,
        "creator": "wsak_cd83804176e24ac18a8a683260ab0746",
        "declaration": {
            "asd": "aa,bb,cc,1,True",
            "asdasd": "dawdawd",
            "business": "aaa",
            "dd": "dd",
            "fawf": "afawf",
            "organization": "64fe7b4062f74d0007b46676"
        },
        "deleteAt": -1,
        "desc": "test openapi",
        "extend": {
            "city": [
                "Tafuna"
            ]
        },
        "id": null,
        "indexes": [
            "wksp_4b57c7bab38e4a2d9630f675dc20015d:lgim_f2a50518520b467a920103a19133fa8b",
            "wksp_eee1a762ed954b7588e30d9bccb717d5:lgim_72143917855c48abae5d4fb1d2fb7a1f"
        ],
        "logic": "and",
        "maskFields": "message",
        "name": "temp_test",
        "reExprs": [
            {
                "enable": true,
                "name": "qq email maxk",
                "reExpr": "[a-zA-Z0-9_][email protected]"
            }
        ],
        "roleUUIDs": [
            "general",
            "role_3ac3042991c046f0b03452771012b268"
        ],
        "sources": [],
        "status": 0,
        "type": "logging",
        "updateAt": null,
        "updator": null,
        "uuid": "lqrl_9f1de1d1440f4af5917a534299d0ad09",
        "workspaceUUID": "wksp_4b57c7bab38e4a2d9630f675dc20015d"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-25C229E5-150F-4DF1-8576-DE17259B7A16"
}