Nói chung, trong một tổ chức lớn, Jenkins có nhiều nhóm riêng biệt để quản lý và điều hành công việc. Nhưng việc quản lý người dùng này và phân quyền cho họ có thể có chút rắc rối.
Theo mặc định, Jenkins đi kèm với các tùy chọn tạo người dùng rất cơ bản. Bạn có thể tạo nhiều người dùng nhưng chỉ có thể gán các vai trò và đặc quyền chung cho họ. Điều này không lý tưởng, đặc biệt là đối với một tổ chức lớn.
Plugin Role-based Authorization Strategy cho phép bạn phân các quyền khác nhau cho những người dùng khác nhau.
Trước tiên, hãy tìm hiểu 1 chút về chương trình quản lý người dùng mặc định của Jenkins trước đã nhé.
Hãy vào Manage Jenkins -> Manage Users
Ở đây bạn thấy mới chỉ có 1 User hoanghd, để tạo username mới hãy bấm vào Create User
Nhập thông tin người dùng cần tạo rồi bấm Create User
Ví dụ mình đã tạo thêm 2 người dùng như dưới
Hãy để ý khi mình login vào username1 thì người dùng này có toàn quyền giống như user admin, điều này là không tốt. Để phân quyền lại cho username, mình giới thiệu cho bạn Plugin Role-based Authorization Strategy.
Hãy vào Manage Jenkins -> Configure Global Security
Ở phần Security Realm hiện tại đang chọn Jenkins’ own user database, tuỳ chọn Jenkins’ own user database là nơi chứa các thông tin người dùng mặc định của Jenkins.
Ở Security Realm có rất nhiều phương pháp để lấy thông tin người dùng, ví dụ như LDAP chẳng hạn,…
Nếu bạn có 1 server LDAP thì có thể chọn LDAP để đồng bộ các username xuống Jenkins.
Bạn hãy vào Manage Jenkins, chọn Available plugins, tìm Plugin Role-based Authorization Strategy và tải nó về theo thứ tự các bước như hình dưới.
Hãy tích vào như hình dưới để hế thống tự động restart lại Jenkins khi tải xong Plugin nhé
Sau khi cài xong Plugin Role-based Authorization Strategy ta vào lại Configure Global Security.
Tại Authorization chúng ta có thêm tuỳ chọn Role-Based Strategy, hãy chọn nó và Save lại nhé.
Sau khi Save lại, ta quay trở ra Manage Jenkins, bạn sẽ thấy có thêm 1 tuỳ chọn mới tên Manage and Assign Roles, bạn hãy bấm vào nó.
Sa khi vào Manage and Assign Roles, chọn manage roles
Tại Manage Roles bạn hãy tiến hành tạo các Role mới và phân quyền cho chúng theo các bước như hình.
Sau khi tạo và phân quyền xong cho các roles, ta back ra ngoài và vào tiếp mục Assign Roles.
Tại đây bạn tiến hành thêm các username đã tạo ở các bước trước theo trình tự các bước như hình dưới.
Để kiểm tra kết quả, bạn hãy login vào username1, bạn sẽ thấy username1 có các quyền xoá, config, build,…
Nhưng khi login vào username2 thì chỉ có 3 quyền duy nhất như hình dưới.
Đến đây mình đã giới thiệu cho các bạn cơ bản về cách quản lý, phân quyền người dùng và cách sử dụng Plugin Role-based Authorization Strategy trong Jenkins.
Chúc các bạn thành công.