You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shardingsphere.apache.org by Juan Pan <pa...@apache.org> on 2021/03/03 03:06:07 UTC

[Enhancement] Authentication feature of ShardingProxy

Hi everyone,


This is an update for this enhancement feature. 


As you know, we plan to build the authentication system to help users facilitate access control of ShardingProxy. This is an extensive work, but it is scheduled to publish with the next release.


### Introduction


This feature is the same as the authentication of MySQL or PostgreSQL. ShardingProxy has to do access control when users login in. 


### Three key points need to clarify
- This issue is an enhancement feature for the current `Authentication` module
- All users configured in `server.yaml` of `ShardingProxy` still work and are seen as system users.
- We will leverage the access-control power of different Databases


### Tasks
- [x] ShardingProxy supports `create user` SQL, which will be pushed down to databases
- [x] ShardingProxy supports `grant` SQL, which will be pushed down to databases
- [x] ShardingProxy supports `revoke` SQL, which will be pushed down to databases
- [x] Get the `IP` or `hostname` once users login in
- [ ] Get the `user name`, `password` once users login in
- [ ] Get the user privilege information from databases once users login in
- [ ] Transform the  privilege information into the cached `auth` object
- [ ] Compare the authentication from the user-login and database


You can learn more from [1].


Cheers,
Trista


[1] https://github.com/apache/shardingsphere/issues/8966


---------------------------------------------------------------- 
   Juan Pan (Trista)
                         
Senior DBA & PMC of Apache ShardingSphere
E-mail: panjuan@apache.org