Skonfiguruj apigee-sso pod kątem dostępu przez HTTPS

Edge dla chmury prywatnej w wersji 4.18.01

W artykule Instalowanie i konfigurowanie logowania jednokrotnego Edge opisano, jak zainstalować i skonfigurować moduł logowania jednokrotnego Edge do korzystania z protokołu HTTP na porcie 9099, zgodnie z tą właściwością w pliku konfiguracji:

SSO_TOMCAT_PROFILE=DEFAULT

Możesz też ustawić SSO_TOMCAT_PROFILE na jedną z tych wartości, aby włączyć dostęp przez HTTPS:

  • SSL_PROXY – konfiguruje apigee-sso w trybie proxy, co oznacza, że przed apigee-sso zainstalowano system równoważenia obciążenia i zakończono TLS w systemie równoważenia obciążenia. Następnie określ port używany w apigee-sso do obsługi żądań z systemu równoważenia obciążenia.
  • SSL_TERMINATION – włącza dostęp TLS do apigee-sso, modułu logowania jednokrotnego Edge, na wybranym porcie. W tym trybie musisz określić magazyn kluczy zawierający certyfikat podpisany przez urząd certyfikacji. Nie możesz używać certyfikatu podpisanego samodzielnie.

Możesz włączyć HTTPS podczas początkowej instalacji i konfiguracji apigee-sso lub później.

Włączenie dostępu HTTPS do apigee-sso w dowolnym trybie wyłącza dostęp HTTP. Oznacza to, że nie możesz uzyskać dostępu do apigee-sso jednocześnie przez HTTP i HTTPS.

Włącz tryb SSL_PROXY

W trybie SSL_PROXY system używa systemu równoważenia obciążenia przed modułem Edge SSO i kończy TLS na systemie równoważenia obciążenia. Na poniższym rysunku system równoważenia obciążenia kończy TLS na porcie 443, a następnie przekazuje żądania do modułu Edge SSO na porcie 9099:

W tej konfiguracji ufasz połączeniu z systemu równoważenia obciążenia do modułu Edge SSO, więc nie musisz używać protokołu TLS w przypadku tego połączenia. Jednak podmioty zewnętrzne, takie jak dostawca tożsamości SAML, muszą teraz uzyskiwać dostęp do modułu logowania jednokrotnego Edge na porcie 443, a nie na niezabezpieczonym porcie 9099.

Powodem skonfigurowania modułu Edge SSO w trybie SSL_PROXY jest to, że moduł Edge SSO automatycznie generuje adresy URL przekierowań używane zewnętrznie przez dostawcę tożsamości w ramach procesu uwierzytelniania. Dlatego te adresy URL przekierowania muszą zawierać numer portu zewnętrznego w systemie równoważenia obciążenia (w tym przykładzie 443), a nie portu wewnętrznego w module Edge SSO (9099).

Uwaga: nie musisz tworzyć certyfikatu ani klucza TLS dla trybu SSL_PROXY, ponieważ połączenie z systemu równoważenia obciążenia do modułu Edge SSO korzysta z protokołu HTTP.

Aby skonfigurować moduł SSO Edge w trybie SSL_PROXY:

  1. Dodaj do pliku konfiguracji te ustawienia:
    # Enable SSL_PROXY mode.
    SSO_TOMCAT_PROFILE=SSL_PROXY

    # Określ port apigee-sso, zwykle z zakresu od 1025 do 65535.
    # Zwykle porty 1024 i niższe wymagają dostępu do roota przez apigee-sso.
    # Wartość domyślna to 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. Skonfiguruj moduł SSO Edge:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Zaktualizuj konfigurację dostawcy tożsamości, aby wysyłać żądanie HTTPS na port 443 systemu równoważenia obciążenia w celu uzyskania dostępu do logowania jednokrotnego Edge. Więcej informacji znajdziesz w artykule Konfigurowanie dostawcy tożsamości SAML.
  4. Zaktualizuj konfigurację interfejsu Edge dla HTTPS, ustawiając te właściwości:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https


    Więcej informacji znajdziesz w artykule Włączanie SAML w interfejsie Edge.
  5. Jeśli masz zainstalowany portal usług dla programistów lub API BaaS, zaktualizuj je, aby używały protokołu HTTPS do uzyskiwania dostępu do SSO Edge. Więcej informacji:

Włącz tryb SSL_TERMINATION

W trybie SSL_TERMINATION musisz:

  • Wygeneruj certyfikat i klucz TLS, a następnie zapisz je w pliku magazynu kluczy. Nie możesz użyć certyfikatu podpisanego samodzielnie. Musisz wygenerować certyfikat z urzędu certyfikacji.
  • Zaktualizuj ustawienia konfiguracji apigee-sso.

Aby utworzyć plik magazynu kluczy z certyfikatu i klucza:

  1. Utwórz katalog dla pliku JKS:
    > sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. Przejdź do nowego katalogu:
    > cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. Utwórz plik JKS zawierający certyfikat i klucz. W tym trybie musisz określić magazyn kluczy zawierający certyfikat podpisany przez urząd certyfikacji. Nie możesz używać certyfikatu podpisanego samodzielnie. Przykład tworzenia pliku JKS znajdziesz w artykule Konfigurowanie TLS/SSL w Edge On-Premises.
  4. Ustaw użytkownika „apigee” jako właściciela pliku JKS:
    > sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

Aby skonfigurować moduł logowania jednokrotnego Edge:

  1. Dodaj do pliku konfiguracji te ustawienia:
    # Enable SSL_TERMINATION mode.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION

    # Określ ścieżkę do pliku magazynu kluczy.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    SSO_TOMCAT_KEYSTORE_ALIAS=sso

    # Hasło określone podczas tworzenia magazynu kluczy.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword

    # Podaj numer portu HTTPS z zakresu od 1025 do 65535.
    # Zwykle porty 1024 i niższe wymagają dostępu do roota przez apigee-sso.
    # Wartość domyślna to 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. Skonfiguruj moduł SSO Edge:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Zaktualizuj konfigurację dostawcy tożsamości, aby wysyłać żądanie HTTPS na port 9443 systemu równoważenia obciążenia w celu uzyskania dostępu do logowania jednokrotnego Edge. Więcej informacji znajdziesz w artykule Konfigurowanie dostawcy tożsamości SAML.
  4. Zaktualizuj konfigurację interfejsu Edge dla HTTPS, ustawiając te właściwości:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https


    Więcej informacji znajdziesz w artykule Włączanie SAML w interfejsie Edge.
  5. Jeśli masz zainstalowany portal usług dla programistów lub API BaaS, zaktualizuj je, aby używały protokołu HTTPS do uzyskiwania dostępu do SSO Edge. Więcej informacji:

Ustawianie SSO_TOMCAT_PROXY_PORT podczas korzystania z trybu SSL_TERMINATION

Przed modułem Edge SSO możesz mieć system równoważenia obciążenia, który kończy TLS na systemie równoważenia obciążenia, ale też włącza TLS między systemem równoważenia obciążenia a Edge SSO. Na powyższym rysunku w trybie SSL_PROXY oznacza to, że połączenie z systemu równoważenia obciążenia do Edge SSO korzysta z TLS.

W tym scenariuszu konfigurujesz TLS w Edge SSO tak samo jak powyżej w przypadku trybu SSL_TERMINATION. Jeśli jednak system równoważenia obciążenia używa innego numeru portu TLS niż Edge SSO, musisz też określić w pliku konfiguracji właściwość SSO_TOMCAT_PROXY_PORT. Na przykład:

  • System równoważenia obciążenia kończy TLS na porcie 443.
  • Edge SSO kończy TLS na porcie 9443

Pamiętaj, aby w pliku konfiguracyjnym uwzględnić to ustawienie:

# Podaj numer portu w systemie równoważenia obciążenia, na którym ma być kończony protokół TLS.
# Ten numer portu jest wymagany przez apigee-sso do generowania adresów URL przekierowań.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

Skonfiguruj dostawcę tożsamości i interfejs użytkownika Edge, aby wysyłać żądania HTTPS przez port 443.