ตั้งแต่ OPDK 4.54.00 เป็นต้นมา เราได้ปรับปรุงสถาปัตยกรรม SSO ให้ทันสมัยขึ้น โดยตอนนี้โบรกเกอร์ข้อมูลประจำตัว (Dex) ได้ฝังอยู่ในคอมโพเนนต์ apigee-openldap โดยตรงแล้ว จึงไม่จำเป็นต้องติดตั้งโมดูล apigee-sso เดิมแยกต่างหาก
หากต้องการเปิดใช้และกำหนดค่า Apigee SSO คุณต้องทำดังนี้
- สร้างผู้ใช้เครื่องสำหรับ New Edge UI: สร้างผู้ใช้เครื่องที่ New Edge UI ต้องใช้เพื่อเรียกใช้ Management API
- กำหนดค่าพร็อพเพอร์ตี้ในไฟล์การกำหนดค่าทั่วไป: สร้างไฟล์การกำหนดค่าเดียวที่มีพร็อพเพอร์ตี้ที่บริการ OpenLDAP (SSO) และ New Edge UI ต้องใช้
- สร้างฐานข้อมูล SSO ใน Postgres: สร้างฐานข้อมูลสำหรับ SSO ในอินสแตนซ์ Apigee PostgreSQL
- ใช้การกำหนดค่า SSO ใน OpenLDAP: ใช้ไฟล์การกำหนดค่าเพื่อเริ่ม Apigee SSO ที่ผสานรวมในโหนด OpenLDAP
- กำหนดค่า New Edge UI: อัปเดตพร็อพเพอร์ตี้ New Edge UI เพื่อใช้ Apigee SSO ใหม่
เราจะอธิบายขั้นตอนเหล่านี้แต่ละขั้นตอนในส่วนต่อไปนี้
สร้างผู้ใช้เครื่องสำหรับ UI
New Edge UI ต้องมีผู้ใช้เครื่องเพื่อเรียกใช้ Management API
ในแบ็กเอนด์สำหรับการดำเนินการบางอย่าง โดยเราจะใช้สคริปต์ที่ติดตั้งไว้ล่วงหน้าในโหนด
apigee-openldap เพื่อวัตถุประสงค์นี้
อ่านข้อมูลเพิ่มเติมเกี่ยวกับสคริปต์และผู้ใช้เครื่องได้ที่ Using the apigee-machine-user script
ใช้คำสั่งต่อไปนี้ในโหนด apigee-openldap
เพื่อสร้างผู้ใช้เครื่องสำหรับ New Edge UI และตรวจสอบว่า
ใช้ข้อมูลเข้าสู่ระบบเดียวกันทุกประการเมื่อกำหนดพร็อพเพอร์ตี้
ในไฟล์การกำหนดค่าในขั้นตอนถัดไป
/opt/apigee/apigee-openldap/bin/apigee-machineuser.sh add -u ui-machine-user@apigee.com -p Secret123
กำหนดค่าพร็อพเพอร์ตี้ในไฟล์การกำหนดค่าทั่วไป
คุณต้องกำหนดไฟล์การกำหนดค่าทั่วไป (เช่น /opt/silent.conf) ก่อนจึงจะเปิดใช้ Apigee SSO และ New Edge UI ได้ โดยคุณสามารถเปลี่ยนเส้นทางและชื่อไฟล์นี้ได้ตามต้องการสำหรับสภาพแวดล้อมของคุณ
เพิ่มพร็อพเพอร์ตี้การกำหนดค่าพื้นฐานต่อไปนี้ลงใน /opt/silent.conf
# ========================================== # SSO Enablement # ========================================== ENABLE_SSO=y # ========================================== # SSO Hostname/IP and Port config for Dex # ========================================== SSO_PUBLIC_URL_SCHEME=http SSO_PUBLIC_URL_HOSTNAME=localhost SSO_PUBLIC_URL_PORT=9099 # ========================================== # Static Client UI credentials # ========================================== MANAGEMENT_UI_SSO_CLIENT_ID=unifiedui MANAGEMENT_UI_SSO_CLIENT_SECRET=secret123 # ========================================== # Management UI & SSO redirect URLs # ========================================== MANAGEMENT_UI_SCHEME=http MANAGEMENT_UI_IP=localhost MANAGEMENT_UI_PORT=3001 # ========================================== # Management Server parameters (Required for SSO registration) # ========================================== MSIP=localhost ADMIN_EMAIL=admin@apigee.com APIGEE_ADMINPW=Secret123 # ========================================== # Machine user for UI # ========================================== UI_MACHINE_USER=ui-machine-user@apigee.com UI_MACHINE_PWD=Secret123 # ========================================== # Postgres connection parameters # ========================================== PG_HOST=postgres_host PG_USER=apigee PG_PWD=postgres_password # ========================================== # Other UI Parameters # ========================================== # Set to sso to enable SSO, default value is basic. AUTH_MODE=sso # Y to use internal LDAP for authentication, N to use external IDP SSO_LOCAL_LDAP=y MANAGEMENT_UI_APP_ENV=OPDK MANAGEMENT_UI_SSO_ENABLED=y MANAGEMENT_UI_SSO_CSRF_SECRET=secret MANAGEMENT_UI_SSO_CSRF_EXPIRATION_HOURS=24 MANAGEMENT_UI_SSO_STRICT_TRANSPORT_SECURITY_AGE_HOURS=24 MANAGEMENT_UI_SSO_PUBLIC_KEY_CACHE_HOURS=0.5
การกระจายพร็อพเพอร์ตี้ SSO
พร็อพเพอร์ตี้ Apigee SSO จะกระจายอยู่ในไฟล์การกำหนดค่าต่อไปนี้
/opt/silent.conf(หรือไฟล์การกำหนดค่าที่กำหนดเอง): มีพร็อพเพอร์ตี้การกำหนดค่าพื้นฐานสำหรับ SSO และ New Edge UI/opt/apigee/customer/application/openldap.properties: มีพร็อพเพอร์ตี้การกำหนดค่า SSO เพิ่มเติมสำหรับฟีเจอร์ที่ไม่บังคับ เช่น SAML และ HTTPS
สคริปต์ setup-sso ในคอมโพเนนต์ apigee-openldap จะแยกวิเคราะห์ตัวแปรจากไฟล์ทั้ง 2 ข้างต้น คุณต้องกำหนดค่าพร็อพเพอร์ตี้ที่เกี่ยวข้องในไฟล์การกำหนดค่าตามกรณีการใช้งาน
ขั้นตอนต่อไปนี้เป็นขั้นตอนที่ไม่บังคับและขึ้นอยู่กับสภาพแวดล้อมของคุณ
สร้างฐานข้อมูล SSO ใน Postgres
สร้างฐานข้อมูลสำหรับ SSO ในโหนดที่เรียกใช้ apigee-postgresql (โหนดหลักในการตั้งค่า หลัก-สำรอง) โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-sso-db
ใช้การกำหนดค่า SSO ใน OpenLDAP
เนื่องจาก Apigee SSO ฝังอยู่ในคอมโพเนนต์ไดเรกทอรี คุณจึงไม่จำเป็นต้องติดตั้งแพ็กเกจแบบสแตนด์อโลน เพียงใช้ไฟล์การกำหนดค่ากับโหนด OpenLDAP
วิธีเปิดใช้และเริ่ม Apigee SSO- เข้าสู่ระบบโหนดที่โฮสต์
apigee-openldap - เรียกใช้คำสั่ง
setup-ssoโดยส่งไฟล์การกำหนดค่า/opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
กำหนดค่า New Edge UI
เมื่อ Apigee SSO ทำงานแล้ว คุณต้องกำหนดค่า New Edge UI ให้สื่อสารกับ Apigee SSO
หลังจากเปิดใช้ IDP ภายนอกใน New Edge UI แล้ว New Edge UI จะใช้ OIDC/OAuth2 เพื่อเชื่อมต่อกับเซิร์ฟเวอร์การจัดการ คุณจึงไม่ต้องกังวลเรื่องโทเค็นหมดอายุระหว่าง New Edge UI กับเซิร์ฟเวอร์การจัดการ Edge เนื่องจากระบบจะรีเฟรชโทเค็นที่หมดอายุโดยอัตโนมัติ
- เข้าสู่ระบบโหนดที่โฮสต์ New Edge UI
- ตรวจสอบว่าไฟล์
/opt/silent.confพร้อมใช้งานในโหนดนี้ - ใช้การกำหนดค่าโดยใช้สคริปต์
setupดังนี้/opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf