Apigee-SSO für HTTPS-Zugriff konfigurieren

Unter Apigee-SSO installieren und konfigurieren wird beschrieben, wie das Apigee-SSO-Modul installiert und konfiguriert wird, um HTTP an Port 9099 zu verwenden, 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 Proxymodus, d. h., Sie haben einen Load-Balancer vor apigee-sso installiert und TLS auf dem Load-Balancer beendet. Anschließend geben Sie den Port an, der auf apigee-sso für Anfragen vom Load-Balancer verwendet wird.
  • SSL_TERMINATION: Der TLS-Zugriff auf apigee-sso wurde über den Port Ihrer Wahl aktiviert. Sie müssen für diesen Modus einen Schlüsselspeicher angeben, der ein von einer CA 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 in einem der beiden Modi aktivieren, wird der HTTP-Zugriff deaktiviert. Das heißt, Sie können nicht gleichzeitig mit HTTP und HTTPS auf apigee-sso zugreifen.

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 verwendet werden muss. Externe Entitäten wie der IdP müssen jedoch jetzt ü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 besteht darin, dass das Apigee-SSO-Modul automatisch Weiterleitungs-URLs generiert, die vom IdP extern im Rahmen des Authentifizierungsprozesses verwendet werden. Daher müssen diese Weiterleitungs-URLs die externe Portnummer auf dem Load-Balancer, in diesem Beispiel 443, und nicht den internen Port des Apigee SSO-Moduls 9099 enthalten.

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 in den folgenden Artikeln:
  4. Aktualisieren Sie Ihre Edge-UI-Konfiguration für HTTPS. Legen Sie dazu die folgenden Attribute in der Konfigurationsdatei fest:
    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

    Verwende die Komponente „edge-ui“ für die klassische Benutzeroberfläche.

  5. Wenn Sie das Portal für Apigee Developer Services (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.

Modus "SSL_TERMINATION" aktivieren

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

  • Generieren Sie ein TLS-Zertifikat und einen TLS-Schlüssel und speichern Sie sie in einer Keystore-Datei. 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 dem 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, die das Zertifikat und den Schlüssel enthält. Für diesen Modus müssen Sie 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. Legen Sie die JKS-Datei fest, die dem Nutzer „apigee“ gehört:
    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 die 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. Legen Sie dazu die folgenden Attribute fest:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https
  5. Wenn Sie das Entwicklerdienste-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.

SSO_TOMCAT_PROXY_PORT bei Verwendung des Modus "SSL_TERMINATION" festlegen

Möglicherweise haben Sie vor dem Apigee-SSO-Modul einen Load-Balancer, der TLS auf dem Load-Balancer beendet, aber auch TLS zwischen dem Load-Balancer und der Apigee-SSO aktiviert. In der Abbildung oben für den SSL_PROXY-Modus bedeutet dies, dass die Verbindung vom Load-Balancer zur Apigee SSO über TLS verwendet wird.

In diesem Szenario konfigurieren Sie TLS für Apigee SSO wie oben für den SSL_TERMINATION-Modus. 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

Die Konfigurationsdatei muss die folgende Einstellung enthalten:

# 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 für HTTPS-Anfragen an Port 443.