การใช้ยูทิลิตีและ API ของผู้ดูแลระบบ Edge หลังจากเปิดใช้ Apigee SSO

ส่วนนี้จะอธิบายวิธีเรียกใช้เครื่องมือและคำสั่งของผู้ดูแลระบบ 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 SSO
  • OAUTH_FLOW ระบุ password_grant
  • OAUTH_ADMIN_PASSWORD ระบุรหัสผ่านของผู้ใช้เครื่อง