-
Notifications
You must be signed in to change notification settings - Fork 3
/
desc.zh.hocon
10939 lines (10939 loc) · 456 KB
/
desc.zh.hocon
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"emqx_authn_api": {
"authentication_get": {
"desc": "列出全局认证的认证器。",
"label": "列出认证器"
},
"authentication_id_delete": {
"desc": "删除全局认证链上的指定认证器。",
"label": "删除认证器"
},
"authentication_id_get": {
"desc": "获取全局认证链上的指定认证器。emqx_dashboard_error_code_apiemqx_dashboard_error_code_api",
"label": "获取指定认证器"
},
"authentication_id_position_put": {
"desc": "调整全局认证链上指定认证器的顺序。",
"label": "调整认证器顺序"
},
"authentication_id_put": {
"desc": "更新全局认证链上的指定认证器。",
"label": "更新指定认证器"
},
"authentication_id_status_get": {
"desc": "获取全局认证链上指定认证器的指标与状态。",
"label": "获取指定认证器的指标与状态"
},
"authentication_id_users_get": {
"desc": "获取全局认证链上指定认证器中的用户列表。",
"label": "获取指定认证器中的用户列表"
},
"authentication_id_users_post": {
"desc": "向全局认证链上的指定认证器添加用户数据。",
"label": "向指定认证器添加用户"
},
"authentication_id_users_user_id_delete": {
"desc": "删除全局认证链上指定认证器中的指定用户数据。",
"label": "在指定认证器删除指定用户"
},
"authentication_id_users_user_id_get": {
"desc": "获取全局认证链上指定认证器中的指定用户数据。",
"label": "获取指定用户数据"
},
"authentication_id_users_user_id_put": {
"desc": "更新全局认证链上指定认证器中的指定用户数据。",
"label": "更新指定用户数据"
},
"authentication_post": {
"desc": "为全局认证链创建认证器。",
"label": "创建认证器"
},
"is_superuser": {
"desc": "是否是超级用户。",
"label": "超级用户"
},
"like_user_id": {
"desc": "使用用户 ID (username 或 clientid)模糊查询。",
"label": "like_user_id"
},
"listeners_listener_id_authentication_get": {
"desc": "列出监听器上的认证器。",
"label": "列出监听器上的认证器"
},
"listeners_listener_id_authentication_id_delete": {
"desc": "删除监听器认证链上的指定认证器。",
"label": "删除监听器上的指定认证器"
},
"listeners_listener_id_authentication_id_get": {
"desc": "获取监听器认证链上的指定认证器。",
"label": "获取监听器上的指定认证器"
},
"listeners_listener_id_authentication_id_position_put": {
"desc": "调整监听器认证链上指定认证器的顺序。",
"label": "调整监听器上认证器的顺序"
},
"listeners_listener_id_authentication_id_put": {
"desc": "更新监听器认证链上的指定认证器。",
"label": "更新监听器上的指定认证器"
},
"listeners_listener_id_authentication_id_status_get": {
"desc": "获取监听器认证链上指定认证器的状态。",
"label": "获取监听器上指定认证器的状态"
},
"listeners_listener_id_authentication_id_users_get": {
"desc": "列出监听器认证链上指定认证器中的用户数据。",
"label": "列出监听器上指定认证器中的用户数据"
},
"listeners_listener_id_authentication_id_users_post": {
"desc": "向监听器认证链上的指定认证器添加用户数据。",
"label": "向监听器上指定认证器添加用户"
},
"listeners_listener_id_authentication_id_users_user_id_delete": {
"desc": "删除监听器认证链上指定认证器中的指定用户数据。",
"label": "删除监听器上指定认证器中的指定用户"
},
"listeners_listener_id_authentication_id_users_user_id_get": {
"desc": "获取监听器认证链上指定认证器中的指定用户数据。",
"label": "获取监听器上指定认证器中的指定用户数据"
},
"listeners_listener_id_authentication_id_users_user_id_put": {
"desc": "更新监听器认证链上指定认证器中的指定用户数据。",
"label": "更新监听器上指定认证器中的指定用户数据"
},
"listeners_listener_id_authentication_post": {
"desc": "在监听器认证链上创建认证器。",
"label": "在监听器上创建认证器"
},
"param_auth_id": {
"desc": "认证器 ID。由认证方式与数据源组成 `{mechanism}:{built_in_database}`,如 `password_based:built_in_database`",
"label": "认证器 ID "
},
"param_listener_id": {
"desc": "监听器 ID。",
"label": "监听器 ID"
},
"param_position": {
"desc": "认证器在链中的位置。可能的值是 'front', 'rear', 'before:{other_authenticator_id}', 'after:{other_authenticator_id}'",
"label": "认证器在链中的位置"
},
"param_user_id": {
"desc": "用户 ID,根据设置的账号类型不同,可以是 username 或 clientid",
"label": "用户 ID"
},
"authentication_order_put": {
"desc": "在全局认证链中重新排序所有认证器。",
"label": "重新排序认证器"
}
},
"emqx_authn_http_schema": {
"body": {
"desc": "HTTP 请求体。",
"label": "请求体"
},
"get": {
"desc": "使用 HTTP Server 作为认证服务的认证器的配置项 (使用 GET 请求)。"
},
"headers": {
"desc": "HTTP Headers 列表",
"label": "请求头"
},
"headers_no_content_type": {
"desc": "HTTP Headers 列表 (无 <code>content-type</code>) 。",
"label": "请求头(无 content-type)"
},
"method": {
"desc": "HTTP 请求方法。",
"label": "请求方法"
},
"post": {
"desc": "使用 HTTP Server 作为认证服务的认证器的配置项 (使用 POST 请求)。"
},
"request_timeout": {
"desc": "HTTP 请求超时时长。",
"label": "请求超时"
},
"url": {
"desc": "认证 HTTP 服务器地址。",
"label": "URL"
}
},
"emqx_authn_jwt_schema": {
"acl_claim_name": {
"desc": "用于获取 ACL 规则的 JWT 声明名称。",
"label": "ACL 声明名称"
},
"algorithm": {
"desc": "JWT 签名算法,支持 HMAC (配置为 <code>hmac-based</code>)和 RSA、ECDSA (配置为 <code>public-key</code>)。",
"label": "JWT 签名算法"
},
"cacertfile": {
"desc": "包含 PEM 编码的 CA 证书的文件的路径。",
"label": "CA 证书文件"
},
"certfile": {
"desc": "包含用户证书的文件的路径。",
"label": "证书文件"
},
"enable": {
"desc": "启用/禁用 SSL。",
"label": "启用/禁用 SSL"
},
"endpoint": {
"desc": "JWKS 端点, 它是一个以 JWKS 格式返回服务端的公钥集的只读端点。",
"label": "JWKS 端点"
},
"from": {
"desc": "指定客户端连接请求中 JWT 的位置。",
"label": "JWT 的位置"
},
"jwt_hmac": {
"desc": "用于认证的 JWT 使用 HMAC 算法签发时的配置。"
},
"jwt_jwks": {
"desc": "用于认证的 JWTs 需要从 JWKS 端点获取时的配置。"
},
"jwt_public_key": {
"desc": "用于认证的 JWT 使用 RSA 或 ECDSA 算法签发时的配置。"
},
"keyfile": {
"desc": "包含 PEM 编码的用户私钥的文件的路径。",
"label": "私钥文件"
},
"public_key": {
"desc": "用于验证 JWT 的公钥。",
"label": "公钥"
},
"refresh_interval": {
"desc": "JWKS 刷新间隔。",
"label": "JWKS 刷新间隔"
},
"secret": {
"desc": "使用 HMAC 算法时用于验证 JWT 的密钥",
"label": "Secret"
},
"secret_base64_encoded": {
"desc": "密钥是否为 base64 编码。",
"label": "密钥是否为 Base64 编码"
},
"server_name_indication": {
"desc": "服务器名称指示(SNI)。",
"label": "服务器名称指示"
},
"ssl": {
"desc": "SSL 选项。",
"label": "SSL 选项"
},
"use_jwks": {
"desc": "是否使用 JWKS。",
"label": "是否使用 JWKS"
},
"verify": {
"desc": "指定握手过程中是否校验对端证书。",
"label": "验证"
},
"verify_claims": {
"desc": "需要验证的自定义声明列表,是一个由名称/值对组成的列表。指定一个键(Key)来查找 JWT 中对应的声明(Claim),并提供一个预期值(Expected Value)来与声明的实际值进行比较,以确保只有满足特定条件的 JWT 才能被接受和使用。\n例如要求 JWT 中的特定声明(如 clientid)的值必须与当前连接的客户端 ID 相匹配。\n预期值可以使用以下占位符:\n- <code>${username}</code>: 将在运行时被替换为客户端连接时使用的用户名\n- <code>${clientid}</code>: 将在运行时被替换为客户端连接时使用的客户端 ID\n身份认证将确认 JWT 中的声明值(从密码字段中获取)与 <code>verify_claims</code> 中要求的内容是否匹配。",
"label": "自定义声明检查"
},
"disconnect_after_expire": {
"desc": "在 token 过期后断开客户端连接。",
"label": "过期后断开链接"
},
"jwks_headers": {
"desc": "JWKS 请求中需要发送的 HTTP 请求头列表。",
"label": "HTTP 请求头"
}
},
"emqx_authn_ldap_bind_schema": {
"ldap_bind": {
"desc": "使用 LDAP 绑定操作作为认证方式的认证器的配置项。"
},
"query_timeout": {
"desc": "LDAP 查询超时时间",
"label": "查询超时"
}
},
"emqx_authn_ldap_schema": {
"is_superuser_attribute": {
"desc": "指示哪个属性用于表示用户是否为超级用户。",
"label": "是否为超级用户属性"
},
"ldap": {
"desc": "使用 LDAP 作为认证数据源的认证器的配置项。"
},
"password_attribute": {
"desc": "指示哪个属性用于表示用户密码。",
"label": "密码属性"
},
"query_timeout": {
"desc": "LDAP 查询的超时时间。",
"label": "查询超时"
},
"bind_method": {
"desc": "通过 LDAP 绑定操作进行认证。"
},
"hash_method": {
"desc": "通过将本地密码与经过由`密码属性`指定的算法加密的密码进行比对来进行认证。"
},
"ldap_deprecated": {
"desc": "这是一种已弃用的形式,应避免使用。"
},
"method": {
"desc": "认证方式。"
},
"method_type": {
"desc": "认证方式类型。"
}
},
"emqx_authn_mnesia_schema": {
"builtin_db": {
"desc": "使用内置数据库作为认证数据源的认证器的配置项。"
},
"user_id_type": {
"desc": "指定用于客户端身份 ID 认证的字段。",
"label": "账号类型"
},
"bootstrap_file": {
"desc": "引导文件将用户导入内置数据库。\n对于数据库中已存在的用户 ID,不会重复导入。\n文件内容格式由 `bootstrap_type` 决定。",
"label": "引导文件路径"
},
"bootstrap_type": {
"desc": "指定引导文件的内容类型。\n\n- **`plain`**:\n - 所需数据字段: `user_id`, `password`, `is_superuser`\n - `user_id`: 可以是客户端 ID 或用户名,具体取决于内置数据库认证的 `user_id_type` 配置。\n - `password`: 用户的明文密码。\n - `is_superuser`: 布尔值,用户是否为管理员。\n\n- **`hash`**:\n - 所需数据字段 `user_id`,`password_hash`,`salt`,`is_superuser`\n - 定义与 `plain` 类型相似,为提高安全性增加了 `password_hash` 和 `salt`。\n\n内容可以是 CSV 或 JSON 格式。\n\n这是一个 CSV 示例:`user_id,password_hash,salt,is_superuser\\nmy_user,b6c743545a7817ae8c8f624371d5f5f0373234bb0ff36b8ffbf19bce0e06ab75,de1024f462fb83910fd13151bd4bd235,true`\n\nJSON 内容应解码为对象数组,例如:`[{\"user_id\": \"my_user\",\"password\": \"s3cr3tp@ssw0rd\",\"is_superuser\": true}]`.\n\n`password_hash` 的哈希字符串取决于内容数据库认证机制中 `password_hash_algorithm` 的配置。例如,如果配置为 `password_hash_algorithm {name = sha256, salt_position = suffix}`,则在哈希之前将 salt 添加到密码中。等效的 Python 表达式为: `hashlib.sha256(password + salt).hexdigest()`."
}
},
"emqx_authn_mongodb_schema": {
"collection": {
"desc": "存储认证数据的集合。",
"label": "集合"
},
"filter": {
"desc": "在查询中定义过滤条件的条件表达式。\n过滤器支持如下占位符:\n- <code>${username}</code>: 将在运行时被替换为客户端连接时使用的用户名\n- <code>${clientid}</code>: 将在运行时被替换为客户端连接时使用的客户端 ID",
"label": "过滤器"
},
"is_superuser_field": {
"desc": "定义用户是否具有超级用户权限的字段。",
"label": "超级用户字段"
},
"password_hash_field": {
"desc": "存储密码散列值字段。",
"label": "密码散列字段"
},
"replica-set": {
"desc": "使用 MongoDB (Replica Set) 作为认证数据源的认证器的配置项。"
},
"salt_field": {
"desc": "用于存储盐值的字段。",
"label": "盐值字段"
},
"sharded-cluster": {
"desc": "使用 MongoDB (Sharded Cluster) 作为认证数据源的认证器的配置项。"
},
"single": {
"desc": "使用 MongoDB (Standalone) 作为认证数据源的认证器的配置项。"
}
},
"emqx_authn_mysql_schema": {
"mysql": {
"desc": "使用 MySQL 作为认证数据源的认证器的配置项。"
},
"query": {
"desc": "用于查询密码散列等用于认证的数据的 SQL 语句。",
"label": "查询 SQL"
},
"query_timeout": {
"desc": "SQL 查询的超时时间。",
"label": "查询超时"
}
},
"emqx_authn_postgresql_schema": {
"postgresql": {
"desc": "使用 PostgreSQL 作为认证数据源的认证器的配置项。"
},
"query": {
"desc": "用于查询密码散列等用于认证的数据的 SQL 语句。",
"label": "查询 SQL"
}
},
"emqx_authn_redis_schema": {
"cluster": {
"desc": "使用 Redis (Cluster) 作为认证数据源的认证器的配置项。"
},
"cmd": {
"desc": "用于查询密码散列等用于认证的数据的 Redis 命令,目前仅支持 <code>HGET</code> 与 <code>HMGET</code>。",
"label": "Redis 命令"
},
"sentinel": {
"desc": "使用 Redis (Sentinel) 作为认证数据源的认证器的配置项。"
},
"single": {
"desc": "使用 Redis (Standalone) 作为认证数据源的认证器的配置项。"
}
},
"emqx_authn_schema": {
"backend": {
"desc": "后端类型。",
"label": "后端类型"
},
"enable": {
"desc": "设为 <code>true</code> 或 <code>false</code> 以禁用此认证数据源。",
"label": "启用"
},
"failed": {
"desc": "当前数据源执行查询失败次数。",
"label": "查询失败次数"
},
"global_authentication": {
"desc": "默认的 MQTT 监听器的全局认证配置。\n\n有关每个监听器的单独配置,请参阅监听器配置中的<code>authentication</code>。\n\n此选项可配置为:\n<ul>\n <li><code>[]</code>: 默认值,允许 *所有* 登录</li>\n <li>one: 例如 <code>{enable:true,backend:\"built_in_database\",mechanism=\"password_based\"}</code></li>\n <li>chain: 结构体数组。</li>\n</ul>\n\n当配置了一个认证链时,登录凭据将按照配置的顺序检查后端,直到可以做出'允许'或'拒绝'的决定。\n\n如果在完全遍历认证链之后没有决定,登录将被拒绝。",
"label": "全局认证"
},
"listener_authentication": {
"desc": "每个监听器的认证覆盖。\n认证可以是一个单一的认证器实例,也可以是一个认证器链,表示为一个数组\n在对登录进行身份认证(用户名、客户端 ID 等)时,将按照配置的顺序检查认证器。",
"label": "每个监听器的认证覆盖。"
},
"matched": {
"desc": "当前数据源执行查询次数。",
"label": "查询次数"
},
"mechanism": {
"desc": "认证方式。",
"label": "认证方式"
},
"metrics": {
"desc": "认证器统计指标。",
"label": "指标"
},
"metrics_failed": {
"desc": "在当前认证器中找到需要的认证信息,并且返回认证失败的次数。",
"label": "认证失败次数"
},
"metrics_nomatch": {
"desc": "在当前认证器中没有找到需要的认证信息,忽略认证的次数。",
"label": "忽略认证次数"
},
"metrics_rate": {
"desc": "当前认证器执行速度,次/秒。",
"label": "认证速度"
},
"metrics_rate_last5m": {
"desc": "当前认证器在最近 5 分钟内平均执行速度,单位:次/秒。",
"label": "近 5 分钟内平均认证速度"
},
"metrics_rate_max": {
"desc": "当前认证器曾经达到的最大认证速度,单位:次/秒。",
"label": "最大认证速度"
},
"metrics_success": {
"desc": "在当前认证器中找到需要的认证信息,并且实例返回认证成功的次数。",
"label": "认证成功次数"
},
"metrics_total": {
"desc": "当前认证器执行认证的总次数。",
"label": "认证总次数"
},
"node": {
"desc": "节点名称。",
"label": "节点名称"
},
"node_error": {
"desc": "节点上的错误信息。",
"label": "节点错误信息"
},
"node_metrics": {
"desc": "每个节点上认证器的统计指标。",
"label": "节点指标"
},
"node_status": {
"desc": "每个节点上数据源的状态。",
"label": "节点数据源状态"
},
"rate": {
"desc": "当前数据源执行查询速度,单位:次/秒。",
"label": "查询速度"
},
"rate_last5m": {
"desc": "当前数据源在最近 5 分钟内平均执行速度,单位:次/秒。",
"label": "近 5 分钟内平均查询速度"
},
"rate_max": {
"desc": "当前认数据源曾经达到的最大查询速度,单位:次/秒。",
"label": "最大查询速度"
},
"status": {
"desc": "数据源状态。",
"label": "数据源状态"
},
"success": {
"desc": "当前数据源查询成功次数。",
"label": "查询成功次数"
}
},
"emqx_authn_user_import_api": {
"authentication_id_import_users_post": {
"desc": "为全局认证链上的指定认证器导入用户数据。",
"label": "为全局认证链上的指定认证器导入用户数据"
},
"listeners_listener_id_authentication_id_import_users_post": {
"desc": "为监听器认证链上的指定认证器导入用户数据。",
"label": "为监听器认证链上的指定认证器导入用户数据"
}
},
"emqx_authz_api_cache": {
"authorization_cache_delete": {
"desc": "清除集群中所有授权结果缓存。",
"label": "清除授权结果缓存"
}
},
"emqx_authz_api_mnesia": {
"action": {
"desc": "授权的动作 (发布/订阅/发布与订阅)",
"label": "动作"
},
"clientid": {
"desc": "客户端 ID",
"label": "客户端 ID"
},
"fuzzy_clientid": {
"desc": "使用字串匹配模糊搜索客户端 ID",
"label": "客户端 ID 子串"
},
"fuzzy_username": {
"desc": "使用字串匹配模糊搜索用户名",
"label": "用户名字串"
},
"permission": {
"desc": "对应的权限",
"label": "权限"
},
"qos": {
"desc": "被授权操作的 QoS",
"label": "QoS"
},
"retain": {
"desc": "被授权操作的保留标志",
"label": "保留标志"
},
"rules_all_delete": {
"desc": "删除 'all' 规则",
"label": "删除 'all' 规则"
},
"rules_all_get": {
"desc": "列出适用于所有客户端规则 (即 'all' 规则)。",
"label": "列出适用于所有客户端规则"
},
"rules_all_post": {
"desc": "创建或更新适用于所有客户端的规则(即 'all' 规则)。",
"label": "创建或更新适用于所有客户端的规则"
},
"rules_delete": {
"desc": "清除内置数据库中的所有类型('users' 、'clients' 、'all')的所有规则",
"label": "清除内置数据库中的规则"
},
"topic": {
"desc": "该条规则对应的主题",
"label": "主题"
},
"user_clientid_delete": {
"desc": "删除指定客户端的规则",
"label": "删除指定客户端的规则"
},
"user_clientid_get": {
"desc": "获取指定客户端的规则",
"label": "获取指定客户端的规则"
},
"user_clientid_put": {
"desc": "设置指定客户端的规则",
"label": "设置指定客户端的规则"
},
"user_username_delete": {
"desc": "删除指定用户名的规则",
"label": "删除指定用户名的规则'"
},
"user_username_get": {
"desc": "获取指定用户名规则",
"label": "获取指定用户名的规则"
},
"user_username_put": {
"desc": "设置指定用户名的规则",
"label": "设置指定用户名的规则"
},
"username": {
"desc": "用户名",
"label": "用户名"
},
"users_clientid_get": {
"desc": "显示客户端规则列表。",
"label": "显示客户端的规则"
},
"users_clientid_post": {
"desc": "为指定客户端添加规则。",
"label": "为指定客户端添加规则'"
},
"users_username_get": {
"desc": "显示用户名规则列表。",
"label": "显示用户名规则"
},
"users_username_post": {
"desc": "为指定的用户添加规则。",
"label": "为指定的用户添加规则"
}
},
"emqx_authz_api_settings": {
"authorization_settings_get": {
"desc": "获取授权配置"
},
"authorization_settings_put": {
"desc": "更新授权配置"
}
},
"emqx_authz_api_sources": {
"authorization_sources_get": {
"desc": "列出所有授权器。",
"label": "列出所有授权器"
},
"authorization_sources_post": {
"desc": "添加授权器",
"label": "添加授权器"
},
"authorization_sources_type_delete": {
"desc": "删除指定的授权器",
"label": "删除指的授权器"
},
"authorization_sources_type_get": {
"desc": "获取指定的授权器",
"label": "获取指定的授权器"
},
"authorization_sources_type_move_post": {
"desc": "更新授权器的优先执行顺序",
"label": "更新授权器的执行顺序"
},
"authorization_sources_type_put": {
"desc": "更新指定的授权器",
"label": "更新指定的授权器"
},
"authorization_sources_type_status_get": {
"desc": "获取指定授权器的状态",
"label": "获取指定授权器的状态"
},
"source": {
"desc": "授权器所使用的数据源。",
"label": "数据源"
},
"source_config": {
"desc": "数据源配置",
"label": "数据源配置"
},
"source_type": {
"desc": "授权期所使用的数据源类型。",
"label": "数据源类型"
},
"sources": {
"desc": "授权数据源",
"label": "数据源"
},
"authorization_sources_order_put": {
"desc": "重新排序所有授权源。",
"label": "重新排序授权源"
}
},
"emqx_authz_file_schema": {
"file": {
"desc": "使用 ACL 文件授权。",
"label": "文件"
},
"path": {
"desc": "包含 ACL 规则的文件路径。\n如果该文件在启动 EMQX 节点之前已经配置好,\n只要 EMQX 有读取权限,它可以放置在任何位置。\n即,EMQX 将把它视为只读。\n\n如果规则集是从 EMQX Dashboard 或 HTTP API 创建或更新的,\n将创建一个新文件并放置在 EMQX 的 data_dir 中的 authz 子目录下,\n旧文件将不再使用。",
"label": "路径"
}
},
"emqx_authz_http_schema": {
"body": {
"desc": "HTTP 请求体",
"label": "请求体"
},
"headers": {
"desc": "HTTP Headers 列表",
"label": "请求头"
},
"headers_no_content_type": {
"desc": "HTTP Headers 列表 (无 <code>content-type</code>) 。",
"label": "请求头(无 content-type)"
},
"http_get": {
"desc": "使用外部 HTTP 服务器授权(GET 请求)。",
"label": "http_get"
},
"http_post": {
"desc": "使用外部 HTTP 服务器授权(POST 请求)。",
"label": "http_post"
},
"matched": {
"desc": "请求命中次数。",
"label": "已命中"
},
"method": {
"desc": "HTTP 请求方法",
"label": "请求方法"
},
"request_timeout": {
"desc": "HTTP 请求超时。",
"label": "请求超时"
},
"url": {
"desc": "认证服务器地址",
"label": "URL"
}
},
"emqx_authz_ldap_schema": {
"all_attribute": {
"desc": "表示使用哪个属性来表示允许`发布`和`订阅`的主题列表。",
"label": "所有属性"
},
"publish_attribute": {
"desc": "表示使用哪个属性来表示允许`发布`的主题列表。",
"label": "发布属性"
},
"query_timeout": {
"desc": "LDAP 查询超时。",
"label": "查询超时"
},
"subscribe_attribute": {
"desc": "表示使用哪个属性来表示允许`订阅`的主题列表。",
"label": "订阅属性"
}
},
"emqx_authz_mnesia_schema": {
"builtin_db": {
"desc": "使用内置数据库 (mnesia) 进行授权。",
"label": "内置数据库"
},
"max_rules": {
"desc": "每个客户端/用户的最大规则数。请注意,随着规则数量的增加,性能可能会下降。"
}
},
"emqx_authz_mongodb_schema": {
"collection": {
"desc": "包含授权数据的 `MongoDB` 集合。",
"label": "集合"
},
"filter": {
"desc": "定义查询中过滤条件的条件表达式。\n过滤器支持以下占位符<br/>\n - <code>${username}</code>:在连接时将用客户端使用的 <code>用户名</code> 替换<br/>\n - <code>${clientid}</code>:在连接时将用客户端使用的 <code>客户端 ID</code> 替换",
"label": "过滤器"
},
"mongo_rs": {
"desc": "使用 MongoDB 授权(副本集模式)",
"label": "mongo_rs"
},
"mongo_sharded": {
"desc": "使用 MongoDB 授权(分片集群模式)。",
"label": "mongo_sharded"
},
"mongo_single": {
"desc": "使用 MongoDB 授权(单实例)。",
"label": "mongo_single"
}
},
"emqx_authz_mysql_schema": {
"mysql": {
"desc": "使用 MySQL 数据库进行授权。",
"label": "mysql"
},
"query": {
"desc": "用于检索授权数据的数据库查询。",
"label": "查询"
}
},
"emqx_authz_postgresql_schema": {
"postgresql": {
"desc": "使用 PostgreSQL 数据库进行授权。",
"label": "postgresql"
},
"query": {
"desc": "用于检索授权数据的数据库查询。",
"label": "查询"
}
},
"emqx_authz_redis_schema": {
"cmd": {
"desc": "用于检索授权数据的数据库查询。",
"label": "命令"
},
"redis_cluster": {
"desc": "使用 Redis 集群进行授权。",
"label": "redis_cluster"
},
"redis_sentinel": {
"desc": "使用 Redis Sentinel 进行授权。",
"label": "redis_sentinel"
},
"redis_single": {
"desc": "使用单个 Redis 实例进行授权。",
"label": "redis_single"
}
},
"emqx_authz_schema": {
"allow": {
"desc": "----",
"label": "认证成功的次数"
},
"authorization": {
"desc": "与客户端授权相关的配置。",
"label": "授权"
},
"deny": {
"desc": "----",
"label": "认证失败的次数"
},
"enable": {
"desc": "设置为 <code>true</code> 或 <code>false</code> 来禁用此 ACL 提供者",
"label": "启用"
},
"failed": {
"desc": "查询失败的次数",
"label": "失败"
},
"matched": {
"desc": "此资源被查询的次数",
"label": "匹配"
},
"metrics": {
"desc": "资源的指标",
"label": "指标"
},
"metrics_total": {
"desc": "触发授权规则的总次数。",
"label": "授权规则触发的总次数"
},
"node": {
"desc": "节点名称。",
"label": "节点名称"
},
"node_error": {
"desc": "节点上产生的错误。",
"label": "节点产生的错误"
},
"node_metrics": {
"desc": "每个节点上授权器的统计指标。",
"label": "节点指标"
},
"node_status": {
"desc": "每个节点上数据源的状态。",
"label": "节点数据源状态"
},
"nomatch": {
"desc": "没有匹配到任何授权规则的次数。",
"label": "没有匹配到任何授权规则的次数"
},
"rate": {
"desc": "命中速率,单位:次/秒。",
"label": "速率"
},
"rate_last5m": {
"desc": "5 分钟内平均命中速率,单位:次/秒。",
"label": "5 分钟内速率"
},
"rate_max": {
"desc": "最大命中速率,单位:次/秒。",
"label": "最大速率"
},
"sources": {
"desc": "<br/>\n授权(ACL)数据提供者的数组。\n它被设计为一个数组,而不是哈希映射,因此可以\n将源按顺序排列形成访问控制链。<br/>\n\n在授权 '发布' 或 '订阅' 操作时,配置的\n源会按顺序检查。在检查 ACL 源时,\n如果未找到客户端(通过用户名或客户端 ID 标识),\n则继续检查下一个源。一旦返回 '允许' 或 '拒绝' 决定,\n立即停止检查。<br/>\n\n如果在任何源中都未找到客户端,\n则应用 'authorization.no_match' 中配置的默认操作。<br/>\n\n注意:\n源元素由它们的 '类型' 标识。\n不允许配置两个或更多相同类型的源。",
"label": "数据源"
},
"status": {
"desc": "数据源状态。",
"label": "数据源状态"
},
"success": {
"desc": "请求成功次数。",
"label": "成功"
},
"type": {
"desc": "数据后端类型",
"label": "类型"
},
"ignore": {
"desc": "鉴权查询被忽略的次数。 每当授权源尝试授权请求但不适用,或遇到错误且结果无法确定时,此计数器会增加。",
"label": "忽略"
}
},
"emqx_auto_subscribe_api": {
"list_auto_subscribe_api": {
"desc": "获取自动订阅主题列表",
"label": "获取自动订阅主题列表"
},
"update_auto_subscribe_api": {
"desc": "更新自动订阅主题列表",
"label": "更新自动订阅主题"
},
"update_auto_subscribe_api_response409": {
"desc": "超出自动订阅主题列表长度限制",
"label": "超出自动订阅主题列表长度限制"
}
},
"emqx_auto_subscribe_schema": {
"auto_subscribe": {
"desc": "设备成功登录后,通过预定义的订阅表示法自动为设备完成订阅。支持使用占位符。",
"label": "自动订阅"
},
"nl": {
"desc": "默认值为 0。\nMQTT v3.1.1:如果你订阅了自己发布的主题,你将收到所有自己发布的消息。\nMQTT v5:如果在订阅时将此选项设置为 1,服务器将不会将你发布的消息转发给你。",
"label": "No Local"
},
"qos": {
"desc": "默认值 0。消息服务质量。\n至多一次(0)\n至少一次(1)\n恰好一次(2)",
"label": "QoS"
},
"rap": {
"desc": "默认值为 0。此选项用于指定服务器在向客户端转发消息时是否保留 RETAIN 标记,而且此选项不影响保留消息中的 RETAIN 标记。因此,当选项 Retain As Publish 设置为 0 时,客户端将直接根据消息中的 RETAIN 标记来区分这是普通的转发消息还是保留消息,而不是判断此消息是否为订阅后首次收到的消息(转发的消息可能在保留消息之前发送,这取决于不同消息服务器的具体实现)。",
"label": "Retain As Publish"
},
"rh": {
"desc": "默认值为 0。此选项用于指定客户端建立订阅时,服务器是否向客户端转发保留的消息。\n当 Retain Handling 等于 0 时,只要客户端成功订阅,服务器就会发送保留消息。\n当 Retain Handling 等于 1 时,如果客户端成功订阅并且此前不存在此订阅,服务器发送保留消息。毕竟,有时客户端重新发起订阅只是为了改变 QoS,并不意味着它想再次接收保留的消息。\n当 Retain Handling 等于 2 时,即使客户端成功订阅,服务器也不会发送保留消息。",
"label": "Retain Handling"
},
"topic": {
"desc": "主题名称,支持占位符。例如:client/${clientid}/username/${username}/host/${host}/port/${port}\n为必填字段,且不能为空字符串。",
"label": "主题"
}
},
"emqx_bridge_api": {
"desc_api1": {
"desc": "列出所有数据桥接",
"label": "列出所有数据桥接"
},
"desc_api2": {
"desc": "通过类型和名字创建数据桥接",
"label": "创建数据桥接"
},
"desc_api3": {
"desc": "通过 Id 获取数据桥接",
"label": "获取数据桥接"
},
"desc_api4": {
"desc": "通过 Id 更新数据桥接",
"label": "更新数据桥接"
},
"desc_api5": {
"desc": "通过 Id 删除数据桥接",
"label": "删除数据桥接"
},
"desc_api6": {
"desc": "通过 Id 重置数据桥接的指标",
"label": "重置数据桥接指标"
},
"desc_api7": {
"desc": "停止或启用所有节点上的桥接",
"label": "集群数据桥接操作"
},
"desc_api8": {
"desc": "在某个节点上停止/重新启动数据桥接。",
"label": "单节点数据桥接操作"
},
"desc_api9": {
"desc": "通过给定的 ID 测试创建一个新的桥接。 <br/>\nID 的格式必须为 ’{type}:{name}”",
"label": "测试桥接创建"
},
"desc_bridge_metrics": {
"desc": "通过 Id 来获取桥接的指标信息",
"label": "获取桥接的指标"
},
"desc_enable_bridge": {
"desc": "启用或禁用所有节点上的桥接",
"label": "是否启用集群内的桥接"
},
"desc_param_path_enable": {
"desc": "是否启用桥接",
"label": "启用桥接"
},
"desc_param_path_id": {
"desc": "数据桥接 ID , 格式为 {type}:{name}",
"label": "数据桥接 ID"
},
"desc_param_path_node": {
"desc": "节点名,比如 [email protected]",
"label": "节点名"
},
"desc_param_path_operation_cluster": {
"desc": "集群可用操作:停止、重新启动",
"label": "集群可用操作"
},
"desc_param_path_operation_on_node": {
"desc": "节点可用操作:停止、重新启动",
"label": "节点可用操作"
}
},
"emqx_bridge_azure_event_hub": {
"actions": {
"desc": "一个动作的配置项",
"label": "动作配置"
},
"auth_sasl_password": {
"desc": "用于连接 Azure Event Hubs 的连接字符串。应为命名空间共享访问策略的 \"连接字符串-主键\"。",
"label": "连接字符串"
},
"auth_username_password": {
"desc": "基于用户名/密码进行认证",
"label": "用户名/密码认证"
},
"buffer_mode": {
"desc": "消息缓存模式。\n\n<code>memory</code>: 将所有消息缓存在内存中。如果 EMQX 节点重新启动,消息将丢失。\n<code>disk</code>: 将消息缓存在磁盘上,确保它们在 EMQX 节点重新启动时仍然存在。\n<code>hybrid</code>: 消息最初在内存中缓存。当它们达到一定限制时 (更多详细信息请参考 <code>segment_bytes</code> 配置),它们会逐渐转移到磁盘上。与 <code>memory</code> 模式类似,如果 EMQX 节点重新启动,消息将丢失。",
"label": "缓存模式"
},
"connect_timeout": {
"desc": "TCP 连接建立的最大等待时间(包括如果已启用身份认证则包括身份认证时间)",
"label": "连接超时"
},
"connector_type": {
"desc": "连接器类型",
"label": "连接器类型"
},
"desc_config": {
"desc": "Azure Event Hubs 数据桥接配置项。",
"label": "Azure Event Hubs 数据桥接配置项"
},
"desc_name": {
"desc": "桥接名称,作为桥接的一个可读描述。",
"label": "桥接名称"
},
"kafka_message_timestamp": {
"desc": "要使用哪个时间戳。时间戳需为毫秒精度的 Unix 时间戳,可以采用字符串格式,例如 <code>1661326462115</code> 或 <code>'1661326462115'</code>。 当未找到此模板的所需数据字段,或者找到的数据不是有效的整数时,将使用当前系统时间戳。",
"label": "消息时间戳"