Edge for Private Cloud v. 4.17.09
เมื่อใช้ SAML กับ Edge API กระบวนการที่คุณใช้รับสิทธิ์เข้าถึง OAuth2 และโทเค็นรีเฟรชจากข้อความยืนยัน SAML จะเรียกว่าขั้นตอนรหัสผ่าน เมื่อใช้ขั้นตอนรหัสผ่าน คุณจะใช้เบราว์เซอร์เพื่อรับรหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว จากนั้นจะใช้รหัสผ่านดังกล่าวเพื่อรับโทเค็น OAuth2
อย่างไรก็ตาม สภาพแวดล้อมการพัฒนาอาจรองรับการทำงานอัตโนมัติสำหรับงานพัฒนาทั่วไป เช่น การทดสอบอัตโนมัติหรือการรวมอย่างต่อเนื่อง/การติดตั้งใช้งานอย่างต่อเนื่อง (CI/CD) หากต้องการทำให้งานเหล่านี้ทำงานอัตโนมัติเมื่อเปิดใช้ SAML คุณต้องมีวิธีรับและรีเฟรชโทเค็น OAuth2 โดยไม่ต้องคัดลอก/วางรหัสผ่านจากเบราว์เซอร์
Edge รองรับการสร้างโทเค็นอัตโนมัติผ่านการใช้ผู้ใช้ที่เป็นเครื่องจักร ผู้ใช้เครื่องรับโทเค็น OAuth2 ได้โดยไม่ต้องระบุรหัสผ่าน ซึ่งหมายความว่าคุณสามารถทำให้กระบวนการรับและรีเฟรชโทเค็น OAuth2 เป็นไปโดยอัตโนมัติได้โดยใช้ Edge Management API
สร้างผู้ใช้เครื่อง
ใช้ยูทิลิตี apigee-ssoadminapi.sh เพื่อสร้างผู้ใช้เครื่องสำหรับองค์กร SAML ดูข้อมูลเพิ่มเติมได้ที่การใช้apigee-ssoadminapi.sh คุณสามารถสร้างผู้ใช้เครื่องเดียวที่องค์กรทั้งหมดใช้ หรือสร้างผู้ใช้เครื่องแยกต่างหากสำหรับแต่ละองค์กรก็ได้
ระบบจะสร้างและจัดเก็บผู้ใช้เครื่องไว้ในที่เก็บข้อมูล Edge ไม่ใช่ในผู้ให้บริการข้อมูลประจำตัว SAML คุณจึงไม่ต้องรับผิดชอบในการดูแลรักษาผู้ใช้เครื่องโดยใช้ UI ของ Edge และ Edge Management API
เมื่อสร้างผู้ใช้เครื่อง คุณต้องระบุอีเมลและรหัสผ่าน หลังจากสร้างผู้ใช้เครื่องแล้ว ให้กำหนดผู้ใช้เครื่องให้กับองค์กรอย่างน้อย 1 องค์กร
วิธีสร้างผู้ใช้เครื่อง
- ใช้คำสั่ง apigee-ssoadminapi.sh ต่อไปนี้เพื่อสร้างผู้ใช้เครื่อง
> 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
โดยที่- SSO_ADMIN_NAME คือชื่อผู้ใช้ผู้ดูแลระบบที่กําหนดโดยพร็อพเพอร์ตี้ SSO_ADMIN_NAME ในไฟล์กําหนดค่าที่ใช้กําหนดค่าโมดูล SSO ของ Edge ค่าเริ่มต้นคือ ssoadmin
- SSO_ADMIN_SECRET คือรหัสผ่านผู้ดูแลระบบตามที่ระบุโดยพร็อพเพอร์ตี้ SSO_ADMIN_SECRET ในไฟล์การกําหนดค่า
ในตัวอย่างนี้ คุณละเว้นค่าสำหรับ --port และ --ssl ได้ เนื่องจากโมดูล apigee-sso ใช้ค่าเริ่มต้น 9099 สำหรับ --port และ http สำหรับ --ssl หากการติดตั้งไม่ได้ใช้ค่าเริ่มต้นเหล่านี้ ให้ระบุค่าเริ่มต้นตามความเหมาะสม
- เข้าสู่ระบบ UI ของ Edge และเพิ่มอีเมลของผู้ใช้เครื่องไปยังองค์กร แล้วมอบหมายผู้ใช้เครื่องให้บทบาทที่จำเป็น ดูข้อมูลเพิ่มเติมได้ที่การเพิ่มผู้ใช้ทั่วโลก
รับและรีเฟรชโทเค็นผู้ใช้เครื่อง
ใช้ Edge API เพื่อรับและรีเฟรชโทเค็น OAuth2 โดยส่งข้อมูลเข้าสู่ระบบของผู้ใช้เครื่องแทนรหัสผ่าน
วิธีรับโทเค็น OAuth2 สำหรับผู้ใช้เครื่อง
- ใช้การเรียก API ต่อไปนี้เพื่อสร้างโทเค็นการเข้าถึงและโทเค็นรีเฟรชเริ่มต้น
> 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 '
สำหรับการให้สิทธิ์ ให้ส่งข้อมูลเข้าสู่ระบบไคลเอ็นต์ OAuth2 ที่สงวนไว้ในส่วนหัว Authorization การเรียกใช้นี้จะพิมพ์โทเค็นการเข้าถึงและโทเค็นการรีเฟรชบนหน้าจอ บันทึกโทเค็นไว้ใช้ภายหลัง - ส่งโทเค็นการเข้าถึงไปยังการเรียก API การจัดการ Edge เป็นส่วนหัว Bearer
> curl -H "Authorization: Bearer access_token" http://ms_IP_DNS:8080/v1/organizations/orgName
โดยที่ orgName คือชื่อองค์กรที่มีผู้ใช้เครื่อง - หากต้องการรีเฟรชโทเค็นการเข้าถึงในภายหลัง ให้ใช้การเรียกที่มีโทเค็นรีเฟรชต่อไปนี้
> 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'
สำหรับการให้สิทธิ์ ให้ส่งข้อมูลเข้าสู่ระบบไคลเอ็นต์ OAuth2 ที่สงวนไว้ในส่วนหัว Authorization
สร้างผู้ใช้เครื่องโดยใช้ Edge Management API
คุณสามารถสร้างผู้ใช้เครื่องโดยใช้ Edge Management API แทนการใช้ยูทิลิตี apigee-ssoadminapi.sh วิธีสร้างผู้ใช้เครื่อง
- ใช้คําสั่ง cURL ต่อไปนี้เพื่อรับโทเค็นสําหรับผู้ใช้ ssoadmin ซึ่งเป็นชื่อผู้ใช้ของบัญชีผู้ดูแลระบบสําหรับ 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"
โดยที่ SSO_ADMIN_SECRET คือรหัสผ่านผู้ดูแลระบบที่คุณตั้งไว้เมื่อติดตั้ง apigee-sso ตามที่ระบุไว้ในพร็อพเพอร์ตี้ SSO_ADMIN_SECRET ในไฟล์การกําหนดค่า
คําสั่งนี้จะแสดงโทเค็นที่จําเป็นสําหรับการโทรครั้งถัดไป - ใช้คำสั่ง cURL ต่อไปนี้เพื่อสร้างผู้ใช้เครื่อง โดยส่งโทเค็นที่คุณได้รับในขั้นตอนก่อนหน้า
> 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"
คุณต้องใช้รหัสผ่านของผู้ใช้เครื่องในขั้นตอนต่อๆ ไป - เข้าสู่ระบบ UI ของ Edge และเพิ่มอีเมลของผู้ใช้เครื่องไปยังองค์กร แล้วมอบหมายผู้ใช้เครื่องให้บทบาทที่จำเป็น ดูข้อมูลเพิ่มเติมได้ที่การเพิ่มผู้ใช้ทั่วโลก