データアクセスルールを作成¶
POST /api/v1/data_query_rule/add_v2
概要¶
データアクセスルールを作成します。v2 はクロスサイトのデータアクセス設定をサポートします。
ボディリクエストパラメータ¶
| パラメータ名 | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | Y | 名前 空を許可: False 空文字列を許可: False 最大長: 64 |
| desc | string | 説明 例: 説明1 空を許可: False 空文字列を許可: True 最大長: 256 |
|
| type | string | Y | タイプ 空を許可: True 選択可能な値: ['logging', 'rum', 'tracing', 'metric'] |
| regionCode | string | Y | サイトに基づくデータアクセス認可 空を許可: False 空文字列を許可: False |
| indexes | array | ログタイプの場合、このフィールドは必須です。インデックス UUID、[""] はすべてを意味します。 例: [''] 空を許可: False |
|
| sources | array | リソース UUID、["*"] はすべてを意味します。 例: ['appid_96357a78f84041d28b5d7aaa6201a424'] 空を許可: False |
|
| roleUUIDs | array | Y | ロールのリスト 例: [] 空を許可: False |
| conditions | string | フィルター検索 例: search 空を許可: False 空文字列を許可: True |
|
| extend | json | 拡張フィールド 例: xxx 空を許可: False |
|
| logic | string | 論理フィールド 例: or 空を許可: False |
|
| maskFields | string | マスキングフィールド、複数のフィールドはカンマで区切ります。 例: message,host 空を許可: False 空文字列を許可: True |
|
| reExprs | array | 正規表現 例: [{'name': 'jjj', 'reExpr': '', 'enable': 0}, {'name': 'lll', 'reExpr': '', 'enable': 1}] 空を許可: False |
パラメータ補足説明¶
データ説明.*
1. ロール認可アクセス説明 1. 指定されたロールは、指定されたクエリ範囲内のデータのみをクエリできます。 2. ユーザーが複数のロールを持っている場合、そのユーザーがこのルールに含まれないロールを持っている場合、このデータアクセスルールはそのユーザーに適用されず、クエリ範囲は制限されません。 3. 1つのワークスペース内の複数のログデータアクセスルール間の論理は OR 関係です。
2. リクエストパラメータ説明
| パラメータ名 | type | 必須 | 説明 |
|---|---|---|---|
| name | string | Y | 名前 |
| desc | String | N | 説明 |
| type | String | Y | タイプ (logging, rum, tracing, metric) |
| indexes | array | Y | type が logging の場合は必須。自ワークスペース以外のインデックス認可(ワークスペース認可が必要)の場合は、ワークスペース UUID:インデックス UUID を使用します。例: ["wksp_111:lgim_222", "wksp_333:lgim_444"] |
| sources | array | Y | type が logging 以外の場合は必須。type が rum の場合はアプリ appId のリスト、type が tracing の場合はサービス名のリスト、type が metric の場合はメジャーメントのリストです。 |
| roleUUIDs | array | Y | ロール UUID リスト |
| conditions | string | N | 実際に使用されるデータ範囲のフィルター条件。例: "device IN ['PC'] and session_has_replay IN ['1']" |
| extend | dict | Y | 拡張フィールド。conditions の構造内容を格納し、フロントエンド表示に使用します。例: |
| logic | string | N | 論理フィールド。and/or。フィルター条件を結合するために使用します。 |
| maskFields | string | N | マスキングフィールド。複数のフィールドはカンマで区切ります。 |
| reExprs | array | N | 正規表現。例: [{"name":"1111","enable":true,"reExpr":"tkn_[\da-z]*"},{"name":"liuyltest","enable":true,"reExpr":"test"}] |
| regionCode | string | Y | サイトコード(workspace/website/list インターフェースで取得可能) |
リクエスト例¶
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 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
レスポンス¶
{
"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"
}