ติดตั้งและกําหนดค่า SSO ของ Apigee

ตั้งแต่ OPDK 4.54.00 เป็นต้นมา เราได้ปรับปรุงสถาปัตยกรรม SSO ให้ทันสมัยขึ้น โดยตอนนี้โบรกเกอร์ข้อมูลประจำตัว (Dex) ได้ฝังอยู่ในคอมโพเนนต์ apigee-openldap โดยตรงแล้ว จึงไม่จำเป็นต้องติดตั้งโมดูล apigee-sso เดิมแยกต่างหาก

หากต้องการเปิดใช้และกำหนดค่า Apigee SSO คุณต้องทำดังนี้

  1. สร้างผู้ใช้เครื่องสำหรับ New Edge UI: สร้างผู้ใช้เครื่องที่ New Edge UI ต้องใช้เพื่อเรียกใช้ Management API
  2. กำหนดค่าพร็อพเพอร์ตี้ในไฟล์การกำหนดค่าทั่วไป: สร้างไฟล์การกำหนดค่าเดียวที่มีพร็อพเพอร์ตี้ที่บริการ OpenLDAP (SSO) และ New Edge UI ต้องใช้
  3. สร้างฐานข้อมูล SSO ใน Postgres: สร้างฐานข้อมูลสำหรับ SSO ในอินสแตนซ์ Apigee PostgreSQL
  4. ใช้การกำหนดค่า SSO ใน OpenLDAP: ใช้ไฟล์การกำหนดค่าเพื่อเริ่ม Apigee SSO ที่ผสานรวมในโหนด OpenLDAP
  5. กำหนดค่า 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
  1. เข้าสู่ระบบโหนดที่โฮสต์ apigee-openldap
  2. เรียกใช้คำสั่ง 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 เนื่องจากระบบจะรีเฟรชโทเค็นที่หมดอายุโดยอัตโนมัติ

  1. เข้าสู่ระบบโหนดที่โฮสต์ New Edge UI
  2. ตรวจสอบว่าไฟล์ /opt/silent.conf พร้อมใช้งานในโหนดนี้
  3. ใช้การกำหนดค่าโดยใช้สคริปต์ setup ดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf