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 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