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"
}