กําหนดค่า apigee-sso สําหรับการเข้าถึง HTTPS

Edge for Private Cloud v4.18.05

ติดตั้งและกำหนดค่า SSO ของ Edge อธิบายวิธีติดตั้งและกำหนดค่าโมดูล SSO ของ Edge ให้ใช้ HTTP ในพอร์ต 9099 ตามที่ระบุโดยพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์การกําหนดค่า

SSO_TOMCAT_PROFILE=DEFAULT

หรือจะตั้งค่า SSO_TOMCAT_PROFILE เป็นค่าใดค่าหนึ่งต่อไปนี้เพื่อเปิดใช้การเข้าถึง HTTPS ก็ได้

  • SSL_PROXY - กําหนดค่า apigee-sso ในโหมดพร็อกซี ซึ่งหมายความว่าคุณได้ติดตั้งตัวจัดสรรภาระงานไว้ด้านหน้า apigee-sso และสิ้นสุด TLS ในตัวจัดสรรภาระงาน จากนั้นคุณระบุพอร์ตที่ใช้ใน apigee-sso สําหรับคําขอจากตัวจัดสรรภาระงาน
  • SSL_TERMINATION - เปิดใช้การเข้าถึง TLS ไปยัง apigee-sso ซึ่งเป็นโมดูล SSO ของ Edge ในพอร์ตที่คุณต้องการ คุณต้องระบุคีย์สโตร์สำหรับโหมดนี้ซึ่งมีใบรับรองที่ลงนามโดย CA คุณใช้ใบรับรองแบบ Self-signed ไม่ได้

คุณเลือกเปิดใช้ HTTPS ได้เมื่อติดตั้งและกำหนดค่าครั้งแรก apigee-sso หรือจะเปิดใช้ในภายหลังก็ได้

การเปิดใช้การเข้าถึง apigee-sso ผ่าน HTTPS โดยใช้โหมดใดโหมดหนึ่งจะปิดใช้การเข้าถึงผ่าน HTTP กล่าวคือ คุณจะเข้าถึง apigee-sso โดยใช้ทั้ง HTTP และ HTTPS พร้อมกันไม่ได้

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

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

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

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

หมายเหตุ: คุณไม่จำเป็นต้องสร้างใบรับรองและคีย์ TLS สำหรับโหมด SSL_PROXY เนื่องจากการเชื่อมต่อจากตัวจัดสรรภาระงานไปยังโมดูล SSO ของ Edge ใช้ HTTP

วิธีกำหนดค่าโมดูล SSO ของ Edge สำหรับโหมด SSL_PROXY

  1. เพิ่มการตั้งค่าต่อไปนี้ลงในไฟล์การกําหนดค่า
    # Enable SSL_PROXY mode.
    SSO_TOMCAT_PROFILE=SSL_PROXY
    
    # Specify the apigee-sso port, typically between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9099
    
    # Specify the port number on the load balancer for terminating TLS.
    # This port number is necessary for apigee-sso to auto-generate redirect URLs.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. กำหนดค่าโมดูล SSO ของ Edge โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. อัปเดตการกำหนดค่า IDP ให้ส่งคำขอ HTTPS ในพอร์ต 443 ของตัวจัดสรรภาระงานเพื่อเข้าถึง SSO ของ Edge ดูข้อมูลเพิ่มเติมได้ที่กำหนดค่า SAML IDP
  4. อัปเดตการกำหนดค่า UI ของ Edge สำหรับ HTTPS โดยตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์การกําหนดค่า
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    จากนั้นอัปเดต UI ของ Edge โดยทำดังนี้

    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile

    ดูข้อมูลเพิ่มเติมได้ที่เปิดใช้ SAML ใน UI ของ Edge

  5. หากคุณติดตั้งพอร์ทัลบริการสำหรับนักพัฒนาแอป Apigee (หรือเรียกสั้นๆ ว่าพอร์ทัล) ให้อัปเดตพอร์ทัลดังกล่าวเพื่อใช้ HTTPS ในการเข้าถึง Ede SSO ดูข้อมูลเพิ่มเติมได้ที่หัวข้อการกำหนดค่าพอร์ทัลให้ใช้ SAML เพื่อสื่อสารกับ Edge

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

สำหรับโหมด SSL_TERMINATION คุณต้องมีคุณสมบัติดังนี้

  • สร้างใบรับรองและคีย์ TLS แล้วจัดเก็บไว้ในไฟล์คีย์สโตร์ คุณใช้ใบรับรองแบบ Self-signed ไม่ได้ คุณต้องสร้างใบรับรองจาก CA
  • อัปเดตการตั้งค่าการกําหนดค่าสําหรับ apigee-sso.

วิธีสร้างไฟล์คีย์สโตร์จากใบรับรองและคีย์

  1. สร้างไดเรกทอรีสําหรับไฟล์ JKS โดยทําดังนี้
    sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. เปลี่ยนเป็นไดเรกทอรีใหม่ โดยทำดังนี้
    cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. สร้างไฟล์ JKS ที่มีใบรับรองและคีย์ คุณต้องระบุคีย์สโตร์สำหรับโหมดนี้ซึ่งมีใบรับรองที่ลงนามโดย CA คุณใช้ใบรับรองแบบ Self-signed ไม่ได้ ดูตัวอย่างการสร้างไฟล์ JKS ได้ที่การกำหนดค่า TLS/SSL สำหรับ Edge ในองค์กร
  4. ทำให้ไฟล์ JKS เป็นของผู้ใช้ "apigee"
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

วิธีกำหนดค่าโมดูล SSO ของ Edge

  1. เพิ่มการตั้งค่าต่อไปนี้ลงในไฟล์การกําหนดค่า
    # Enable SSL_TERMINATION mode.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION
    
    # Specify the path to the keystore file.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    
    SSO_TOMCAT_KEYSTORE_ALIAS=sso
    
    # The password specified when you created the keystore.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword
    
    # Specify the HTTPS port number between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. กำหนดค่าโมดูล SSO ของ Edge โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. อัปเดตการกำหนดค่า IdP ให้ส่งคำขอ HTTPS ในพอร์ต 9443 ของตัวจัดสรรภาระงานเพื่อเข้าถึง SSO ของ Edge ดูข้อมูลเพิ่มเติมได้ที่กำหนดค่า SAML IDP
  4. อัปเดตการกำหนดค่า UI ของ Edge สำหรับ HTTPS โดยตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https

    ดูข้อมูลเพิ่มเติมได้ที่เปิดใช้ SAML ใน UI ของ Edge

  5. หากคุณติดตั้งพอร์ทัลบริการสำหรับนักพัฒนาแอปไว้ ให้อัปเดตพอร์ทัลดังกล่าวเพื่อใช้ HTTPS เพื่อเข้าถึง Ede SSO ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่าพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์ให้ใช้ SAML เพื่อสื่อสารกับ Edge

การตั้งค่า SSO_TOMCAT_PROXY_PORT เมื่อใช้โหมด SSL_TERMINATION

คุณอาจมีตัวจัดสรรภาระงานอยู่หน้าโมดูล SSO ของ Edge ที่สิ้นสุด TLS ในตัวจัดสรรภาระงาน แต่เปิดใช้ TLS ระหว่างตัวจัดสรรภาระงานกับ SSO ของ Edge ด้วย ในรูปภาพด้านบนสำหรับโหมด SSL_PROXY หมายความว่าการเชื่อมต่อจากตัวจัดสรรภาระงานไปยัง SSO ของ Edge ใช้ TLS

ในกรณีนี้ คุณจะกำหนดค่า TLS ใน SSO ของ Edge ได้เช่นเดียวกับที่ทําในโหมด SSL_TERMINATION ด้านบน อย่างไรก็ตาม หากโหลดบาลานเซอร์ใช้หมายเลขพอร์ต TLS อื่นที่แตกต่างจากที่ Edge SSO ใช้สำหรับ TLS คุณจะต้องระบุพร็อพเพอร์ตี้ SSO_TOMCAT_PROXY_PORT ในไฟล์การกําหนดค่าด้วย เช่น

  • ตัวจัดสรรภาระงานสิ้นสุด TLS ในพอร์ต 443
  • SSO ของ Edge จะสิ้นสุด TLS ในพอร์ต 9443

ตรวจสอบว่าได้ใส่การตั้งค่าต่อไปนี้ไว้ในไฟล์การกําหนดค่า

# Specify the port number on the load balancer for terminating TLS.
# This port number is necessary for apigee-sso to generate redirect URLs.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

กำหนดค่า IDP และ UI ของ Edge ให้ส่งคำขอ HTTPS ในพอร์ต 443