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

Edge สำหรับ Private Cloud เวอร์ชัน 4.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 คุณใช้ใบรับรองที่ลงนามด้วยตนเองไม่ได้

คุณเลือกเปิดใช้ 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 สำหรับข้อมูลเพิ่มเติม
  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 (หรือเรียกง่ายๆ ว่าพอร์ทัล) ให้อัปเดตพอร์ทัลเพื่อใช้ HTTPS เพื่อเข้าถึง SSO ของ Ede โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการกำหนดค่าพอร์ทัลเพื่อใช้ 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 คุณใช้ใบรับรองที่ลงนามด้วยตนเองไม่ได้ สำหรับตัวอย่างการสร้างไฟล์ JKS โปรดดูการกำหนดค่า TLS/SSL สำหรับ Edge ภายในองค์กร
  4. กำหนดให้ผู้ใช้ "apigee" เป็นเจ้าของไฟล์ JKS
    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 สำหรับข้อมูลเพิ่มเติม
  4. อัปเดตการกำหนดค่า Edge UI สำหรับ HTTPS โดยตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https

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

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

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