-
Notifications
You must be signed in to change notification settings - Fork 1.2k
HLD for persistent local user management #2018
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
/azp run |
No pipelines are associated with this pull request. |
bc68d29
to
62d56bc
Compare
/azp run |
No pipelines are associated with this pull request. |
62d56bc
to
fd6aea7
Compare
/azp run |
No pipelines are associated with this pull request. |
fd6aea7
to
7c4b7d3
Compare
/azp run |
No pipelines are associated with this pull request. |
7c4b7d3
to
3c56ccb
Compare
/azp run |
No pipelines are associated with this pull request. |
3c56ccb
to
db52f3b
Compare
/azp run |
No pipelines are associated with this pull request. |
db52f3b
to
6653490
Compare
/azp run |
No pipelines are associated with this pull request. |
6653490
to
793f412
Compare
/azp run |
No pipelines are associated with this pull request. |
793f412
to
bf17e02
Compare
/azp run |
2f647cf
to
a6436f3
Compare
/azp run |
No pipelines are associated with this pull request. |
a6436f3
to
060cb71
Compare
/azp run |
No pipelines are associated with this pull request. |
060cb71
to
5f08f1c
Compare
/azp run |
No pipelines are associated with this pull request. |
@vitaliibylinka , yes I have the draft changes, have to include the changes for the comments and updates to the document. Will share it by tomorrow. |
5f08f1c
to
4a02cf2
Compare
/azp run |
No pipelines are associated with this pull request. |
This implementation addresses the User Management HLD requirements for centralized user administration in SONiC. sonic-net/SONiC#2018 **1. YANG Model & Configuration Schema:** - Added sonic-user.yang model defining LOCAL_USER and LOCAL_ROLE_SECURITY_POLICY tables - Integrated user management into CONFIG_DB schema with role-based configuration - Added DEVICE_METADATA.local_user_management feature flag **2. User Management Daemon (userd):** - Implemented C++ daemon using SWSS framework for CONFIG_DB integration - Added user lifecycle management (create/update/delete/enable/disable) - Implemented role-based group assignment (administrator, operator roles) - Added SSH key management with proper file permissions - Integrated PAM faillock configuration using Jinja2 templates **3. CLI Interface:** - Extended sonic-utilities with 'config user' and 'show user' commands - Added user import functionality to migrate existing system users - Added role-based user management with proper validation **4. Build System Integration:** - Added sonic-host-services package with userd daemon and systemd service - Integrated user management into SONiC image build process - Added template-based configuration generation for init_cfg.json - Added build dependencies for JSON processing and password hashing
@vitaliibylinka PRs with implementation details have been posted. |
4a02cf2
to
fe06f5f
Compare
/azp run |
No pipelines are associated with this pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Just added some comments/questions.
@qiluo-msft can you please help signoff on this feature? |
Currently the local users that are created are not persistent across upgrades. This HLD proposes to manage the users across upgrades by storing the configuration in CONFIG_DB and a daemon to manage them in Linux.
Implementation Pull requests: