เมื่อมีการปรับปรุงระดับ Apigee SSO ให้ทันสมัยขึ้นในเวอร์ชัน 4.54.00 ตัวกลางระบุตัวตนเบื้องหลังกำหนดให้ใช้การผูกข้อมูลทางอ้อม (ค้นหาและผูกข้อมูล) โดยค่าเริ่มต้น และไม่รองรับการผูกข้อมูลโดยตรง (แบบง่าย) อีกต่อไป Apigee SSO จึงใช้บัญชีบริการแบบอ่านอย่างเดียวที่กำหนดไว้โดยเฉพาะสำหรับการค้นหาไดเรกทอรีเป็นมาตรฐานเพื่อรักษามาตรฐานความปลอดภัยแบบสิทธิ์ขั้นต่ำ
ส่วนนี้อธิบายกลไกที่คุณใช้ LDAP เป็น IDP กับ Apigee Edge for Private Cloud ได้
กลไกการตรวจสอบสิทธิ์: ค้นหาและผูกข้อมูล (การผูกข้อมูลทางอ้อม)
ด้วย ค้นหาและผูกข้อมูล ผู้ใช้จะระบุ RDN (เช่น ชื่อผู้ใช้หรืออีเมล) และรหัสผ่าน จากนั้น Apigee SSO จะค้นหาชื่อที่แยกความแตกต่าง (DN) ของผู้ใช้และพยายามผูกข้อมูล การค้นหาและผูกข้อมูลอนุญาตให้ตรงกันเพียงบางส่วน
ขั้นตอนในการดำเนินการค้นหาและผูกข้อมูลมีดังนี้
- ผู้ใช้ป้อนตัวระบุ เช่น ชื่อผู้ใช้หรืออีเมล รวมถึงรหัสผ่าน
- Apigee SSO จะทำการค้นหาโดยใช้ตัวกรอง LDAP และชุดข้อมูลเข้าสู่ระบบของบัญชีบริการแบบอ่านอย่างเดียว
- หากมีผลลัพธ์ที่ตรงกันเพียงรายการเดียว Apigee SSO จะดึงข้อมูล DN ของผู้ใช้ หากมีผลลัพธ์ที่ตรงกัน 0 รายการหรือมากกว่า 1 รายการ Apigee SSO จะปฏิเสธผู้ใช้
- จากนั้น Apigee SSO จะพยายามผูกข้อมูล DN ของผู้ใช้และรหัสผ่านที่ระบุกับเซิร์ฟเวอร์ LDAP
- เซิร์ฟเวอร์ LDAP จะทำการตรวจสอบสิทธิ์
- หากสำเร็จ Apigee SSO จะแสดงโทเค็น OIDC/OAuth2 ที่ไคลเอ็นต์แนบไปกับคำขอไปยังบริการ Edge ได้
OpenLDAP ภายใน (การกำหนดค่าเริ่มต้น)
หากคุณใช้ Apigee OpenLDAP แบบฝัง (โดยตั้งค่าโฮสต์ LDAP เป็น localhost) กระบวนการติดตั้งจะรักษาความปลอดภัยการกำหนดค่าโดยอัตโนมัติ ในระหว่างการตั้งค่า ระบบจะจัดเตรียมบัญชีบริการแบบสิทธิ์ขั้นต่ำ (cn=sso-reader) โดยอัตโนมัติด้วยข้อมูลลับที่สร้างขึ้นแบบสุ่มและการเข้าถึงแบบอ่านอย่างเดียวที่จำกัด
ข้อมูลเข้าสู่ระบบผู้ดูแลระบบระดับรากของ OpenLDAP (cn=manager) จะถูกนำออกจากไฟล์การกำหนดค่า Apigee SSO เพื่อป้องกันไม่ให้ข้อมูลเข้าสู่ระบบที่มีสิทธิ์สูงปรากฏบนดิสก์
หากคุณใช้ OpenLDAP ภายใน ให้ไปที่ ติดตั้งและกำหนดค่า Apigee SSO
LDAP ขององค์กรภายนอก
หากคุณเชื่อมต่อ Apigee SSO กับไดเรกทอรี LDAP ภายนอก เช่น Active Directory ขององค์กร คุณต้องระบุบัญชีบริการแบบอ่านอย่างเดียวที่จัดเตรียมไว้ล่วงหน้าในไดเรกทอรีก่อนทำการกำหนดค่า Apigee SSO จะใช้บัญชีนี้สำหรับการดำเนินการค้นหาและผูกข้อมูลเท่านั้น
พร็อพเพอร์ตี้การกำหนดค่า LDAP ภายนอก
หากต้องการกำหนดค่าไดเรกทอรี LDAP ภายนอก ให้ระบุรายละเอียดบัญชีบริการแบบอ่านอย่างเดียวในไฟล์การกำหนดค่า สคริปต์ setup-sso จะจัดการการแทรกโทเค็นที่จำเป็นลงในการกำหนดค่าโดยอัตโนมัติ
เพิ่มพร็อพเพอร์ตี้ต่อไปนี้ลงในไฟล์การกำหนดค่า เช่น /opt/silent.conf
ENABLE_SSO=y SSO_EXTERNAL_LDAP=y SSO_LDAP_HOST=corp-ad.company.com SSO_LDAP_PORT=636 # Set to false for secure connection SSO_LDAP_INSECURE_SKIP_VERIFY=false # The DN and password of your pre-provisioned read-only service account SSO_LDAP_BIND_DN="cn=svc-apigee,ou=ServiceAccounts,dc=corp,dc=com" SSO_LDAP_BIND_PW="password" # The base DN for user searches SSO_LDAP_USER_BASE_DN="ou=Employees,dc=corp,dc=com" # The filter used to search for the user SSO_LDAP_USER_FILTER="(&(objectClass=user)(objectCategory=person))" # The attribute containing the user's email address SSO_LDAP_USER_EMAIL_ATTR="mail" # (Optional) The attribute containing the user's ID # SSO_LDAP_USER_ID_ATTR="sAMAccountName" # (Optional) The attribute containing the user's display name # SSO_LDAP_USER_NAME_ATTR="displayName"
หลังจากกำหนดพร็อพเพอร์ตี้เหล่านี้แล้ว ให้ไปที่ ติดตั้งและกำหนดค่า Apigee SSO