Skip to main content

Tổng quan

Okta có thể cung cấp dữ liệu đã được chuẩn hóa về vòng đời người dùng, xác thực, MFA và hoạt động quản trị. Các ví dụ đã được xem xét bao gồm:
  • account.locked — tài khoản bị khóa
  • mfa.factor.activated — kích hoạt thêm các yếu tố MFA
  • auth.login.failed — đăng nhập không thành công
Cả hai phương thức kết nối đều đọc cùng hai luồng dữ liệu — thư mục người dùng (/api/v1/users) và nhật ký hệ thống (/api/v1/logs). Xem cách dữ liệu tích hợp trở thành tín hiệu.

Chọn phương thức kết nối

Cả hai phương thức đều yêu cầu cùng quyền truy cập, vì vậy lựa chọn này liên quan đến cách quản lý thông tin xác thực, không phải đến dữ liệu mà nền tảng có thể đọc.

Tùy chọn A — API token (SSWS)

Được khuyến nghị.

Những gì Living Security cần

Điều kiện tiên quyết

  • Quý vị phải là Super Administrator của Okta để tạo người dùng tài khoản dịch vụ, gán vai trò quản trị viên và tạo API token.
1

Tạo người dùng sở hữu token

Một API token của Okta mang quyền hạn của người dùng đã tạo ra nó và sẽ ngừng hoạt động nếu người dùng đó bị vô hiệu hóa. Hãy tạo một tài khoản dịch vụ riêng thay vì dùng tài khoản quản trị cá nhân, để kết nối không bị gián đoạn khi nhân sự thay đổi.
  1. Trong Admin Console, đi tới Directory → People.
  2. Nhấp Add person và tạo một người dùng, ví dụ như svc-livingsecurity@yourcompany.com.
  3. Kích hoạt tài khoản.
2

Gán vai trò quản trị viên chỉ đọc

Nền tảng chỉ thực hiện thao tác đọc. Việc cấp nhiều hơn quyền đọc sẽ trao cho token những quyền mà nó không bao giờ sử dụng.
  1. Đi tới Security → Administrators.
  2. Nhấp Add administrator và chọn người dùng từ bước trước.
  3. Gán vai trò Read-only Administrator.
  4. Lưu.
Nếu không có vai trò quản trị viên, các lệnh gọi tới Okta Management API vẫn thành công với 200 OK và trả về một danh sách rỗng. Không có 403 nào cho biết vai trò bị thiếu — các luồng dữ liệu chỉ đơn giản là vẫn trống.
3

Tạo API token

  1. Đăng nhập vào Admin Console bằng người dùng tài khoản dịch vụ từ bước 1. Token kế thừa quyền của tài khoản tạo ra nó.
  2. Đi tới Security → API và mở tab Tokens.
  3. Nhấp Create token, đặt tên cho token, ví dụ như Living Security Platform, rồi nhấp Create token.
  4. Hãy sao chép giá trị token ngay bây giờ — Okta chỉ hiển thị một lần và sẽ không hiển thị lại.
Okta vô hiệu hóa API token sau 30 ngày không sử dụng. Các lần đồng bộ trong tích hợp này chạy ít nhất một lần mỗi ngày, do đó một kết nối đang hoạt động sẽ tự giữ token của mình luôn có hiệu lực. Một kết nối bị tạm dừng trong một tháng sẽ cần một token mới.
Danh sách địa chỉ ở trên chỉ quan trọng nếu tổ chức Okta của Quý vị hạn chế quyền truy cập API theo network zone. Hầu hết các tổ chức không áp dụng hạn chế này.
4

Tìm tenant subdomain của Quý vị

URL Admin Console của Quý vị có dạng https://acme-admin.okta.com. Tenant subdomain là acme — không có hậu tố -admin, không có .okta.com và không có https://.
Quý vị đã kết nối với Okta (SSWS).

Khắc phục sự cố

Token không hợp lệ, đã bị thu hồi hoặc đã bị vô hiệu hóa sau 30 ngày không hoạt động. Hãy tạo một token mới bằng người dùng tài khoản dịch vụ và nhập lại token đó vào kết nối.
Chủ sở hữu của token không có vai trò quản trị viên. Hãy gán Read-only Administrator cho tài khoản dịch vụ (bước 2) — khi thiếu vai trò, API trả về 200 OK cùng một danh sách rỗng thay vì báo lỗi.
Token ngừng hoạt động nếu người dùng đã tạo ra nó bị vô hiệu hóa. Đây là lý do token nên thuộc về một tài khoản dịch vụ, không phải một cá nhân.

Tùy chọn B — Ứng dụng dịch vụ OAuth 2.0

Hãy sử dụng phương thức này khi chính sách bảo mật của Quý vị không cho phép dùng API token có thời hạn dài. Phương thức này thay token bằng một ID khách hàng và một cặp khóa RSA do Quý vị sở hữu. Trên nền tảng, đây là ô Okta (OAuth 2.0), trong Cài đặt → Tích hợp → Danh mục. Để xác thực với Okta bằng Client Credentials, Quý vị cần có những thông tin sau:
  1. ID khách hàng - Mã định danh duy nhất cho ứng dụng Okta API Services của Quý vị.
  2. Private Key (JWK) - Khóa riêng tư RSA ở định dạng JSON Web Key, có khóa công khai được đăng ký trong ứng dụng Okta của Quý vị.
  3. Okta Domain - Chỉ tenant subdomain Okta của Quý vị (ví dụ: dev-12345678), không phải tên máy chủ đầy đủ.
  4. Scopes - Danh sách các scope của Okta Management API, phân tách bằng dấu cách (ví dụ: okta.users.read okta.logs.read).
Hướng dẫn này sẽ giúp Quý vị tạo một ứng dụng API Services trong Okta với xác thực private_key_jwt.

Điều kiện tiên quyết:

  • Quý vị phải có tài khoản Okta. Hãy đăng ký tài khoản nhà phát triển miễn phí tại developer.okta.com.

Bước 1: Tạo ứng dụng Okta API Services

  1. Đăng nhập vào Okta Admin Console của Quý vị.
  2. Trong thanh bên trái, đi tới Applications > Applications.
  3. Nhấp Create App Integration.
  4. Chọn API Services làm phương thức đăng nhập và nhấp Tiếp theo.
  1. Đặt tên cho ứng dụng của Quý vị và nhấp Lưu.
  2. Trên tab General của ứng dụng, tìm ID khách hàng của Quý vị — Quý vị sẽ cần đến nó ở bước cuối cùng.
  3. Đặt Client authentication thành Public key / Private key. Các scope okta.* chỉ được hỗ trợ với phương thức xác thực này.
  1. Tắt Proof of possession (DPoP) — tính năng này không được hỗ trợ.
Ứng dụng phải được tạo dưới dạng API Services.

Bước 2: Tạo và đăng ký cặp khóa RSA

Sử dụng trình tạo khóa của Okta
Okta có thể tạo cặp khóa RSA cho Quý vị ngay trong Admin Console:
  1. Trong Admin Console, mở ứng dụng API Services của Quý vị.
  2. Đi tới tab General và cuộn xuống phần PUBLIC KEYS.
  3. Nhấp Add Key, sau đó chọn Generate new key.
  4. Nhấp Lưu — Okta tạo cặp khóa và hiển thị Private Key (JWK) một lần duy nhất.
  5. Hãy sao chép và lưu ngay đoạn JSON của khóa riêng tư — nó sẽ không được hiển thị lại.
  1. Khóa công khai được tự động đăng ký với ứng dụng của Quý vị.
Hãy sao chép JWK riêng tư trước khi đóng hộp thoại. Dán nó vào trường Private Key trong Living Security Platform ở bước cuối cùng.
Tự tạo khóa
Okta sử dụng private_key_jwt cho các ứng dụng API Services. Quý vị tạo một cặp khóa RSA, đăng ký JWK công khai với Okta và cung cấp JWK riêng tư cho Living Security Platform. Tạo JWK riêng tư bằng đoạn mã Node.js sau (yêu cầu Node.js 18+):
Đăng ký JWK công khai trong Okta:
  1. Trong Admin Console, mở ứng dụng API Services của Quý vị.
  2. Đi tới tab General và cuộn xuống phần PUBLIC KEYS.
  3. Nhấp Add Key, dán JSON của JWK công khai là kết quả đầu ra từ đoạn mã ở trên, rồi nhấp Lưu.
JWK riêng tư là nội dung mà Quý vị dán vào Living Security Platform. Nó bao gồm toàn bộ thông tin khóa (d, p, q, dp, dq, qi) và kid. Hãy giữ bí mật.

Bước 3: Tìm Okta Domain của Quý vị

Chỉ nhập tenant subdomain Okta của Quý vị — phần đứng trước .okta.com.
  • Trong Admin Console, thanh địa chỉ của trình duyệt sẽ hiển thị một URL có dạng https://dev-12345678-admin.okta.com.
  • Okta Domain của Quý vị chỉ là tên miền phụ (ví dụ: dev-12345678), không phải dev-12345678.okta.com.
  • Ngoài ra, hãy đi tới Cài đặt > Account trong Admin Console để tìm Okta domain của Quý vị, sau đó dùng phần tên miền phụ.

Bước 4: Cấp API scope cho ứng dụng của Quý vị

Okta yêu cầu ít nhất một scope trong mọi yêu cầu token. Trước khi ứng dụng của Quý vị có thể yêu cầu các scope cụ thể, các scope đó phải được cấp:
  1. Trong Admin Console, đi tới Applications > Applications và mở ứng dụng của Quý vị.
  2. Nhấp tab Okta API Scopes.
  3. Cấp các scope mà tích hợp của Quý vị yêu cầu: okta.users.read và okta.logs.read.
Danh sách đầy đủ các scope khả dụng có trong tài liệu tham khảo Okta Management API.

Bước 5: Gán vai trò quản trị viên cho ứng dụng của Quý vị

Chỉ cấp scope là chưa đủ — các endpoint của Okta Management API (ví dụ: /api/v1/users) sẽ âm thầm trả về phản hồi 200 [] rỗng nếu ứng dụng của Quý vị không có vai trò quản trị viên. Quý vị phải gán ít nhất Read-Only Administrator:
  1. Trong Admin Console, đi tới Security > Administrators (hoặc đi tới Applications > Applications > ứng dụng của Quý vị > Admin roles).
  2. Nhấp Add administrator assignment và chọn ứng dụng API Services của Quý vị.
  1. Gán vai trò Read-Only Administrator (hoặc cao hơn, tùy theo các scope Quý vị cần).
  2. Nhấp Lưu.
Nếu không có vai trò quản trị viên, các lệnh gọi API vẫn thành công với 200 OK nhưng trả về kết quả rỗng và không có lỗi 403 nào cho biết vấn đề.

Bước 6: Nhập thông tin xác thực trong Living Security Platform

Sau khi Quý vị đã có ID khách hàng, Private Key (JWK), Okta Domain và Scopes:
  1. Mở biểu mẫu mà Quý vị cần xác thực với Okta (Client Credentials).
  2. Nhập ID khách hàng của Quý vị.
  3. Dán Private Key (JWK) của Quý vị — toàn bộ đối tượng JSON từ đoạn mã ở trên (dạng một dòng hoặc đã định dạng).
  4. Nhập Okta Domain của Quý vị chỉ ở dạng tenant subdomain (ví dụ: dev-12345678).
  5. Nhập Scopes dưới dạng danh sách phân tách bằng dấu cách (ví dụ: okta.users.read okta.logs.read).
  6. Gửi biểu mẫu, và Quý vị sẽ được xác thực thành công.
Quý vị đã kết nối với Okta (Client Credentials).
Một số phần của tài liệu này được điều chỉnh từ Nango, được sử dụng theo Elastic License 2.0.