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

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

SSO_TOMCAT_PROFILE=DEFAULT

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

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

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

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

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

    จากนั้นอัปเดต Edge UI ดังนี้

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

    ใช้คอมโพเนนต์ edge-ui สำหรับ UI แบบคลาสสิก

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

โปรดดูข้อมูลเพิ่มเติมที่หัวข้อเปิดใช้ IdP ภายนอกใน Edge UI

เปิดใช้งานโหมด 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

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

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

    โปรดดูข้อมูลต่อไปนี้

  4. อัปเดตการกำหนดค่า Edge UI สำหรับ HTTPS โดยตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https
  5. หากคุณติดตั้งพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์ ให้อัปเดตพอร์ทัลเพื่อใช้ HTTPS เพื่อเข้าถึง SSO ของ Apigee โปรดดูข้อมูลเพิ่มเติมที่หัวข้อกำหนดค่าพอร์ทัลเพื่อใช้ IdP ภายนอก

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

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

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

  • ตัวจัดสรรภาระงานสิ้นสุด TLS บนพอร์ต 443
  • Apigee 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