Edge for Private Cloud phiên bản 4.18.05
Khi dùng SAML với API Edge, đây là quy trình mà bạn dùng để lấy quyền truy cập OAuth2 và mã làm mới từ thông tin xác nhận SAML được gọi là quy trình mật mã. Với luồng mật mã, bạn dùng trình duyệt để lấy mật mã một lần mà sau đó bạn sẽ dùng để 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ính năng tự động hoá cho các nhiệm vụ phát triển phổ biến, chẳng hạn như tự động hoá thử nghiệm hoặc Tích hợp liên tục/Triển khai liên tục (CI/CD). Để tự động hoá những tác vụ này khi SAML được bật, bạn cần có cách nào đó để lấy và làm mới mã thông báo OAuth2 mà không phải sao chép/dán mật mã từ trình duyệt.
Edge hỗ trợ việc tạo mã thông báo tự động thông qua 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ã. Tức 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 apigee-ssoadminapi.sh
để tạo người dùng máy cho tổ chức SAML. Xem phần Sử dụng
apigee-ssoadminapi.sh để biết thêm. Bạn có thể tạo một người dùng máy duy nhất được sử dụng bởi tất cả
hoặc tạo người dùng máy riêng cho mỗi tổ chức.
Người dùng máy được tạo và lưu trữ trong kho dữ liệu của Edge, không phải trong danh tính SAML của bạn Google Cloud. Do đó, bạn không có trách nhiệm duy trì người dùng máy bằng cách sử dụng Edge API quản lý giao diện người dùng và 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 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:
- Hã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 trường hợp:
- SSO_ADMIN_NAME là tên người dùng quản trị viên do
Cơ sở lưu trú
SSO_ADMIN_NAME
ở tệp cấu hình dùng để định cấu hình mô-đun SSO của cạnh. Mặc định làssoadmin
. - SSO_ADMIN_SECRET là mật khẩu quản trị viên như đượ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ô-đunapigee-sso
sử dụng chế độ mặc định giá trị là 9099 cho--port
và http cho--ssl
. Nếu quá trình cài đặt không sử dụng các giá trị mặc định này, hãy chỉ định chúng nếu thích hợp. - SSO_ADMIN_NAME là tên người dùng quản trị viên do
Cơ sở lưu trú
- Đăng nhập vào giao diện người dùng Edge rồi thêm email của người dùng trên máy vào tổ chức của bạn rồi chỉ định người dùng máy vào vai trò cần thiết. Xem phần Thêm người dùng toàn cầu cho khác.
Lấy và làm mới mã thông báo người dùng trên máy
Sử dụng API Edge để lấy và làm mới mã thông báo OAuth2 bằng cách truyền mã thông tin xác thực 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 ban đầu và 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 -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
Lưu mã thông báo để sử dụng sau này.
- Truyền mã truy cập vào 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 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 bao gồm cả quá trình làm mới
mã thông báo:
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 Edge API quản lý
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:
- Dùng lệnh
curl
sau để 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ênapigee-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ị mà bạn đã đặt khi cài đặt
apigee-sso
theo chỉ định của thuộc tínhSSO_ADMIN_SECRET
trong config của bạn.Lệnh này hiện 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
curl
sau đây để tạo người dùng trên máy, chuyể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 sẽ cần mật khẩu của người dùng máy ở 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 trên máy vào tổ chức của bạn rồi 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 toàn cầu để tìm hiểu thêm.