กำหนดค่า SSO ของ Apigee สำหรับการเข้าถึง HTTPS

หัวข้อติดตั้งและกำหนดค่า Apigee SSO อธิบายวิธี ติดตั้งและกำหนดค่า Apigee SSO ให้ใช้ HTTP ในพอร์ตเริ่มต้น 9099 โดยค่าเริ่มต้น Apigee SSO จะใช้ HTTP

หากต้องการเปิดใช้การเข้าถึง HTTPS คุณสามารถกำหนดค่า Apigee SSO โดยใช้โหมดใดโหมดหนึ่งต่อไปนี้

  • SSL_PROXY: กำหนดค่า Apigee SSO ในโหมดพร็อกซี ซึ่งหมายความว่าคุณได้ติดตั้งตัวจัดสรรภาระงานไว้หน้าโหนด OpenLDAP และสิ้นสุด TLS ในตัวจัดสรรภาระงาน Apigee SSO จะรับฟังใน HTTP แต่จะออก URL โดยใช้รูปแบบ HTTPS ของตัวจัดสรรภาระงาน
  • SSL_TERMINATION: เปิดใช้การเข้าถึง TLS โดยตรงใน Apigee SSO ใน พอร์ตที่คุณเลือก คุณต้องระบุใบรับรองและคีย์ส่วนตัวที่เข้ารหัส PEM มาตรฐานสำหรับโหมดนี้

คุณสามารถเลือกเปิดใช้ HTTPS ในตอนที่ติดตั้งและกำหนดค่า Apigee SSO ในครั้งแรก หรือจะเปิดใช้ในภายหลังก็ได้

ส่วนต่อไปนี้อธิบายโทเค็นเพิ่มเติม ที่จะต้องอัปเดตในไฟล์การกำหนดค่า (/opt/silent.conf และ /opt/apigee/customer/application/openldap.properties) สคริปต์ setup-sso จะแยกวิเคราะห์ตัวแปรจากทั้ง 2 ไฟล์โดยอัตโนมัติ ใช้การกำหนดค่า และเริ่ม Apigee SSO ที่ฝังไว้ โปรดดูโทเค็นที่ไฟล์การกำหนดค่าต้องมีเพื่อให้การกำหนดค่า SSO สำเร็จในหัวข้อ ติดตั้งและกำหนดค่า Apigee SSO

เปิดใช้โหมด SSL_PROXY

ในโหมด SSL_PROXY ระบบจะใช้ตัวจัดสรรภาระงานไว้หน้า Apigee SSO และสิ้นสุด TLS ในตัวจัดสรรภาระงาน ในรูปภาพต่อไปนี้ ตัวจัดสรรภาระงานจะสิ้นสุด TLS ในพอร์ต 443 แล้วส่งต่อคำขอไปยัง Apigee SSO ในพอร์ต 9099

SSO ที่มีตัวจัดสรรภาระงาน

ในการกำหนดค่านี้ คุณเชื่อถือการเชื่อมต่อจากตัวจัดสรรภาระงานไปยังโหนด OpenLDAP จึงไม่จำเป็นต้องใช้ TLS สำหรับการเชื่อมต่อภายในดังกล่าว อย่างไรก็ตาม ตอนนี้เอนทิตีภายนอก เช่น IdP ต้องเข้าถึง Apigee SSO ในพอร์ต 443 ไม่ใช่ในพอร์ต 9099 ที่ไม่มีการป้องกัน

เหตุผลที่ต้องกำหนดค่า Apigee SSO ในโหมด SSL_PROXY ก็คือ Apigee SSO จะสร้าง URL เปลี่ยนเส้นทางที่ IdP ใช้ภายนอกโดยอัตโนมัติ ซึ่งเป็นส่วนหนึ่งของกระบวนการตรวจสอบสิทธิ์ ดังนั้น URL เปลี่ยนเส้นทางเหล่านี้ต้องมีหมายเลขพอร์ตภายนอกและรูปแบบ HTTPS ในตัวจัดสรรภาระงาน (พอร์ต 443 ในตัวอย่างนี้) ไม่ใช่พอร์ต HTTP ภายในใน Apigee SSO (พอร์ต 9099)

วิธีกำหนดค่า Apigee SSO สำหรับโหมด SSL_PROXY

  1. เพิ่มการตั้งค่าต่อไปนี้ลงในไฟล์ /opt/apigee/customer/application/openldap.properties
    # Update the port the Apigee SSO listens on locally.
    etc_sso_config_bind_port=9099
    
    # Set the publicly accessible Issuer URL (the load balancer URL).
    # This prevents setup-sso from automatically appending the port.
    etc_sso_config_issuer_url=https://load_balancer_IP_or_DNS
  2. อัปเดตการกำหนดค่า UI ของ New Edge สำหรับ HTTPS โดยตรวจสอบว่าได้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์ /opt/silent.conf แล้ว
    SSO_PUBLIC_URL_SCHEME=https
    SSO_PUBLIC_URL_HOSTNAME=load_balancer_IP_or_DNS
    SSO_PUBLIC_URL_PORT=443
  3. เรียกใช้สคริปต์ setup-sso เพื่อใช้การกำหนดค่า รีสตาร์ท Apigee SSO และอัปเดตเซิร์ฟเวอร์การจัดการ Edge โดยอัตโนมัติ
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
  4. อัปเดตการกำหนดค่า IdP (เช่น Okta หรือ ADFS) เพื่อส่งคำขอ HTTPS ไปยังตัวจัดสรรภาระงาน เพื่อเข้าถึง Apigee SSO ดูข้อมูลเพิ่มเติมได้ที่หัวข้อ กำหนดค่า SAML IdP
  5. เรียกใช้สคริปต์การกำหนดค่า UI เพื่อกำหนดค่าและรีสตาร์ทเซิร์ฟเวอร์ UI ของ New Edge โดยอัตโนมัติ
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f /opt/silent.conf

เปิดใช้โหมด SSL_TERMINATION

สำหรับโหมด SSL_TERMINATION คุณต้องดำเนินการต่อไปนี้

  • สร้างใบรับรองและคีย์ TLS ที่เข้ารหัส PEM มาตรฐาน สำหรับเวอร์ชันที่ใช้งานจริง คุณต้องสร้างใบรับรองที่ลงนามโดย CA คุณจะใช้ใบรับรองแบบ Self-signed ไม่ได้
  • อัปเดตไฟล์พร็อพเพอร์ตี้เพื่อผูกกับพอร์ตที่ปลอดภัยและโหลดใบรับรอง

วิธีติดตั้งใบรับรองและคีย์

  1. สร้างไดเรกทอรีสำหรับใบรับรองในโหนด OpenLDAP โดยใช้คำสั่งต่อไปนี้
    sudo mkdir -p /opt/apigee/customer/application/certs/
  2. คัดลอกใบรับรอง (.crt) และคีย์ส่วนตัว (.key) ที่เข้ารหัส PEM ไปยังไดเรกทอรีใหม่
  3. เปลี่ยนเจ้าของไดเรกทอรีและไฟล์เป็นผู้ใช้ "apigee" และรักษาความปลอดภัยของสิทธิ์โดยใช้คำสั่งต่อไปนี้
    sudo chown -R apigee:apigee /opt/apigee/customer/application/certs/
    sudo chmod 600 /opt/apigee/customer/application/certs/sso.key
    sudo chmod 644 /opt/apigee/customer/application/certs/sso.crt

วิธีกำหนดค่า Apigee SSO สำหรับโหมด SSL_TERMINATION:

  1. เพิ่มการตั้งค่าต่อไปนี้ลงในไฟล์ /opt/apigee/customer/application/openldap.properties
    # 1. Enable HTTPS listener and configure TLS cert/key
    lib_settings_enable_sso_https=true
    etc_sso_config_bind_port_ssl=9443
    etc_sso_config_tls_cert_file=/opt/apigee/customer/application/certs/sso.crt
    etc_sso_config_tls_key_file=/opt/apigee/customer/application/certs/sso.key
    
    # 2. Update the Issuer URL to use HTTPS and the SSL port/hostname
    etc_sso_config_issuer_url=https://hostname_or_IP_of_openldap:9443
    
    # 3. (Optional) Disable plain HTTP if only HTTPS is desired
    # lib_settings_enable_sso_http=false
  2. อัปเดตการกำหนดค่า UI ของ New Edge สำหรับ HTTPS โดยตรวจสอบว่าได้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์ /opt/silent.conf แล้ว
    MANAGEMENT_UI_SSO_ENABLED=y
    SSO_PUBLIC_URL_SCHEME=https
    SSO_PUBLIC_URL_HOSTNAME=hostname_or_IP_of_openldap
    SSO_PUBLIC_URL_PORT=9443
  3. เรียกใช้สคริปต์ setup-sso เพื่อใช้การกำหนดค่า รีสตาร์ท Apigee SSO และอัปเดตเซิร์ฟเวอร์การจัดการ Edge โดยอัตโนมัติ
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
  4. อัปเดตการกำหนดค่า IdP (เช่น Okta หรือ ADFS) เพื่อส่งคำขอ HTTPS ในพอร์ต 9443 เพื่อเข้าถึง Apigee SSO ดูข้อมูลเพิ่มเติมได้ที่หัวข้อ กำหนดค่า SAML IdP
  5. เรียกใช้สคริปต์การกำหนดค่า UI เพื่อกำหนดค่าเซิร์ฟเวอร์ UI ของ New Edge โดยอัตโนมัติ
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f /opt/silent.conf