Commit Graph

434 Commits

Author SHA1 Message Date
firest 71aaf5c538 fix(authz): fix dialyzer && test case && proper error 2022-08-31 16:49:27 +08:00
JianBo He 168f44e45b fix: exhook client.authorize never be execauted
see: https://github.com/emqx/emqx/issues/8779
2022-08-31 14:34:02 +08:00
Shawn 1ff53ee8a9 fix(authz): don't stop emqx_resource app in test cases 2022-08-23 08:57:12 +08:00
Shawn b3162fe5ff fix: conflicts between master and ee5.0 2022-08-14 22:24:09 +08:00
Shawn 0cdf4b47f1 feat: add more resource creation opts 2022-08-12 13:47:45 +08:00
Ilya Averyanov 64aa30ec63 chore(authn/authz): better handling of placeholder interpolation errors 2022-08-10 18:22:37 +03:00
Shawn d3950b9534 fix(resource): make option 'queue_enabled' disabled by default 2022-08-10 00:34:35 +08:00
Shawn 0377d3cf61 fix: update existing testcases for new emqx_resource 2022-08-10 00:34:35 +08:00
Zhongwen Deng dd59c850e0 chore: make sure swagger's tags always titlecase 2022-07-25 16:09:17 +08:00
Zhongwen Deng a12478225a fix: fix bad swagger format 2022-07-20 16:56:07 +08:00
Zaiming (Stone) Shi e49686a276 fix(authz): should apply no rule on superuser 2022-07-08 22:35:15 +02:00
JianBo He 4c17b38102 chore: treat 200/204 as acl nomatch 2022-07-01 20:42:22 +08:00
JianBo He 83f5da8f9d fix(authz-http): fix https://github.com/emqx/emqx/pull/8377#discussion_r911743360 2022-07-01 17:46:55 +08:00
JianBo He 52b77b570f refactor: authz-http return body to reject pub/sub 2022-07-01 17:46:55 +08:00
JianBo He f8c90452cc chore: auto retry disconnected authn/authz resources 2022-07-01 12:01:39 +08:00
ieQu1 a9ec193ef8 fix(prometheus): Disable authorization for metrics scraping endpoint 2022-06-23 00:31:53 +02:00
Shawn 51efe22e57 chore: update the appup files for authz/authn 2022-06-22 15:54:37 +08:00
Shawn defacb97df fix: disabled resources for authz/authn started after emqx reboot 2022-06-22 14:34:30 +08:00
Xinyu Liu 3b00b16abe
Merge pull request #8221 from terry-xiaoyu/fix_delayed_module_disbled_after_emqx_stop
feat: fix the hook priorities
2022-06-16 09:42:42 +08:00
Shawn 39b1b20506 feat: fix the hook priorities 2022-06-15 19:03:40 +08:00
JianBo He 03967a83de chore(authz): make `authorization.cache.enable` required 2022-06-15 13:46:17 +08:00
firest 45aa9d604b fix(metrics): remove the client. prefix for AuthN/AuthZ metrics 2022-06-14 14:08:25 +08:00
Shawn f18eab402a fix(CI): don't use any authz sources when testing 2022-06-10 14:21:20 +08:00
firest 86a3ac0bef fix(authz): prohibit overriding of existing client/user 2022-06-07 16:34:01 +08:00
Zhongwen Deng c7cc2e85b2 fix: add default&example for schema 2022-06-06 09:52:10 +08:00
Zaiming (Stone) Shi 2eb621ba57 fix: hint metrics merge errors 2022-05-13 21:38:51 +02:00
Ilya Averyanov 91da451803 feat(authz): add default authn-based authz source 2022-05-13 12:51:10 +03:00
Ilya Averyanov ca0c80965a
Merge pull request #7890 from savonarola/fix-jwt-acl-v5
fix(jwt auth): improve JWT handling
2022-05-12 19:48:37 +03:00
Ilya Averyanov e0fa07b679 fix(jwt auth): improve JWT handling 2022-05-12 12:10:47 +03:00
JimMoen 87af77ec35 refactor: do not destory resource when update authn/authz resource 2022-05-12 14:19:57 +08:00
firest 5220869dd8 fix(authz): add authz source type into the authorize logger 2022-05-11 17:54:42 +08:00
Chris Hicks 841acb7828
Merge pull request #7783 from emqx/EMQX-4199-introduce-a-new-emqx-resource-manager-module
feat: isolate resource manager processes
2022-05-09 18:33:01 +02:00
Chris 0b3e30e813 feat: isolate resource manager processes 2022-05-09 13:24:34 +02:00
EMQ-YangM 30b3060327 fix: improve authn, authz metrics 2022-05-05 18:53:31 +08:00
JianBo He d36d27c533
Merge pull request #7781 from HJianBo/rename-acl-metrics
feat(metrics): refactor authz metrics name
2022-04-29 16:52:43 +08:00
JianBo He 344a754674
Merge pull request #7817 from JimMoen/fix-auth-http 2022-04-29 16:36:10 +08:00
JianBo He 1632df9ebb
Merge pull request #7837 from EMQ-YangM/reduce_duplicate_field
fix: reduce duplicate field
2022-04-29 15:50:27 +08:00
JianBo He 7bbed713f4
Merge pull request #7835 from JimMoen/fix-mongo-require-fields
fix(auth): mongo field `filter` not required and have default value
2022-04-29 15:38:54 +08:00
JianBo He 1597ea50c1 feat(metrics): refactor authz metrics name
In the current implementation:
```
Authz checking times = client.authorize + client.authorization.cache_hit
                     = client.authorization.allow + client.authorization.deny

client.authorize means how many times the `client.authorize` hook has been executed.

client.authorize = client.authorization.matched.allow +
                   client.authorization.matched.deny +
                   client.authorization.nomatch
```
2022-04-29 15:20:05 +08:00
EMQ-YangM 110f0d0e94 fix: reduce duplicate field 2022-04-29 14:37:49 +08:00
JimMoen ad4b70c27e fix(auth): mongo field `filter` not required and have default value 2022-04-29 13:37:29 +08:00
JimMoen 15ef9892c5 fix(auth): authn & authz http support placeholder in HTTP path 2022-04-29 12:48:00 +08:00
JimMoen dae418ae4a fix(auth): authn & authz http not required `body` field 2022-04-29 12:47:56 +08:00
JimMoen e4826400b8 fix(auth): authn & authz HTTP haeders without `content-type` via GET method 2022-04-29 12:47:52 +08:00
EMQ-YangM 4a6dabbe57 fix: rename to emqx_metrics_worker 2022-04-29 12:41:36 +08:00
Yang Miao 7061d94cf9
Merge pull request #7823 from EMQ-YangM/authz_add_metrics
feat: new authz metrics
2022-04-29 11:27:59 +08:00
EMQ-YangM 3fa8447c85 fix: fix static check warning, add some fields schema 2022-04-29 10:32:52 +08:00
EMQ-YangM 712cdb3152 fix: fix static check error 2022-04-29 09:11:06 +08:00
EMQ-YangM 6879df9c5c fix: respect atom name convention 2022-04-29 08:59:51 +08:00
EMQ-YangM 3e314f6785 fix: rewrite status_metrics_example 2022-04-29 00:44:22 +08:00
EMQ-YangM f91a6b9f00 fix: authz add metrics_and_status schema 2022-04-29 00:37:21 +08:00
EMQ-YangM a6920ac11b feat: new authz metrics 2022-04-28 22:01:40 +08:00
zhouzb bd0d0d9797
Merge branch 'master' into chore/authn-fields 2022-04-28 16:09:26 +08:00
Shawn 46550d5a6f fix: don't remote the cert files when updating authz 2022-04-27 14:07:33 +08:00
zhouzb fa9bd74595 chore: rename selector to filter and fix spellcheck 2022-04-27 11:29:18 +08:00
Ilya Averyanov fc2ea9e484 feat(emqx_auth_jwt): use JWT for ACL checks 2022-04-25 11:59:04 +03:00
EMQ-YangM 2d553d711f fix: 'ComFun' missing parameter 2022-04-25 11:38:48 +08:00
JimMoen e9843aa225 fix(doc): html line break use `</br>` 2022-04-24 18:56:21 +08:00
JimMoen 11d2ae117c docs: authz i18n zh_CN support 2022-04-22 10:40:34 +08:00
DDDHuang 4b7a5bbf53 fix: bad empty map 2022-04-21 21:26:35 +08:00
DDDHuang 75f612a449 fix: bad SUITE & bad code 2022-04-21 18:30:51 +08:00
DDDHuang 7417e5070d fix: perpare sql when connector doing init; add prepare statement field; bad log path 2022-04-21 16:00:15 +08:00
DDDHuang 2aedd38a43 fix: authz mysql prepare query 2022-04-21 16:00:15 +08:00
DDDHuang 039619ee23 feat: authz & authn mysql resource support prepare sql query 2022-04-21 16:00:15 +08:00
JimMoen 341973880d fix(authz): refine authz-http api with default headers 2022-04-19 18:57:01 +08:00
JimMoen 14a97d777d fix(authz): api required fields 2022-04-19 18:57:01 +08:00
JimMoen 93dd7d46c5 refactor: fields `meta` ref to dashboard_swagger 2022-04-19 18:57:01 +08:00
Zaiming (Stone) Shi c71302ae27 refactor(ssl): show file paths for SSL certs in dashboard 2022-04-19 08:43:37 +02:00
JimMoen 9e4b9c6689 refactor: mgmt rm `generate_response/1` 2022-04-19 01:20:57 +08:00
JimMoen 6da1302acd feat: clean up all authz cache api 2022-04-18 16:46:13 +08:00
ieQu1 8df76da9ac chore(formatting): Fix formatting of modules, authz and authn 2022-04-05 11:01:53 +02:00
ieQu1 99b3f2f83e docs(schema): Document missing records and fields 2022-04-04 23:58:43 +02:00
Thales Macedo Garitezi c0d2243e72
refactor(telemetry): move authn/authz info fns to their own apps 2022-04-01 09:27:52 -03:00
Thales Macedo Garitezi 5c069319a7
fix(authz): make `acl_conf_file` mockable 2022-04-01 09:23:42 -03:00
JianBo He acb3544d4b style(authz): reformat authz subdir source files 2022-04-01 09:55:47 +08:00
JimMoen 82559b9b08 style: erlfmt apps/emqx_authz 2022-04-01 02:19:46 +08:00
JimMoen 4746204f6f fix(authz): rm authz source update dry_run 2022-03-31 10:34:33 +08:00
ieQu1 b6d93e91e6 docs(schema): Document fields for HTTP auth 2022-03-30 13:05:56 +02:00
ieQu1 edb91e2e4a docs(schema): Add descriptions for authZ and connector 2022-03-30 13:01:01 +02:00
EMQ-YangM 4791c64b73 feat: add rule event 'client.check_authz_complete' 2022-03-29 11:24:36 +08:00
JimMoen 41c808a262 fix(authz): write acl and cert files after nodes config synced 2022-03-23 21:14:43 +08:00
JimMoen c2e1c38fdf refactor(authz): prepend and append only allow one source 2022-03-23 21:14:43 +08:00
JimMoen 843e12ad16 refactor(authz): unifined function names and var names 2022-03-23 21:14:43 +08:00
zhouzb 9820728e5c
Merge pull request #7351 from JimMoen/fix-authz-api-pem-check
fix authz api flaky status code.
2022-03-21 20:55:36 +08:00
JimMoen 3769044a57 fix(authz_api): ssl pem check failed returns 400 2022-03-21 18:05:43 +08:00
JimMoen 1ed8e783f4 fix(authz_api): rm authz sources full update 2022-03-21 16:43:08 +08:00
JimMoen 0b7f1ab69c refactor(authz_api): avoid copy paste 2022-03-21 16:43:08 +08:00
JimMoen 0ee3e49db7 chore: rm unused macro and func, fix unchanged product name 2022-03-21 16:43:08 +08:00
JimMoen 188d876b1c fix(api): fix unmatched position parsing 2022-03-21 16:43:08 +08:00
EMQ-YangM dc8408e378 fix(emqx_authz_api): fix error code 2022-03-21 14:42:09 +08:00
EMQ-YangM a34e750ebe fix: unify http response code for auhtn & authz 2022-03-21 14:16:52 +08:00
EMQ-YangM d1857ba454 feat: add authn, authz status api 2022-03-18 14:36:33 +08:00
EMQ-YangM 37c4d68f40 fix: ignore authn, authz status and metrics 2022-03-16 11:14:21 +08:00
EMQ-YangM eb5570dd07 fix: disable authn_api, authz_api_sources swagger spec 2022-03-16 10:16:50 +08:00
JimMoen 02ed2148d7 refactor: move api `top` -> `front`, `bottom` -> `rear` 2022-03-15 10:28:46 +08:00
JimMoen 68c473c7cc refactor(authz_api): authz sources move api style 2022-03-15 10:28:46 +08:00
EMQ-YangM 258d2e9e03 fix(emqx_authz_api_sources): use merge replace foldl 2022-03-14 14:43:17 +08:00
EMQ-YangM 740b3870bf fix(elvis): nesting_level shouldn't exceed 6 2022-03-14 13:36:35 +08:00
EMQ-YangM b33b3f6eee fix: reduce status_and_metrics 2022-03-14 10:21:51 +08:00
EMQ-YangM f287547251 feat(emqx_authz): add metrics and status to authz 2022-03-13 12:41:03 +08:00
JimMoen f5caf66253 refactor(api): unified api name style 2022-03-11 11:07:55 +08:00
JimMoen 5e81a1ae95 fix(authz): `POST` method for creating or updating rules for all 2022-03-11 11:07:55 +08:00
JimMoen ba05cdc412 fix(authz): `DELETE` method return codes 2022-03-11 11:07:55 +08:00
JimMoen 93c74bd645
Merge pull request #7225 from JimMoen/authn-authz-mnesia-fuzzy-searching
authn and authz mnesia searching by `clientid` or `username`
2022-03-10 17:00:36 +08:00
Shawn 1d023b541f refactor(connnector): rename waiting_connect_complete -> wait_for_resource_ready
Rename the option to wait_for_resource_ready and defaults to 5s.
2022-03-10 10:46:57 +08:00
JimMoen 16ec8fe289 feat(authz): authz mnesia rules searching by `clientid` or `username` 2022-03-10 10:01:40 +08:00
JimMoen c01aa3c580 style(authz_mnesia): api spec style, rm duplicated module name 2022-03-10 10:01:40 +08:00
EMQ-YangM 583624fb8d fix(emqx_authn): fix test suite 2022-03-09 13:53:05 +08:00
EMQ-YangM db97ed5163 fix(emqx_authz): add default wait_connected 2022-03-08 14:09:39 +08:00
Zhongwen Deng 6ff2db6180 fix: elvis warning 2022-03-04 15:10:10 +08:00
Zhongwen Deng e2f386383d fix: replace local ref by remote ref 2022-03-04 09:13:56 +08:00
Zhongwen Deng db584f79d6 feat: upgrade hocon to 0.25.0 to replace nullable with required. 2022-02-24 22:39:03 +08:00
Zhongwen Deng 9f9bf059b9 fix(schema): remove unuse to_bin function; simplify body schema. 2022-02-21 23:02:49 +08:00
JimMoen 4d5ee355bb fix(authz): authz http pool_type use default value `random` 2022-02-21 18:09:04 +08:00
JimMoen eaa659f2a1 refactor: authz_api_settings refactor with hoconsc 2022-02-21 16:40:47 +08:00
JimMoen ff68e2a20f fix(http): connector and authn/authz http `keep-alive` default 30s , max 1000 2022-02-21 16:35:15 +08:00
JimMoen 000020617c refactor: authz_api_sources spec 2022-02-21 16:33:08 +08:00
k32 5638bcb92b docs: Fix typos 2022-02-17 23:22:31 +01:00
Zaiming (Stone) Shi 2a6d11c7f1
Merge pull request #7038 from zmstone/chore-rename-emqx-no-space-source-code
chore: EMQ X -> EMQX in source code
2022-02-17 21:13:43 +01:00
zhongwencool c88504f918
Merge pull request #7023 from zhongwencool/license-alarm-support
License alarm support
2022-02-17 22:09:51 +08:00
Zaiming (Stone) Shi 64db085163 chore: EMQ X -> EMQX in source code 2022-02-16 22:08:12 +01:00
Yang Miao 78cad0a528
Merge pull request #6989 from EMQ-YangM/up_master
refactor(emqx_resource): Improve grouping strategy for emqx_resource_instance
2022-02-16 16:26:28 +08:00
zhongwencool 34fe5082c4 fix(schema): schema global validations not working 2022-02-16 14:20:15 +08:00
JimMoen ab7c2b72e3 refactor(connector): db connector provide default port 2022-02-15 00:51:48 +08:00
Zaiming (Stone) Shi e2a67760b1 fix(emqx_authz_file): throw exception for catch 2022-02-11 17:16:00 +01:00
EMQ-YangM fae91d72f2 fix(emqx_authz): fix function 'create_resource' 2022-02-11 18:36:55 +08:00
Shawn 8207090419 fix: format the code to remove extra spaces 2022-02-09 18:46:49 +08:00
k32 052bd9081d docs(schema): Fix typos in the schema files 2022-01-27 22:39:19 +01:00
Zaiming (Stone) Shi d6f7ffec3c
Merge pull request #6881 from zmstone/refactor-upgrade-hocon-0.23.0
refactor: upgrade to hocon 0.23.0
2022-01-27 15:48:23 +01:00
Kian-Meng Ang fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
Zaiming (Stone) Shi 252d7e85d9 refactor: call new hocon apis 2022-01-27 00:23:08 +01:00
Ilya Averyanov 5ed27f92b7
Merge pull request #6855 from savonarola/ph-interpolation
refactor(authn,authz): unify variable interpolation
2022-01-26 21:01:11 +03:00
Ilya Averyanov 6441978b08 refactor(authn,authz): unify variable interpolation 2022-01-25 20:54:12 +03:00
Zaiming (Stone) Shi 21183f3b16 docs: fix authz config doc 2022-01-24 13:30:42 +01:00
zhongwencool 03a135c592
Merge pull request #6708 from zhongwencool/improve-error-log
Improve authn/authz error log when query failed.
2022-01-14 16:31:59 +08:00
zhongwencool 5a31001906
Merge pull request #6749 from zhongwencool/fix-authz-headers
fix(authz): Remove unnecessary headers
2022-01-14 15:15:12 +08:00
zhongwencool 1cfab9fed5 chore(log): add more detail log for authz/authn query error 2022-01-14 15:00:02 +08:00
zhongwencool c9603bd21e fix(authz): Remove unnecessary headers 2022-01-14 14:11:49 +08:00
zhouzb 2791052135 fix: fix errors caused by concurrent parsing of sql 2022-01-11 09:39:56 +08:00
zhongwencool 3bdfa183f3
Merge pull request #6666 from JimMoen/merge-5.0-beta.3-to-master
Merge 5.0 beta.3 to master
2022-01-06 18:20:30 +08:00
JimMoen 9a115b99a4 Merge remote-tracking branch 'emqx/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-06 14:08:45 +08:00
Zaiming (Stone) Shi 63167cea70 chore: update copyright 2022-01-05 20:55:00 +01:00
zhongwencool f4f5281b16 fix: authz headers default value 2022-01-05 22:06:50 +08:00
zhongwencool 7e48a4e6f5 fix: authz default should be a map 2022-01-05 19:04:51 +08:00
zhongwencool 303707d69d fix: make sure authz headers is binary. 2022-01-05 15:11:16 +08:00
JimMoen ab37c48860 fix(authz): authz http resource url query string 2022-01-04 18:13:27 +08:00
Zaiming (Stone) Shi 2898fa76e1 Merge remote-tracking branch 'origin/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-03 11:39:06 +01:00
Ilya Averyanov 2ffcaad41e chore(authz): increase coverage 2021-12-31 01:24:18 +03:00
JimMoen 8cb9482542 fix(authz): `servers` field use string 2021-12-30 15:37:53 +08:00
tigercl d769401869
Merge pull request #6555 from tigercl/chore/new-epgsql
chore: support prepared query in postgresql connector
2021-12-29 13:37:29 +08:00