Skip to content

Create



POST /api/v1/data_query_rule/add

Overview

Create a single data access rule

Body Request Parameters

Parameter Name Type Required Description
name string Y Name
Allow empty: False
Allow empty string: False
Maximum length: 64
desc string Description
Example: Description1
Allow empty: False
Allow empty string: True
Maximum length: 256
type string Y Type
Allow empty: True
Optional values: ['logging', 'rum', 'tracing', 'metric']
indexes array Log type, this field is required, index uuid, [""] means all
Example: ['
']
Allow empty: False
sources array Resource uuid, ["*"] means all
Example: ['appid_96357a78f84041d28b5d7aaa6201a424']
Allow empty: False
roleUUIDs array Y List of roles
Example: []
Allow empty: False
conditions string Filtering search
Example: search
Allow empty: False
Allow empty string: True
extend json Extended fields
Example: xxx
Allow empty: False
logic string 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': '', 'enable': 0}, {'name': 'lll', 'reExpr': '', 'enable': 1}]
Allow empty: False

Additional Parameter Notes

Data notes.*

1. Role authorization access notes 1. Specified roles can only query data within the specified query range. 2. If a user has multiple roles and one of these roles is not included in the rule's roles, then this data access rule will not apply to that user, meaning it will not restrict the query scope. 3. The logical relationship between multiple log data access rules in a workspace is an or relationship.

2. Request parameter notes

Parameter Name Type Required Description
name string Y Name
desc String N Description
type String Y Type (logging, rum, tracing, metric)
indexes array Y Mandatory when type is logging; if it's an index from another workspace (which must be authorized), use WorkspaceUUID:IndexUUID, example: ["wksp_111:lgim_222", "wksp_333:lgim_444"]
sources array Y Mandatory when type is non-logging; when type is rum, it is the application appId list; when type is tracing, it is the service name list; when type is metric, it is the measurement list
roleUUIDs array Y List of role UUIDs
conditions string N Actual filtering conditions for the data range used, example: "device IN ['PC'] and session_has_replay IN ['1']"
extend dict Y Extended fields, storing structured content of conditions for display on the front-end page, example:
logic string N Logical field, and/or, used to connect filtering 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.guance.com/api/v1/data_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":"rum test","desc":"","roleUUIDs":["role_a1e8215c25474f0bb3809f2d56749ed9"],"indexes":[],"sources":["*"],"extend":{"env":["front"]},"maskFields":"*","logic":"and","type":"rum","reExprs":[{"name":"IPv4 Address Scan","reExpr":"\\\\b((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\\\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\\\b","enable":true}],"conditions":"`env` IN [\'front\']"}' \
--compressed

Response

{
    "code": 200,
    "content": {
        "conditions": "`env` IN ['front']",
        "createAt": 1730532068,
        "creator": "wsak_cd83804176e24ac18a8a683260ab0746",
        "declaration": {
            "asd": "aa,bb,cc,1,True",
            "asdasd": "dawdawd",
            "business": "aaa",
            "dd": "dd",
            "fawf": "afawf",
            "organization": "64fe7b4062f74d0007b46676"
        },
        "deleteAt": -1,
        "desc": "",
        "extend": {
            "env": [
                "front"
            ]
        },
        "id": null,
        "indexes": [],
        "logic": "and",
        "maskFields": "*",
        "name": "rum test",
        "reExprs": [
            {
                "enable": true,
                "name": "IPv4 Address Scan",
                "reExpr": "\\b((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\b"
            }
        ],
        "roleUUIDs": [
            "role_a1e8215c25474f0bb3809f2d56749ed9"
        ],
        "sources": [
            "*"
        ],
        "status": 0,
        "type": "rum",
        "updateAt": null,
        "updator": null,
        "uuid": "lqrl_dfe6330883ef4311afae5d380e2294a1",
        "workspaceUUID": "wksp_4b57c7bab38e4a2d9630f675dc20015d"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-EF351570-B1E0-4263-87DC-85EE7E9345C5"
} 

Feedback

Is this page helpful? ×