Edge for Private Cloud phiên bản 4.17.09
Khi sử dụng SAML với Edge API, quy trình mà bạn dùng để lấy mã truy cập OAuth2 và mã làm mới từ câu nhận định SAML được gọi là quy trình mật mã. Với quy trình mật mã, bạn sử dụng trình duyệt để lấy mật mã một lần, sau đó dùng mật mã này để lấy mã thông báo OAuth2.
Tuy nhiên, môi trường phát triển của bạn có thể hỗ trợ tự động hoá cho các tác vụ phát triển phổ biến, chẳng hạn như tự động hoá kiểm thử hoặc Tích hợp liên tục/Triển khai liên tục (CI/CD). Để tự động hoá các tác vụ này khi bật SAML, bạn cần có cách lấy và làm mới mã thông báo OAuth2 mà không cần phải sao chép/dán mật mã từ trình duyệt.
Edge hỗ trợ tạo mã thông báo tự động thông qua việc sử dụng người dùng máy. Người dùng máy có thể lấy mã thông báo OAuth2 mà không cần chỉ định mật mã. Điều này có nghĩa là bạn có thể tự động hoá hoàn toàn quy trình lấy và làm mới mã thông báo OAuth2 bằng cách sử dụng API quản lý Edge.
Tạo người dùng máy
Sử dụng tiện ích apigee-ssoadminapi.sh để tạo người dùng máy cho một tổ chức SAML. Hãy xem phần Sử dụng apigee-ssoadminapi.sh để biết thêm thông tin. Bạn có thể tạo một người dùng máy duy nhất cho tất cả các tổ chức của mình hoặc tạo một người dùng máy riêng cho từng tổ chức.
Người dùng máy được tạo và lưu trữ trong kho dữ liệu Edge, chứ không phải trong nhà cung cấp danh tính SAML của bạn. Do đó, bạn không chịu trách nhiệm duy trì người dùng máy bằng cách sử dụng API quản lý Edge và giao diện người dùng Edge.
Khi tạo người dùng máy, bạn phải chỉ định địa chỉ email và mật khẩu. Sau khi tạo người dùng máy, bạn chỉ định người dùng đó cho một hoặc nhiều tổ chức.
Cách tạo người dùng máy:
- Sử dụng lệnh apigee-ssoadminapi.sh sau đây để tạo người dùng máy:
> apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME --secret SSO_ADMIN_SECRET --host edge_sso_IP_or_DNS -u machine_user_email -p machine_user_password
trong đó:- SSO_ADMIN_NAME là tên người dùng quản trị viên do thuộc tính SSO_ADMIN_NAME xác định trong tệp cấu hình dùng để định cấu hình mô-đun SSO của Edge. Giá trị mặc định là ssoadmin.
- SSO_ADMIN_SECRET là mật khẩu quản trị viên được chỉ định bởi thuộc tính SSO_ADMIN_SECRET trong tệp cấu hình.
Trong ví dụ này, bạn có thể bỏ qua các giá trị cho --port và --ssl vì mô-đun apigee-sso sử dụng các giá trị mặc định là 9099 cho --port và http cho --ssl. Nếu quá trình cài đặt của bạn không sử dụng các giá trị mặc định này, hãy chỉ định các giá trị đó cho phù hợp.
- Đăng nhập vào giao diện người dùng Edge rồi thêm email của người dùng máy vào tổ chức của bạn, sau đó chỉ định người dùng máy vào vai trò cần thiết. Hãy xem phần Thêm người dùng chung để biết thêm thông tin.
Lấy và làm mới mã thông báo người dùng máy
Sử dụng Edge API để lấy và làm mới mã thông báo OAuth2 bằng cách truyền thông tin đăng nhập của người dùng máy, thay vì mật mã.
Cách lấy mã thông báo OAuth2 cho người dùng máy:
- Sử dụng lệnh gọi API sau để tạo mã truy cập và mã 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 /
http://edge_sso_IP_DNS:9099/oauth/token -s /
-d 'grant_type=password&username=m_user_email&password=m_user_password '
Để uỷ quyền, hãy truyền thông tin xác thực ứng dụng OAuth2 dành riêng trong tiêu đề Authorization. Lệnh gọi sẽ in mã truy cập và mã làm mới ra màn hình. Lưu mã thông báo để sử dụng sau. - Truyền mã truy cập đến lệnh gọi API quản lý Edge dưới dạng tiêu đề Bearer:
> curl -H "Authorization: Bearer access_token" http://ms_IP_DNS:8080/v1/organizations/orgName
trong đó orgName là tên của tổ chức chứa người dùng máy. - Để làm mới mã truy cập sau này, hãy sử dụng lệnh gọi sau đây, trong đó có 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 /
http://edge_sso_IP_DNS:9099/oauth/token /
-d 'grant_type=refresh_token&refresh_token=refreshToken'
Để uỷ quyền, hãy truyền thông tin xác thực ứng dụng OAuth2 dành riêng trong tiêu đề Authorization.
Tạo người dùng máy bằng cách sử dụng API quản lý Edge
Bạn có thể tạo người dùng máy bằng cách sử dụng API quản lý Edge thay vì sử dụng tiện ích apigee-ssoadminapi.sh. Cách tạo người dùng máy:
- Sử dụng lệnh cURL sau để lấy mã thông báo cho người dùng ssoadmin, tên người dùng của tài khoản quản trị viên cho apigee-sso:
> curl "http://edge_sso_IP_DNS:9099/oauth/token" -i -X POST /
-H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' /
-d "response_type=token" -d "grant_type=client_credentials" /
--data-urlencode "client_secret=SSO_ADMIN_SECRET" /
--data-urlencode "client_id=ssoadmin"
trong đó SSO_ADMIN_SECRET là mật khẩu quản trị viên mà bạn đặt khi cài đặt apigee-sso theo chỉ định của thuộc tính SSO_ADMIN_SECRET trong tệp cấu hình.
Lệnh này hiển thị mã thông báo mà bạn cần để thực hiện lệnh gọi tiếp theo. - Sử dụng lệnh cURL sau để tạo người dùng máy, truyền mã thông báo truy cập mà bạn nhận được ở bước trước:
> curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST /
-H "Accept: application/json" -H "Content-Type: application/json" /
-d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' /
-H "Authorization: Bearer token"
Bạn cần mật khẩu người dùng máy trong các bước sau. - Đăng nhập vào giao diện người dùng Edge rồi thêm email của người dùng máy vào tổ chức của bạn, sau đó chỉ định người dùng máy vào vai trò cần thiết. Hãy xem phần Thêm người dùng chung để biết thêm thông tin.