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

Edge for Private Cloud v4.18.05

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

SSO_TOMCAT_PROFILE=DEFAULT

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

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

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

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

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

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

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

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

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

วิธีกำหนดค่าโมดูล Edge SSO สำหรับโหมด 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. กำหนดค่าโมดูล Edge SSO ดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. อัปเดตการกำหนดค่า IDP เพื่อส่งคำขอ HTTPS ในพอร์ต 443 ของตัวจัดสรรภาระงานเพื่อเข้าถึง Edge SSO ดูข้อมูลเพิ่มเติมได้ที่หัวข้อกำหนดค่า SAML IDP
  4. อัปเดตการกำหนดค่า Edge UI สำหรับ HTTPS โดยตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์การกำหนดค่า
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

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

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

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

  5. หากคุณติดตั้งพอร์ทัล Apigee Developer Services (หรือเรียกสั้นๆ ว่าพอร์ทัล) ให้อัปเดตเพื่อใช้ HTTPS ในการเข้าถึง Edge 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 On Premises
  4. กำหนดให้ไฟล์ JKS เป็นของผู้ใช้ "apigee" โดยทำดังนี้
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

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

  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. กำหนดค่าโมดูล Edge SSO ดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. อัปเดตการกำหนดค่า IDP เพื่อส่งคำขอ HTTPS ในพอร์ต 9443 ของตัวจัดสรรภาระงานเพื่อเข้าถึง Edge SSO ดูข้อมูลเพิ่มเติมได้ที่หัวข้อกำหนดค่า SAML IDP
  4. อัปเดตการกำหนดค่า Edge UI สำหรับ HTTPS โดยตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https

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

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

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

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

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

  • ตัวจัดสรรภาระงานจะสิ้นสุด TLS ในพอร์ต 443
  • Edge SSO จะสิ้นสุด 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 และ Edge UI เพื่อส่งคำขอ HTTPS ในพอร์ต 443