Sử dụng SAML với API quản lý Edge

Edge cho đám mây riêng tư phiên bản 4.19.01

Xác thực cơ bản là một cách để xác thực khi thực hiện lệnh gọi đến API quản lý cạnh. Ví dụ: bạn có thể gửi yêu cầu cURL sau đây tới API Quản lý Edge để truy cập vào thông tin về tổ chức của mình:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

Trong ví dụ này, bạn sử dụng tuỳ chọn cURL -u để chuyển thông tin xác thực cơ bản. Ngoài ra, bạn có thể truyền mã thông báo OAuth2 trong tiêu đề Bearer để thực hiện các lệnh gọi API quản lý Edge. Ví dụ:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

Sau khi bật SAML, bạn có thể tuỳ ý tắt tính năng Xác thực cơ bản. Nếu bạn tắt tính năng Xác thực cơ bản, tất cả tập lệnh (tập lệnh Maven, tập lệnh shell, apigeetool, v.v.) dựa trên lệnh gọi API quản lý Edge hỗ trợ tính năng Xác thực cơ bản sẽ không còn hoạt động nữa. Bạn phải cập nhật mọi lệnh gọi API và tập lệnh sử dụng phương thức Xác thực cơ bản để chuyển mã truy cập OAuth2 trong tiêu đề mang tên.

Sử dụng get_token để lấy và làm mới mã thông báo

Tiện ích get_token trao đổi thông tin xác thực cơ bản của bạn và mật mã để truy cập và mã làm mới OAuth2. Tiện ích get_token chấp nhận thông tin xác thực của bạn và in mã truy cập hợp lệ. Nếu có thể làm mới một mã thông báo, thì mã đó sẽ làm mới và in ra. Nếu mã làm mới hết hạn, mã sẽ nhắc cung cấp thông tin đăng nhập của người dùng.

Tiện ích get_token lưu trữ các mã thông báo trên ổ đĩa và sẵn sàng để sử dụng khi cần. Phương thức này cũng in mã truy cập hợp lệ vào stdout. Từ đó, bạn có thể sử dụng Postman hoặc nhúng Postman đó vào một biến môi trường để dùng trong curl.

Quy trình sau đây mô tả cách sử dụng get_token để lấy mã truy cập OAuth2 nhằm thực hiện lệnh gọi API Quản lý Edge:

  1. Tải gói sso-cli xuống:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    trong đó edge_sso_IP_DNS là địa chỉ IP của tên DNS của máy lưu trữ mô-đun SSO của Edge. Nếu bạn đã định cấu hình TLS trên dịch vụ Đăng nhập một lần (SSO) ở Edge, hãy sử dụng https và số cổng TLS chính xác.

  2. Giải nén gói ssocli-bundle.zip:
    unzip ssocli-bundle.zip
  3. Cài đặt get_token trong /usr/local/bin:
    > ./install Dùng tuỳ chọn -b để chỉ định một vị trí khác: > ./install -b path
  4. Đặt biến môi trường SSO_LOGIN_URL thành URL đăng nhập, có dạng:
    export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    trong đó edge_sso_IP_DNS là địa chỉ IP tên DNS của máy lưu trữ mô-đun SSO của Edge. Nếu bạn đã định cấu hình TLS trên dịch vụ Đăng nhập một lần (SSO) ở Edge, hãy sử dụng https và số cổng TLS chính xác.
  5. Trên trình duyệt, hãy truy cập vào URL sau để lấy mật mã một lần:
    http://edge_sso_IP_DNS:9099/passcode

    Nếu bạn đã định cấu hình TLS cho dịch vụ Đăng nhập một lần (SSO) ở Edge, hãy sử dụng https và đúng số cổng TLS.

    Lưu ý: Nếu hiện chưa đăng nhập qua nhà cung cấp danh tính, bạn sẽ thấy lời nhắc đăng nhập.

    URL này trả về mật mã một lần vẫn có hiệu lực cho đến khi bạn làm mới URL đó để nhận mật mã mới hoặc bạn sử dụng mật mã với get_token để tạo mã truy cập.
  6. Gọi get_token để lấy mã truy cập OAuth2:
    > get_token -u emailAddress

    trong đó emailAddress là địa chỉ email của người dùng Edge. Bạn được nhắc nhập mật mã một lần mà bạn nhận được ở bước 3:
    Mã một lần ( Lấy mã tại https://edge_sso_IP.com/passcode )
    Nhập mật mã nếu SAML đang bật hoặc nhấn ENTER:


    Nhập mật mã. Tiện ích get_token lấy mã truy cập OAuth2, in mã đó lên màn hình rồi ghi mã này và mã làm mới vào ~/.sso-cli.

    Bạn có thể nhập mật mã vào dòng lệnh bằng lệnh get_token trong biểu mẫu:
    > get_token -u emailAddress -p mã mật
  7. Nếu mã truy cập $
    /token của biểu mẫu này sẽ tự động được làm mới $




    access_token

Sau khi mã làm mới hết hạn, get_token sẽ nhắc bạn nhập mật mã mới. Bạn phải truy cập vào URL nêu trên trong Bước 3 rồi tạo một mật mã mới thì mới có thể tạo mã truy cập OAuth mới

Sử dụng API quản lý để lấy và làm mới mã thông báo

Bài viết về cách sử dụng tính năng bảo mật OAuth2 bằng API quản lý Apigee Edge sẽ hướng dẫn cách sử dụng API quản lý Edge để lấy và làm mới mã thông báo. Bạn cũng có thể sử dụng lệnh gọi API Edge cho những mã thông báo được tạo từ câu nhận định SAML.

Điểm khác biệt duy nhất giữa các lệnh gọi API được ghi nhận trong bài viết Sử dụng tính năng bảo mật OAuth2 bằng API quản lý Apigee Edge là URL của lệnh gọi phải tham chiếu đến tên vùng của bạn. Ngoài ra, để tạo mã truy cập ban đầu, bạn phải thêm mật mã, như trình bày trong bước 3 của quy trình trên.

Ví dụ: sử dụng lệnh gọi API sau đây để tạo mã truy cập và làm mới ban đầu:

curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
  -H "accept: application/json;charset=utf-8" /
  -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
  https://edge_sso_IP_DNS:9099/oauth/token -s /
  -d 'grant_type=password&response_type=token&passcode=passcode'  

Để uỷ quyền, hãy chuyển thông tin xác thực ứng dụng OAuth2 được đặt trước trong tiêu đề Uỷ quyền. Lệnh gọi sẽ in mã truy cập và làm mới ra màn hình.

Để làm mới mã truy cập vào lúc khác, hãy sử dụng lệnh gọi sau đây có chứa mã làm mới:

curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
-H "Accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
https://edge_sso_IP_DNS:9099/oauth/token /
-d 'grant_type=refresh_token&refresh_token=refreshToken'