ส่วนนี้จะอธิบายวิธีเรียกใช้เครื่องมือและคำสั่งของผู้ดูแลระบบ Edge หลังจากเปิดใช้ Apigee SSO งานจำนวนมากใน Edge ต้องใช้ข้อมูลเข้าสู่ระบบของผู้ดูแลระบบ เช่น
- การสร้างองค์กรและสภาพแวดล้อม
- การเพิ่มและนำคอมโพเนนต์ Edge ออก
- การเรียกใช้คำสั่ง
apigee-adminapi.sh
อย่างไรก็ตาม หลังจากเปิดใช้ SSO ใน Edge แล้ว โดยปกติคุณจะปิดใช้การตรวจสอบสิทธิ์พื้นฐานเพื่อให้วิธีเดียว ในการตรวจสอบสิทธิ์คือผ่าน OIDC/SAML IDP ดังนั้น คุณต้องตรวจสอบว่าได้เพิ่มบัญชีผู้ดูแลระบบ ลงใน IDP หรือสร้างผู้ใช้เครื่องในเครื่องสำหรับการทำงานอัตโนมัติ
การเรียกใช้ Edge Management API ในฐานะ ผู้ดูแลระบบ
การเรียก API ของ Edge หลายรายการกำหนดให้คุณต้องส่งข้อมูลเข้าสู่ระบบของผู้ดูแลระบบ การใช้ SAML กับ Edge Management API มีวิธีการรับและโทเค็นการรีเฟรชโดยใช้ยูทิลิตี get_token เมื่อทำการเรียก API Edge Management API
การใช้ยูทิลิตี apigee-adminapi.sh กับ Apigee SSO
ใช้ยูทิลิตี apigee-adminapi.sh เพื่อทำงานการกำหนดค่า Edge เดียวกัน
กับที่คุณทำโดยการเรียก Edge Management API ข้อดีของยูทิลิตี
apigee-adminapi.sh คือ
- ใช้อินเทอร์เฟซบรรทัดคำสั่งที่เรียบง่าย
- ใช้การเติมคำสั่งอัตโนมัติแบบแท็บ
- ให้ข้อมูลความช่วยเหลือและการใช้งาน
- สามารถแสดงการเรียก API ที่เกี่ยวข้องได้หากคุณตัดสินใจลองใช้ API
หลังจากเปิดใช้ Apigee SSO แล้ว คุณจะมี 2 วิธีหลักๆ ในการส่งข้อมูลเข้าสู่ระบบไปยังยูทิลิตี apigee-adminapi.sh โดยขึ้นอยู่กับว่าคุณเป็นผู้ดูแลระบบที่เป็นบุคคลจริงหรือสคริปต์อัตโนมัติ
คุณสามารถดูตัวเลือกทั้งหมดสำหรับคำสั่ง apigee-adminapi.sh รวมถึง
ตัวเลือกในการระบุข้อมูลเข้าสู่ระบบ SSO ได้โดยใช้ตัวเลือก -h กับคำสั่ง เช่น
apigee-adminapi.sh orgs list -h
การส่งโทเค็นสำหรับผู้ถือ (สำหรับผู้ดูแลระบบที่เป็นบุคคลจริง)
เนื่องจาก Apigee SSO ที่ปรับปรุงใหม่ไม่รองรับโฟลว์การคัดลอกและวาง /passcode แบบเดิม ผู้ดูแลระบบที่เป็นบุคคลจริงจึงต้องใช้ยูทิลิตี get_token เพื่อดำเนินการโฟลว์รหัสอุปกรณ์ OAuth 2.0 ให้เสร็จสมบูรณ์ จากนั้นส่งโทเค็นที่ได้ไปยังสคริปต์
ขั้นแรก ให้รับโทเค็นโดยทำดังนี้
/opt/apigee/apigee-openldap/bin/get_token -u adminEmail
จากนั้นใช้โทเค็นเมื่อเรียกคำสั่งโดยทำดังนี้
apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode \ --admin adminEmail --oauth-token token_string
โดยที่
oauth-flowระบุpasscode(ซึ่งส่งสัญญาณไปยังสคริปต์เดิมว่ามีการระบุโทเค็น)oauth-tokenมีสตริง JWT ดิบที่ได้รับจากget_token
การส่งรหัสผ่าน (สำหรับผู้ใช้เครื่องเท่านั้น)
หากคุณกำลังทำให้การติดตั้งใช้งานโครงสร้างพื้นฐานเป็นแบบอัตโนมัติ คุณสามารถส่งข้อมูลเข้าสู่ระบบได้โดยตรงโดยใช้โฟลว์ password_grant อย่างไรก็ตาม หากเปิดใช้การผสานรวม SAML/OIDC ไว้ ระบบจะบล็อกผู้ใช้เงาที่เป็นบุคคลจริงไม่ให้เข้าสู่ระบบด้วยรหัสผ่าน เพื่อป้องกันการข้าม MFA คุณต้องจัดสรรผู้ใช้เครื่องที่ชัดเจนใน OpenLDAP ก่อน
apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant \ --admin machineUserEmail --oauth-password machineUserPassword
โดยที่
- ตัวเลือก
sso-urlจะระบุ URL ของ Apigee SSO แก้ไขพอร์ต หรือโปรโตคอลหากคุณเปลี่ยนจาก 9099 และ HTTP oauth-flowระบุpassword_grant- machineUserEmail คืออีเมลของผู้ใช้เครื่องอัตโนมัติ
oauth-passwordระบุรหัสผ่านของผู้ใช้เครื่อง
การใช้ยูทิลิตี Edge กับ Apigee SSO
ยูทิลิตี Edge หลายรายการต้องใช้ข้อมูลเข้าสู่ระบบของผู้ดูแลระบบ เช่น
apigee-provisionใช้เพื่อสร้างองค์กร สภาพแวดล้อม และโฮสต์เสมือนsetup.shใช้เพื่อเพิ่มโหนดลงในระบบที่มีอยู่- ยูทิลิตีอื่นๆ ที่คุณต้องระบุข้อมูลเข้าสู่ระบบของผู้ดูแลระบบในไฟล์การกำหนดค่า
ยูทิลิตีเหล่านี้รับไฟล์การกำหนดค่าที่ระบุข้อมูลเข้าสู่ระบบของผู้ดูแลระบบ เป็นอินพุต ก่อนที่จะเปิดใช้ SSO คุณจะทำได้โดยใช้พร็อพเพอร์ตี้ต่อไปนี้
ADMIN_EMAIL="adminEmail" APIGEE_ADMINPW="adminPWord"
หลังจากเปิดใช้ Apigee SSO แล้ว คุณต้องใช้พร็อพเพอร์ตี้อื่นเพื่อระบุข้อมูลเข้าสู่ระบบของผู้ดูแลระบบ
การใช้โทเค็นผู้รับมอบสิทธิ์ (สำหรับผู้ดูแลระบบที่เป็นบุคคลจริง)
สำหรับการติดตั้งใช้งานแบบโต้ตอบโดยผู้ดูแลระบบที่เป็นบุคคลจริง ให้รับโทเค็นโดยใช้ยูทิลิตี get_token แล้วระบุโทเค็นผ่านพร็อพเพอร์ตี้ OAUTH_BEARER_TOKEN โดยทำดังนี้
ADMIN_EMAIL="adminEmail" SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099" OAUTH_FLOW="passcode" OAUTH_BEARER_TOKEN="token_string"
โดยที่
OAUTH_FLOWระบุpasscode(ส่งสัญญาณว่ามีการระบุโทเค็น)OAUTH_BEARER_TOKENมีสตริง JWT ดิบที่ได้รับจากget_token
การใช้รหัสผ่าน (สำหรับผู้ใช้เครื่องเท่านั้น)
สำหรับการติดตั้งใช้งานแบบอัตโนมัติเต็มรูปแบบ ให้ระบุข้อมูลเข้าสู่ระบบของผู้ใช้เครื่องที่จัดสรรไว้อย่างชัดเจนโดยใช้โฟลว์ password_grant โดยทำดังนี้
ADMIN_EMAIL="machineUserEmail" SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099" OAUTH_FLOW="password_grant" OAUTH_ADMIN_PASSWORD="machineUserPassword"
โดยที่
SSO_LOGIN_URLระบุ URL ของ Apigee SSOOAUTH_FLOWระบุpassword_grantOAUTH_ADMIN_PASSWORDระบุรหัสผ่านของผู้ใช้เครื่อง