Create¶
POST /api/v1/data_query_rule/add
Overview¶
Create a single data access rule
Body Request Parameters¶
Parameter | Type | Required | Description |
---|---|---|---|
name | string | Y | Name Allow empty: False Allow empty string: False Max length: 64 |
desc | string | Description Example: Description1 Allow empty: False Allow empty string: True Max 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 | Filter 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 | Masked 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 |
Parameter Additional Description¶
Data description.*
1. Role access description 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 in the rule's role list, then this data access rule will not apply to the user, i.e., the query scope is not restricted 3. The relationship between multiple log data access rules in a workspace is OR
2. Request parameter description
Parameter | Type | Required | Description |
---|---|---|---|
name | string | Y | Name |
desc | String | N | Description |
type | String | Y | Type(logging, rum, tracing, metric) |
indexes | array | Y | Required when type is logging, if it is a non-workspace (must be workspace authorized) index authorization, use workspace UUID:index UUID, example: ["wksp_111:lgim_222", "wksp_333:lgim_444"] |
sources | array | Y | Required when type is not logging, when type is rum, it is a list of appIds, when type is tracing, it is a list of service names, when type is metric, it is a list of Measurements |
roleUUIDs | array | Y | List of role UUIDs |
conditions | string | N | Actual data scope filter conditions, example: "device IN ['PC'] and session_has_replay IN ['1']" |
extend | dict | Y | Extended fields, storing the structure content of conditions, used for frontend page display, example: |
logic | string | N | Logic field, and/or, used to connect filter conditions |
maskFields | string | N | Masked 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/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 Scanning","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 Scanning",
"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"
}