Edge for Private Cloud phiên bản 4.18.05
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.shsau đâ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 trường hợp:
- SSO_ADMIN_NAME là tên người dùng quản trị viên được xác định bằng thuộc tính
SSO_ADMIN_NAMEtrong 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_SECRETtrong tệp cấu hình.
Trong ví dụ này, bạn có thể bỏ qua các giá trị cho
--portvà--sslvì mô-đunapigee-ssosử dụng các giá trị mặc định là 9099 cho--portvà 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. - SSO_ADMIN_NAME là tên người dùng quản trị viên được xác định bằng thuộc tính
- Đă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 đây để 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'
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'
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
curlsau đây để lấy mã thông báo cho người dùngssoadmin, tên người dùng của tài khoản quản trị viên choapigee-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-ssotheo chỉ định của thuộc tínhSSO_ADMIN_SECRETtrong tệp cấu hình.Lệnh này hiển thị một 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
curlsau đây để tạo người dùng máy, truyền mã thông báo 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 có mật khẩu của 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 bài viết Thêm người dùng chung để biết thêm thông tin.