Đăng vào

Thiết lập Jenkins SSO dùng Azure AD

Bài viết này sẽ hướng dẫn các thiết lập SSO (Single Sign On) cho Jenkin dùng Azure AD.

Thiết lập: Azure Active Directory

App registrations

Chúng ta cần tạo 1 App trên Azure Active Directory theo các bước sau:

Sau đó tiến hành các bước như dưới đây:

  • 3: Tên app
  • 4: Chọn Default Directiry only
  • 5: Chọn Web
  • 6: Redirect URI, đây là url mở ra sau khi đăng nhập thành công. Nó có dạng: https://your-jenkins-domain.com/securityRealm/finishLogin, bạn cần phải sửa your-jenkins-domain.com cho đúng mới địa chỉ Jenkins của bạn.
  • 7: Click Register

Sau khi đã đăng ký app thành công, ở tab Overview chúng ta lưu lại giá trị Client ID và Tenant ID để dùng cho bước sau.

Tiếp theo tạo 1 Secrets:

Chúng ta điền 1 vài thông tin, chọn thời gian hiệu lực của secret.

  • 13: Copy lại secret value, đây chính là Client Secret được dùng ở các bước sau

Vào Authentication và chọn ID token

Bước tiếp theo chúng ta enable AzureAD group support bằng cách cập nhật "groupMembershipClaims": "SecurityGroup" trong Manifest:

Thiết lập Azure AD permissions

Tiến hành làm theo các bước dưới đây

Chọn Application permissions, và lần lượt thêm các permission:

  • User.Read.All
  • Group.Read.All
  • People.Read

Add xong thì Click Grant admin consent.

Thiết lập: Jenkins

Trước hết chúng ta cài plugin Azure AD cho Jenkins

Tìm và cài, chọn Install without restart, Sau khi cài đặt xong, chúng ta vào phần: https://your-jenkins-domain.com/manage/configureSecurity/

Chúng ta Paste các giá trị đã lưu trước đó:

  • Client ID
  • Client Secrets
  • Tenant ID

Sau đó ấn Save

Ở phần này mình đang cấu hình đơn giản, cho phép người đã đăng nhập có quyền làm mọi thứ. Tùy theo nhu cầu mà bạn cần phân quyền phức tạp hơn bằng cách sử dụng Azure Active Directory Matrix-based Security trong phần Authoriaztion