lasdf1234 opened a new issue, #12330:
URL: https://github.com/apache/gravitino/issues/12330
### Describe the feature
Add AccessControlDispatcher APIs to look up, enable/disable, delete users
and groups by Gravitino-assigned id, and to update externalId without
changing that id. Also expose id() on the public User/Group APIs.
### Motivation
SCIM (and similar IdP push) must use a server-assigned immutable id as the
SCIM resource id, with externalId as an optional mutable attribute. Today
core only supports name and externalId keys, so enterprise SCIM cannot
route path /Users/{id} and /Groups/{id} correctly.
Related: #11830
### Describe the solution
- Expose Long id() on User/Group (and DTOs / event info)
- Storage: select/update/delete user and group by metalake + id
- SupportsIdOperations on EntityStore (mirror SupportsExternalIdOperations)
- Dispatcher APIs:
- User: get/remove/enable/disable by id; updateUserExternalId(metalake,
id, newExternalId)
- Group: get/remove by id; updateGroupExternalId(metalake, id,
newExternalId)
- Keep existing by-name and by-externalId APIs
- Hook/event coverage for the new operations
### Additional context
No rename APIs in this change.
--
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]