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

Edge สำหรับ Private Cloud เวอร์ชัน 4.19.01

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

SSO_TOMCAT_PROFILE=DEFAULT

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

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

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