leizhiyuan opened a new issue, #2047:
URL: https://github.com/apache/rocketmq-dashboard/issues/2047

   ## Motivation
   
   The Tencent Cloud provider (`provider/tencent`, Trocket v20230308 OpenAPI) 
gained Topic management (#1535), consumer group management (#1590) and message 
query/trace (#1639), but the ACL page still only manages Studio-local metadata 
backed by the MySQL store. Users cannot view or manage Tencent Cloud RocketMQ 
5.x roles (the cloud-side ACL users) or their associated cluster-wide ACL rules 
from the ACL page.
   
   ## What this adds
   
   Maps Tencent TDMQ RocketMQ 5.x role management onto the dashboard ACL 
user/rule models:
   
   - **List users / rules** — `DescribeRoleList` returns `RoleItem` (RoleName, 
AccessKey, SecretKey, PermRead, PermWrite, Remark, timestamps). Each role maps 
to a cluster-wide ACL rule: principal = role name, resource = `*`, resourceType 
= `Cluster`, actions derived from `PermRead` (SUB) / `PermWrite` (PUB), version 
`1.0`, scope `cluster`.
   - **Create / update / delete role** — `CreateRole` / `ModifyRole` / 
`DeleteRole`. Role read/write permissions default to `true`; the owning cloud 
instance id (`cloudInstanceId`) is surfaced in the associated-clusters field.
   - **Routing** — `/api/acl/users` and `/api/acl/rules` accept an optional 
`instanceId`; TENCENT instances use the Tencent role API, all other vendors 
(APACHE / ALIYUN) keep the existing local MySQL store. `instanceId` is threaded 
through the ACL DTOs (including `DeleteRequestDTO`) so the frontend passes the 
selected instance on every call.
   - **Capabilities** — Tencent instances report `stateSource=TENCENT_ROLE` 
with remote read/write supported.
   
   ## API references
   
   - DescribeRoleList / role query: 
https://cloud.tencent.com/document/product/1493/98862
   - CreateRole / add role: 
https://cloud.tencent.com/document/product/1493/98864
   
   ## Testing
   
   - Backend unit tests updated for the new `instanceId` routing signatures; 68 
ACL tests pass.
   - Frontend `tsc` compile and `npm run build` pass.
   - Manually verified against a real Tencent Cloud RocketMQ 5.x instance: role 
list renders on the user tab (masked AK/SK + associated instance) and the rule 
tab shows the cluster-wide `*` rule with `PUB`/`SUB` actions, version `1.0`, 
scope `cluster`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to