Apigee SSO را برای دسترسی HTTPS پیکربندی کنید

نصب و پیکربندی Apigee SSO نحوه نصب و پیکربندی ماژول Apigee SSO برای استفاده از HTTP در پورت 9099 را شرح می دهد، همانطور که توسط ویژگی زیر در فایل پیکربندی Edge مشخص شده است:

SSO_TOMCAT_PROFILE=DEFAULT

همچنین، می‌توانید SSO_TOMCAT_PROFILE روی یکی از مقادیر زیر برای فعال کردن دسترسی HTTPS تنظیم کنید:

  • SSL_PROXY: apigee-sso ، ماژول Apigee SSO را در حالت پروکسی پیکربندی می‌کند، به این معنی که شما یک load balancer را در مقابل apigee-sso نصب کرده‌اید و TLS را در load balancer خاتمه داده‌اید. سپس پورت مورد استفاده در apigee-sso برای درخواست های load balancer مشخص می کنید.
  • SSL_TERMINATION: دسترسی TLS به apigee-sso را در پورت انتخابی شما فعال کرد. شما باید یک فروشگاه کلید برای این حالت مشخص کنید که حاوی گواهی امضا شده توسط یک CA باشد. شما نمی توانید از گواهی خود امضا شده استفاده کنید.

می‌توانید انتخاب کنید که HTTPS را در زمان نصب و پیکربندی apigee-sso در ابتدا فعال کنید، یا می‌توانید بعداً آن را فعال کنید.

فعال کردن دسترسی HTTPS به apigee-sso با استفاده از هر حالت، دسترسی HTTP را غیرفعال می‌کند. یعنی نمی توانید به apigee-sso با استفاده از HTTP و HTTPS به طور همزمان دسترسی داشته باشید.

حالت SSL_PROXY را فعال کنید

در حالت SSL_PROXY ، سیستم شما از یک متعادل کننده بار در جلوی ماژول Apigee SSO استفاده می کند و TLS را در بار متعادل کننده خاتمه می دهد. در شکل زیر، بار متعادل کننده TLS را در پورت 443 خاتمه می دهد و سپس درخواست ها را به ماژول Apigee SSO در پورت 9099 ارسال می کند:

در این پیکربندی، شما به اتصال از بار متعادل کننده به ماژول Apigee SSO اعتماد دارید، بنابراین نیازی به استفاده از TLS برای آن اتصال نیست. با این حال، نهادهای خارجی، مانند IDP، اکنون باید به ماژول Apigee SSO در پورت 443 دسترسی داشته باشند، نه در پورت محافظت نشده 9099.

دلیل پیکربندی ماژول Apigee SSO در حالت SSL_PROXY این است که ماژول Apigee SSO URL های تغییر مسیری را که به صورت خارجی توسط IDP به عنوان بخشی از فرآیند احراز هویت استفاده می شود، به طور خودکار ایجاد می کند. بنابراین، این URL های تغییر مسیر باید شامل شماره پورت خارجی در متعادل کننده بار، 443 در این مثال، و نه پورت داخلی در ماژول Apigee SSO، 9099 باشد.

برای پیکربندی ماژول Apigee 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. ماژول Apigee SSO را پیکربندی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. پیکربندی IDP خود را به روز کنید تا اکنون یک درخواست HTTPS در پورت 443 متعادل کننده بار برای دسترسی به Apigee SSO داشته باشید. برای اطلاعات بیشتر به یکی از موارد زیر مراجعه کنید:
  4. با تنظیم ویژگی های زیر در فایل پیکربندی، پیکربندی رابط کاربری Edge خود را برای HTTPS به روز کنید:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    سپس رابط کاربری Edge را به روز کنید:

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

    از مولفه edge-ui برای رابط کاربری کلاسیک استفاده کنید.

  5. اگر پورتال Apigee Developer Services (یا به سادگی، پورتال ) را نصب کرده اید، آن را به روز کنید تا از HTTPS برای دسترسی به Apigee SSO استفاده کنید. برای اطلاعات بیشتر، به پیکربندی پورتال برای استفاده از IDPهای خارجی مراجعه کنید

برای اطلاعات بیشتر به فعال کردن یک IDP خارجی در رابط کاربری Edge مراجعه کنید.

حالت SSL_TERMINATION را فعال کنید

برای حالت SSL_TERMINATION ، باید:

  • یک گواهی و کلید TLS تولید کنید و آنها را در یک فایل فروشگاه کلید ذخیره کنید. شما نمی توانید از گواهی خود امضا شده استفاده کنید. شما باید یک گواهی از یک 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 On Premises مراجعه کنید.
  4. فایل JKS را متعلق به کاربر "apigee" کنید:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

برای پیکربندی ماژول Apigee 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. ماژول Apigee SSO را پیکربندی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. پیکربندی IDP خود را به روز کنید تا اکنون یک درخواست HTTPS در پورت 9443 متعادل کننده بار برای دسترسی به Apigee SSO داشته باشید. مطمئن شوید که هیچ سرویس دیگری از این پورت استفاده نمی کند.

    برای اطلاعات بیشتر به ادامه مطلب مراجعه کنید:

  4. با تنظیم ویژگی‌های زیر، پیکربندی رابط کاربری Edge خود را برای HTTPS به‌روزرسانی کنید:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https
  5. اگر پورتال Developer Services را نصب کرده اید، آن را به روز کنید تا از HTTPS برای دسترسی به Apigee SSO استفاده کنید. برای اطلاعات بیشتر، پیکربندی پورتال برای استفاده از IDPهای خارجی را ببینید.

هنگام استفاده از حالت SSL_TERMINATION، SSO_TOMCAT_PROXY_PORT را تنظیم کنید

ممکن است در جلوی ماژول Apigee SSO یک متعادل کننده بار داشته باشید که TLS را در بار متعادل کننده خاتمه می دهد، اما TLS بین بار متعادل کننده و Apigee SSO را نیز فعال می کند. در شکل بالا برای حالت SSL_PROXY ، این بدان معناست که اتصال از بار متعادل کننده به Apigee SSO از TLS استفاده می کند.

در این سناریو، همانطور که در بالا برای حالت SSL_TERMINATION انجام دادید، TLS را در Apigee SSO پیکربندی می‌کنید. با این حال، اگر متعادل‌کننده بار از شماره پورت 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

IDP و Edge UI را برای درخواست HTTPS در پورت 443 پیکربندی کنید.