คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
SAML รองรับระบบการลงชื่อเพียงครั้งเดียว (SSO) เมื่อใช้ SAML กับ Edge คุณจะรองรับ SSO ได้ สำหรับ Edge UI และ API นอกเหนือจากบริการ อื่นๆ ที่คุณจัดหาให้ และที่สนับสนุน SAML
สิ่งที่ต้องทำก่อน: คุณต้องเปิดใช้ SAML เป็นเวลาอย่างน้อย องค์กรเดียวก่อน คุณจึงจะใช้องค์กรดังกล่าวเข้าถึง Edge API ได้
ความแตกต่างระหว่าง SAML และ OAuth2
เมื่อตั้งค่า SAML แล้ว การใช้งานจะคล้ายกับการใช้ OAuth2 เพื่อเข้าถึง Edge API เมื่อคุณเรียกใช้ Edge API คุณจะรวมโทเค็นเพื่อการเข้าถึง OAuth2 ไว้ใน คำขอของคุณ
ความแตกต่างที่สำคัญระหว่าง SAML และ OAuth2 เมื่อเข้าถึง Edge API เป็นอุปสรรค คุณก็จะได้รับโทเค็น เมื่อใช้ SAML คุณต้องระบุข้อมูลต่อไปนี้เมื่อรับ คู่โทเค็น:
- โซน: Edge สำหรับผู้ใช้ Cloud สาธารณะต้องอ้างอิงชื่อโซนของตนเมื่อรับโทเค็น
- รหัสผ่าน: ใส่รหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียวเมื่อขอเข้าถึง/รีเฟรช จับคู่โทเค็น
SAML ใช้ปลายทางเดียวกันในบริการ Edge OAuth2 พร้อมเพิ่มชื่อโซนที่เหมาะสม
หากต้องการรับโทเค็นเพื่อการเข้าถึงด้วย SAML คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้ตามคำอธิบายในส่วนนี้
นอกจากนี้ คุณยังทำให้กระบวนการสร้างโทเค็นสำหรับผู้ใช้เครื่องเป็นแบบอัตโนมัติได้ ตามที่อธิบายไว้ในหัวข้อทำให้กระบวนการสร้างโทเค็นเป็นแบบอัตโนมัติ
รับโทเค็นเพื่อการเข้าถึงด้วย get_token
คุณสามารถใช้ยูทิลิตี get_token
เพื่อแลกเปลี่ยนข้อมูลเข้าสู่ระบบสำหรับการเข้าถึง OAuth2 และ
รีเฟรชโทเค็นที่คุณใช้กับ SAML
วิธีรับโทเค็นเพื่อการเข้าถึงด้วย get_token
- ตั้งค่าตัวแปรสภาพแวดล้อม
SSO_LOGIN_URL
เป็น URL สำหรับเข้าสู่ระบบ URL สำหรับเข้าสู่ระบบมี แบบฟอร์มต่อไปนี้https://zoneName.login.apigee.com
เช่น สำหรับโซนชื่อ "acme" ให้ตั้งค่า
SSO_LOGIN_URL
เป็น "https://acme.login.apigee.com" ดังตัวอย่างต่อไปนี้export SSO_LOGIN_URL=https://acme.login.apigee.com
- เรียกใช้
get_token
เพื่อรับโทเค็นเพื่อการเข้าถึง OAuth2get_token -u me@example.com
คุณจะได้รับข้อความแจ้งให้ไปที่ URL ที่ปรากฏเพื่อรับรหัสผ่านแบบใช้ครั้งเดียว
Get passcode from https://acme.login.apigee.com/passcode [Note: Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:
หากไม่ได้ลงชื่อเข้าใช้ผ่านผู้ให้บริการข้อมูลประจำตัวเมื่อเร็วๆ นี้ ระบบจะแจ้งให้คุณลงชื่อเข้าใช้ นิ้ว
URL นี้จะส่งคืนรหัสผ่านแบบใช้ครั้งเดียวซึ่งยังคงใช้ได้จนกว่าคุณจะรีเฟรช URL นั้นเป็น ขอรับรหัสผ่านใหม่ หรือใช้รหัสผ่านกับ
get_token
เพื่อสร้าง โทเค็นเพื่อการเข้าถึง เช่น -
ป้อนรหัสผ่าน ยูทิลิตี
get_token
จะได้รับโทเค็น OAuth2 พิมพ์โทเค็นเพื่อการเข้าถึงไปยังstdout
และเขียนโทเค็นเพื่อการเข้าถึงและรีเฟรช ไปยัง~/.sso-cli
- เรียกใช้ Edge API และส่งโทเค็นเพื่อการเข้าถึงใน
Authorization: Bearer
ตามตัวอย่างต่อไปนี้curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
คัดลอกค่าของโทเค็นเพื่อการเข้าถึงได้จาก
stdout
ตัวอย่างนี้มีรายละเอียดเกี่ยวกับองค์กรที่ระบุ สำหรับรายการการจัดการทั้งหมด ปลายทาง API โปรดดูข้อมูลอ้างอิง Apigee Edge API
เมื่อโทเค็นเพื่อการเข้าถึงหมดอายุ คุณสามารถโทรหา get_token
อีกครั้งเพื่อขอสิทธิ์เข้าถึงใหม่
โทเค็น เช่น
get_token -u me@example.com
ระบบจะไม่แจ้งให้คุณใส่รหัสผ่านใหม่จนกว่าโทเค็นการรีเฟรชจะหมดอายุ
เมื่อโทเค็นการรีเฟรชหมดอายุ get_token
จะแจ้งให้คุณตั้งรหัสผ่านใหม่ คุณต้อง
สร้างรหัสผ่านใหม่ก่อนที่คุณจะสร้างโทเค็นเพื่อการเข้าถึง OAuth2 ใหม่ได้
รับโทเค็นเพื่อการเข้าถึงด้วยบริการ Edge OAuth2
คุณจะใช้บริการ Edge OAuth2 เพื่อรับโทเค็นเพื่อการเข้าถึงที่ใช้กับ SAML ได้ วิธีตรวจสอบสิทธิ์ ด้วย Edge API คุณจะใช้รหัสผ่านในคำขอเริ่มต้นเพื่อขอสิทธิ์เข้าถึง/รีเฟรช คู่โทเค็น และอีกครั้งเพื่อรับคู่โทเค็นใหม่
วิธีจับคู่โทเค็นกับ Edge API
- ในเบราว์เซอร์ ให้ไปที่ URL ต่อไปนี้เพื่อรับรหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว
https://zoneName.login.apigee.com/passcode
ตัวอย่างเช่น สำหรับโซนชื่อ "acme" ให้ไปที่ URL ต่อไปนี้
https://acme.login.apigee.com/passcode
หากไม่ได้ลงชื่อเข้าใช้ผ่านผู้ให้บริการข้อมูลประจำตัวเมื่อเร็วๆ นี้ ระบบจะแจ้งให้คุณลงชื่อเข้าใช้ นิ้ว
URL นี้จะส่งคืนรหัสผ่านแบบใช้ครั้งเดียวซึ่งทำหน้าที่เป็นข้อมูลเข้าสู่ระบบของคุณเพื่อรับโทเค็น และจะยังคงใช้ได้อยู่จนกว่าคุณจะรีเฟรช URL ไปยัง ขอรับรหัสผ่านใหม่ หรือใช้รหัสผ่านกับ
get_token
เพื่อสร้าง โทเค็นเพื่อการเข้าถึง เช่น - ส่งคำขอไปยัง Edge API ตามตัวอย่างต่อไปนี้
curl https://zoneName.login.apigee.com/oauth/token \ -s \ -H "Accept: application/json" \ -d 'grant_type=password&response_type=token&passcode=passcode'
passcode ทำหน้าที่เป็นข้อมูลเข้าสู่ระบบสำหรับการให้สิทธิ์
สถานที่:
- ส่วนหัว
Authorization
คือ "ZWRnZWNsaTplZGdlY2xpc2VjcmV0" พื้นฐาน" (ใช้ส่วนนี้ ค่าที่ตรงกันทั้งหมด) - ประเภทคำขอคือ
POST
- เนื้อหาของคำขอมีข้อมูลต่อไปนี้
grant_type
คือ "password"response_type
คือ "โทเค็น"passcode
โดยที่ passcode คือรหัสผ่านที่ส่งคืนในขั้นตอนก่อนหน้า
การโทรจะพิมพ์โทเค็นเพื่อการเข้าถึงและรีเฟรชไปยังหน้าจอ
- ส่วนหัว
วิธีรีเฟรชโทเค็นเพื่อการเข้าถึง
ส่งคำขอไปยัง https://zoneName.login.apigee.com/oauth/token
ดังตัวอย่างต่อไปนี้
curl https://zoneName.login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'
สถานที่:
- เนื้อหาของคำขอมีข้อมูลต่อไปนี้
grant_type
คือ "refresh_token"refresh_token
คือค่าของโทเค็นการรีเฟรช
- ส่วนหัว
Authorization
คือ "ZWRnZWNsaTplZGdlY2xpc2VjcmV0" พื้นฐาน" (ใช้ส่วนนี้ ค่าที่ตรงกันทั้งหมด) - ประเภทคำขอคือ
POST
เข้าถึง Edge API ด้วย SAML
คุณจะใช้เครื่องมือต่างๆ เช่น curl
หรือยูทิลิตี้ความสะดวกสําหรับ Apigee acurl
ได้
ถึง
เข้าถึง Edge API
เมื่อใช้ curl
คุณจะเรียกใช้ Edge API และส่งโทเค็นเพื่อการเข้าถึงใน
Authorization: Bearer
ตามตัวอย่างต่อไปนี้
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
เมื่อใช้ acurl
คุณไม่จำเป็นต้องระบุส่วนหัว Authorization
เช่น
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
ตัวอย่างเหล่านี้เรียกอุปกรณ์ปลายทาง Edge API ที่ได้รับรายละเอียดเกี่ยวกับองค์กรที่ระบุ ดูรายการปลายทาง Edge API ทั้งหมดได้ที่ข้อมูลอ้างอิง Apigee Edge API
สำหรับวิธีอื่นๆ ในการเรียกใช้ API ซึ่งรวมถึงวิธีตรวจสอบว่าโทเค็นของคุณยังคงอยู่ ใหม่ที่หัวข้อเข้าถึง Edge API ด้วย OAuth2
ผู้ใช้เครื่องในโซน SAML
คุณสามารถใช้ยูทิลิตี acurl
และ get_token
เพื่อเขียนสคริปต์การเข้าถึงแบบอัตโนมัติได้
ไปยัง Edge API สำหรับผู้ใช้เครื่องในโซน SAML
ตัวอย่างต่อไปนี้จะแสดงวิธีการ
ใช้ get_token
เพื่อ
ขอโทเค็นเพื่อการเข้าถึง แล้วเพิ่มค่าโทเค็นลงในการเรียก curl
:
USER=me@example.com
PASS=not-that-secret
TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'
ในตัวอย่างข้างต้น การตั้งค่า -m
เป็นสตริงว่างเปล่าจะป้องกันไม่ให้ผู้ใช้เครื่อง
ไม่ให้ถูกขอให้ป้อนรหัส MFA การใช้แฟล็ก --force-basic-auth
จะลบล้าง
ข้อความแจ้งมาตรฐานสำหรับรหัสผ่านที่ทริกเกอร์โดยคำขอที่มีโซน SAML
หรือรวมคำขอโทเค็นและการเรียกใช้ curl
โดยใช้ยูทิลิตี acurl
ก็ได้
เช่น
USER=me@example.com
PASS=not-that-secret
acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'