Apigee-SSO für HTTPS-Zugriff konfigurieren

Unter Apigee-SSO installieren und konfigurieren wird beschrieben, wie Sie das Apigee-SSO-Modul für die Verwendung von HTTP auf Port 9099 installieren und konfigurieren, wie durch das folgende Attribut in der Edge-Konfigurationsdatei angegeben:

SSO_TOMCAT_PROFILE=DEFAULT

Alternativ können Sie SSO_TOMCAT_PROFILE auf einen der folgenden Werte festlegen, um den HTTPS-Zugriff zu aktivieren:

  • SSL_PROXY: Konfiguriert apigee-sso, das Apigee-SSO-Modul, im Proxy-Modus. Das bedeutet, dass Sie einen Load Balancer vor apigee-sso installiert und TLS auf dem Load Balancer beendet haben. Anschließend geben Sie den Port an, der auf apigee-sso für Anfragen vom Load Balancer verwendet wird.
  • SSL_TERMINATION: Aktiviert den TLS-Zugriff auf apigee-sso über den Port Ihrer Wahl. Sie müssen für diesen Modus einen Schlüsselspeicher angeben, der ein von einer Zertifizierungsstelle signiertes Zertifikat enthält. Sie können kein selbst signiertes Zertifikat verwenden.

Sie können HTTPS bei der Erstinstallation und -konfiguration von apigee-sso oder später aktivieren.

Wenn Sie den HTTPS-Zugriff auf apigee-sso mit einem der beiden Modi aktivieren, wird der HTTP-Zugriff deaktiviert. Das bedeutet, dass Sie nicht gleichzeitig über HTTP und HTTPS auf apigee-sso zugreifen können.

SSL_PROXY-Modus aktivieren

Im SSL_PROXY-Modus verwendet Ihr System einen Load Balancer vor dem Apigee-SSO-Modul und beendet TLS auf dem Load Balancer. In der folgenden Abbildung beendet der Load Balancer TLS an Port 443 und leitet dann Anfragen an das Apigee-SSO-Modul an Port 9099 weiter:

In dieser Konfiguration vertrauen Sie der Verbindung vom Load Balancer zum Apigee-SSO-Modul, sodass für diese Verbindung kein TLS erforderlich ist. Externe Entitäten wie der IDP müssen jetzt jedoch über Port 443 auf das Apigee-SSO-Modul zugreifen, nicht über den ungeschützten Port 9099.

Der Grund für die Konfiguration des Apigee-SSO-Moduls im SSL_PROXY-Modus ist, dass das Apigee-SSO-Modul automatisch Weiterleitungs-URLs generiert, die vom IdP im Rahmen des Authentifizierungsprozesses extern verwendet werden. Daher müssen diese Weiterleitungs-URLs die externe Portnummer des Load Balancers enthalten, in diesem Beispiel 443, und nicht den internen Port des Apigee-SSO-Moduls, 9099.

So konfigurieren Sie das Apigee-SSO-Modul für den SSL_PROXY-Modus:

  1. Fügen Sie der Konfigurationsdatei die folgenden Einstellungen hinzu:
    # 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. Konfigurieren Sie das Apigee-SSO-Modul:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Aktualisieren Sie Ihre IdP-Konfiguration, um jetzt eine HTTPS-Anfrage an Port 443 des Load Balancers zu senden, um auf Apigee-SSO zuzugreifen. Weitere Informationen finden Sie hier:
  4. Aktualisieren Sie Ihre Edge-UI-Konfiguration für HTTPS, indem Sie die folgenden Attribute in der Konfigurationsdatei festlegen:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    Aktualisieren Sie dann die Edge-Benutzeroberfläche:

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

    Verwenden Sie die Komponente edge-ui für die klassische Benutzeroberfläche.

  5. Wenn Sie das Apigee Developer Services-Portal (oder einfach das Portal) installiert haben, aktualisieren Sie es, um HTTPS für den Zugriff auf Apigee-SSO zu verwenden. Weitere Informationen finden Sie unter Portal für die Verwendung externer IdPs konfigurieren.

Weitere Informationen finden Sie unter Externen IdP in der Edge-Benutzeroberfläche aktivieren.

SSL_TERMINATION-Modus aktivieren

Für den SSL_TERMINATION-Modus müssen Sie Folgendes tun:

  • Generieren Sie ein TLS-Zertifikat und einen TLS-Schlüssel und speichern Sie sie in einer Schlüsselspeicherdatei. Sie können kein selbst signiertes Zertifikat verwenden. Sie müssen ein Zertifikat von einer Zertifizierungsstelle generieren.
  • Konfigurationseinstellungen für apigee-sso. aktualisieren

So erstellen Sie eine Schlüsselspeicherdatei aus Ihrem Zertifikat und Schlüssel:

  1. Erstellen Sie ein Verzeichnis für die JKS-Datei:
    sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. Wechseln Sie in das neue Verzeichnis:
    cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. Erstellen Sie eine JKS-Datei mit dem Zertifikat und dem Schlüssel. Sie müssen für diesen Modus einen Schlüsselspeicher angeben, der ein von einer Zertifizierungsstelle signiertes Zertifikat enthält. Sie können kein selbst signiertes Zertifikat verwenden. Ein Beispiel für das Erstellen einer JKS-Datei finden Sie unter TLS/SSL für Edge On-Premises konfigurieren.
  4. Machen Sie die JKS-Datei zum Eigentum des Nutzers „apigee“:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

So konfigurieren Sie das Apigee-SSO-Modul:

  1. Fügen Sie der Konfigurationsdatei die folgenden Einstellungen hinzu:
    # 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. Konfigurieren Sie das Apigee-SSO-Modul:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Aktualisieren Sie Ihre IDP-Konfiguration, um jetzt eine HTTPS-Anfrage an Port 9443 des Load Balancers zu senden, um auf Apigee-SSO zuzugreifen. Achten Sie darauf, dass kein anderer Dienst diesen Port verwendet.

    Hier finden Sie weitere Informationen:

  4. Aktualisieren Sie Ihre Edge-UI-Konfiguration für HTTPS, indem Sie die folgenden Attribute festlegen:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https
  5. Wenn Sie das Developer Services-Portal installiert haben, aktualisieren Sie es, damit es HTTPS für den Zugriff auf Apigee-SSO verwendet. Weitere Informationen finden Sie unter Portal für die Verwendung externer IdPs konfigurieren.

SSO_TOMCAT_PROXY_PORT bei Verwendung des SSL_TERMINATION-Modus festlegen

Möglicherweise befindet sich vor dem Apigee-SSO-Modul ein Load Balancer, der TLS auf dem Load Balancer beendet, aber auch TLS zwischen dem Load Balancer und Apigee-SSO ermöglicht. In der obigen Abbildung für den SSL_PROXY-Modus bedeutet dies, dass die Verbindung vom Load Balancer zu Apigee-SSO TLS verwendet.

In diesem Szenario konfigurieren Sie TLS für Apigee-SSO wie oben für den SSL_TERMINATION-Modus beschrieben. Wenn der Load Balancer jedoch eine andere TLS-Portnummer als Apigee SSO für TLS verwendet, müssen Sie auch das Attribut SSO_TOMCAT_PROXY_PORT in der Konfigurationsdatei angeben. Beispiel:

  • Der Load Balancer beendet TLS an Port 443.
  • Apigee-SSO beendet TLS an Port 9443

Achten Sie darauf, die folgende Einstellung in die Konfigurationsdatei aufzunehmen:

# 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

Konfigurieren Sie den IdP und die Edge-Benutzeroberfläche so, dass HTTPS-Anfragen über Port 443 gesendet werden.