Phần 7: Quản lý user client trong PrivacyIDEA (sqlrealm/dbrealm/ldap/Activedirectory)
Phần 7: Quản lý user client trong PrivacyIDEA (sqlrealm/dbrealm/ldap/Activedirectory) Phần 1 : Cài đặt PrivacyIDEA server Phần 2: Login ubuntu sử dụng OTP token key. Phần 3: Quản lý tập trung ssh-key bằng privacyIDEA. Phần 4: Basic Authen Apache sử dụng OTP token key. Phần 5: Sử dụng OTP ...
Phần 7: Quản lý user client trong PrivacyIDEA (sqlrealm/dbrealm/ldap/Activedirectory)
Phần 1 : Cài đặt PrivacyIDEA server Phần 2: Login ubuntu sử dụng OTP token key. Phần 3: Quản lý tập trung ssh-key bằng privacyIDEA. Phần 4: Basic Authen Apache sử dụng OTP token key. Phần 5: Sử dụng OTP PrivacyIDEA cho Freeradius. Phần 6: Policy cho user Phần 7: Quản lý user client trong PrivacyIDEA (sqlrealm/dbrealm/ldap/Activedirectory) Phần 8: HA cho PrivacyIDEA Phần 9: SSO update... Nguồn : (https://privacyidea.readthedocs.io/en/latest/index.html)
Mô tả: Privacy hỗ trợ load user từ:
- file : /etc/passwd
- fiile: sqlite3
- database: mysql, maria, wordpress, otrs, dupal .....
- LDAP
- Active Directory
- Scrim
Trong phần viết này. Tôi sẽ hướng dẫn các bạn sử dụng dbfile, dbmysql, ldap, active directory AD.
Hiện tại, bản 2.19 khi cài từ ppa ubuntu, sẽ có python-flask-sqlalchemy from v1.0.3 hiện đang bị lỗi Session' object has no attribute 'modelchanges. Các bạn cần cập nhập lên bản python-flask-sqlalchemy 2.0-1xenial1 hoặc cao hơn https://community.privacyidea.org/t/can-not-add-user-in-sql-resolver/410/10
Tôi vừa kiểm tra lại, bản Privacy2.21 không cần phải cập nhập SQLAlchemy nữa
Cách cập nhập:
wget https://launchpad.net/~privacyidea/+archive/ubuntu/privacyidea-dev/+files/python-flask-sqlalchemy_2.0-1xenial1_all.deb dpkg -i python-flask-sqlalchemy_2.0-1xenial1_all.deb /etc/init.d/apache2 restart
7.1 Sử dụng db user file
Ta tạo scripts như sau:
vim /opt/create_userfile.sh #!/bin/bash DATABASE=/etc/privacyidea/users.sqlite echo "create table users (id INTEGER PRIMARY KEY , username TEXT UNIQUE, surname TEXT, givenname TEXT, email TEXT, password TEXT, description TEXT, mobile TEXT, phone TEXT);" | sqlite3 $DATABASE cat <<END > /etc/privacyidea/usersdb.install {'Server': '/', 'Driver': 'sqlite', 'Database': '/etc/privacyidea/users.sqlite', 'Table': 'users', 'Limit': '500', 'Editable': '1', 'Map': '{"userid": "id", "username": "username", "email":"email", "password": "password", "phone":"phone", "mobile":"mobile", "surname":"name", "givenname":"givenname", "description": "description"}' } END chown privacyidea $DATABASE
chạy scripts để tạo ra db file sử dụng sqlite3
bash -x /opt/create_userfile.sh
Tạo user và realm bằng câu lệnh. Sẽ có cảnh bảo WARNING, ta có thể bỏ qua.
pi-manage resolver create localusers sqlresolver /etc/privacyidea/usersdb.install pi-manage realm create localsql localusers
Add user: Kiểm tra:
7.2 Sử dụng db để lưu user
Chức năng giống y hệt phần 7.1, nhưng lưu user trong mysql
pi-manage resolver create_internal myfirstresolver pi-manage realm create myrealm myfirstresolver
Như vậy ta có thể create/edit/delete user dễ dàng. PrivacyIDEA sẽ tự động insert vào DB "pi.users_myfirstresolver " trường thong tin của user Add user giống y hệt phần 7.1 Kết quả:
7.3 Load user từ LDAP
Ở đây tôi dựng 1 server LDAP và thử cho PrivacyIDEA load account từ LDAP đó. Bind DN là Account admin của LDAP. Base DN là tree
5 User đã được load.
7.4 Load user từ AD
User : Base DN : CN=Users,DC=tuanda,DC=com còn Machine: Base DN : CN=Computers,DC=tuanda,DC=com (Việc set Base DN tùy thuộc vào Tree AD của các bạn)
Phần 8: HA cho PrivacyIDEA
Mời bạn theo dõi tiếp bài sau của tôi. FRAMGIA : https://viblo.asia skype: tuanduong122
Do kiến thức của người viết có hạn. Nếu bài viết thấy có lỗi hoặc sai sót. Mong các bạn comment/contact giúp bài viết hoàn thiện hơn. Xin cảm ơn