Edge-SSO installieren und konfigurieren

Edge for Private Cloud Version 4.19.01

Für das Installieren und Konfigurieren des Edge-SSO-Moduls müssen Sie zuerst zwei Sätze von TLS-Schlüsseln und -Zertifikaten generieren. Das Edge-SSO-Modul verwendet TLS, um die Übertragung von Informationen im Rahmen des SAML-Handshakeprozesses mit dem SAML-IdP zu sichern.

TLS-Schlüssel und -Zertifikate erstellen

In den folgenden Schritten werden selbst signierte Zertifikate erstellt, die für Ihre Testumgebung in Ordnung sein können. Für eine Produktionsumgebung benötigen Sie normalerweise jedoch Zertifikate, die von einer Zertifizierungsstelle signiert wurden.

So erstellen Sie den Bestätigungs- und Signaturschlüssel sowie ein selbst signiertes Zertifikat:

  1. sudo mkdir -p /opt/apigee/customer/application/apigee-sso/jwt-keys
  2. cd /opt/apigee/customer/application/apigee-sso/jwt-keys/
  3. sudo openssl genrsa -out privkey.pem 2048
  4. sudo openssl rsa -pubout -in privkey.pem -out pubkey.pem
  5. sudo chown apigee:apigee *.pem

So erstellen Sie den Schlüssel und das selbst signierte Zertifikat ohne Passphrase für die Kommunikation mit dem SAML-IdP:

  1. sudo mkdir -p /opt/apigee/customer/application/apigee-sso/saml/
  2. cd /opt/apigee/customer/application/apigee-sso/saml/
  3. Generieren Sie Ihren privaten Schlüssel mit einer Passphrase:
    sudo openssl genrsa -aes256 -out server.key 1024
  4. Entfernen Sie die Passphrase aus dem Schlüssel:
    sudo openssl rsa -in server.key -out server.key
  5. Zertifikatsignierungsanfrage für Zertifizierungsstelle generieren:
    sudo openssl req -x509 -sha256 -new -key server.key -out server.csr
  6. Selbst signiertes Zertifikat mit einer Ablaufzeit von 365 Tagen generieren:
    sudo openssl x509 -sha256 -days 365 -in server.csr -signkey server.key -out selfsigned.crt
  7. sudo chown apigee:apigee server.key
  8. sudo chown apigee:apigee selfsigned.crt

Wenn Sie TLS im Edge-SSO-Modul durch Festlegen von SSO_TOMCAT_PROFILE auf SSL_TERMINATION oder SSL_PROXY aktivieren möchten, können Sie kein selbst signiertes Zertifikat verwenden. Sie müssen ein Zertifikat von einer Zertifizierungsstelle generieren. Weitere Informationen finden Sie unter apigee-sso für HTTPS-Zugriff konfigurieren.

Installieren und konfigurieren Sie Edge-SSO für den HTTP-Zugriff

Zum Installieren des Edge-SSO-Moduls apigee-sso müssen Sie denselben Prozess verwenden, den Sie zum Installieren von Edge verwendet haben. Da apigee-sso durch eine RPM-Datei dargestellt wird, muss der Nutzer, der die Installation durchführt, der Root-Nutzer sein oder vollständigen sudo-Zugriff haben. Weitere Informationen finden Sie in der Edge-Installationsübersicht.

Übergeben Sie eine Konfigurationsdatei an das Installationsprogramm. Die Konfigurationsdatei hat das folgende Format:

IP1=hostname_or_ip_of_management_server
IP2=hostname_or_ip_of_UI_and_apigge_sso

## Management Server configuration.
MSIP=$IP1
MGMT_PORT=8080
# Edge sys admin username and password as set when you installed Edge.
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
# Set the protocol for the Edge management API. Default is http. 
# Set to https if you enabled TLS on the management API.
MS_SCHEME=http

## Postgres configuration.
PG_HOST=$IP1
PG_PORT=5432
# Postgres username and password as set when you installed Edge.
PG_USER=apigee
PG_PWD=postgres

# apigee-sso configuration.
SSO_PROFILE="saml"
# Externally accessible IP or DNS name of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP2
# Default port is 9099. If changing, set both properties to the same value.
SSO_PUBLIC_URL_PORT=9099
SSO_TOMCAT_PORT=9099
# Set Tomcat TLS mode to DEFAULT to use HTTP access to apigee-sso.
SSO_TOMCAT_PROFILE=DEFAULT
SSO_PUBLIC_URL_SCHEME=http

# SSO admin user name. The default is ssoadmin.
SSO_ADMIN_NAME=ssoadmin
# SSO admin password using uppercase, lowercase, number, and special chars.
SSO_ADMIN_SECRET=Secret123

# Enable the ability to sign an authentication request with SAML SSO.
SSO_SAML_SIGN_REQUEST=y

# Path to signing key and secret from "Create the TLS keys and certificates" above.
SSO_JWT_SIGNING_KEY_FILEPATH=/opt/apigee/customer/application/apigee-sso/jwt-keys/privkey.pem
SSO_JWT_VERIFICATION_KEY_FILEPATH=/opt/apigee/customer/application/apigee-sso/jwt-keys/pubkey.pem

# Name of SAML IDP. For example, okta or adfs.
SSO_SAML_IDP_NAME=okta
# Text displayed to user when they attempt to access Edge UI.
SSO_SAML_IDP_LOGIN_TEXT="Please log in to your IDP"

# The metadata URL from your IDP.
# If you have a metadata file, and not a URL, 
# see "Specifying a metadata file instead of a URL" below.
SSO_SAML_IDP_METADATA_URL=https://dev-343434.oktapreview.com/app/exkar20cl/sso/saml/metadata

# Specifies to skip TLS validation for the URL specified
# by SSO_SAML_IDP_METADATA_URL. Necessary if URL uses a self-signed cert. 
# Default value is "n".
SSO_SAML_IDPMETAURL_SKIPSSLVALIDATION=n

# SAML service provider key and cert from "Create the TLS keys and certificates" above.
SSO_SAML_SERVICE_PROVIDER_KEY=/opt/apigee/customer/application/apigee-sso/saml/server.key
SSO_SAML_SERVICE_PROVIDER_CERTIFICATE=/opt/apigee/customer/application/apigee-sso/saml/selfsigned.crt
# The passphrase used when you created the SAML cert and key.
# The section "Create the TLS keys and certificates" above removes the passphrase,
# but this property is available if you require a passphrase.
# SSO_SAML_SERVICE_PROVIDER_PASSWORD=samlSP123

# Requires that SAML responses be signed by your IDP.
SSO_SAML_SIGNED_ASSERTIONS=y

# Must configure an SMTP server so Edge SSO can send emails to users.
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
# omit for no username
SMTPPASSWORD=smtppwd
# omit for no password
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

So installieren Sie das Edge-SSO-Modul:

  1. Melden Sie sich im Verwaltungsserver-Knoten an. Auf diesem Knoten sollte apigee-service bereits installiert sein, wie unter Dienstprogramm für Edge Apigee-Setup installieren beschrieben.

    Beachten Sie, dass Sie Edge-SSO auf einem anderen Knoten installieren können. Der Knoten muss jedoch über Port 8080 auf den Management Server zugreifen können.

  2. apigee-sso installieren und konfigurieren:
    /opt/apigee/apigee-setup/bin/setup.sh -p sso -f configFile

    Dabei ist configFile die oben gezeigte Konfigurationsdatei.

  3. Installieren Sie das Dienstprogramm apigee-ssoadminapi.sh, mit dem Administratoren und Computernutzer für das Modul apigee-sso verwaltet werden:
    /opt/apigee/apigee-service/bin/apigee-service apigee-ssoadminapi install
  4. Melden Sie sich von der Shell ab und anschließend wieder an, um Ihrem Pfad das Dienstprogramm apigee-ssoadminapi.sh hinzuzufügen.

Geben Sie eine Metadatendatei anstelle einer URL an

Wenn Ihr IdP eine HTTP/HTTPS-Metadaten-URL nicht unterstützt, können Sie eine Metadaten-XML-Datei verwenden, um Edge-SSO zu konfigurieren:

  1. Kopieren Sie den Inhalt der Metadaten-XML von Ihrem IdP in eine Datei auf dem Edge-SSO-Knoten. Kopieren Sie beispielsweise die XML-Datei in folgende Datei:
    /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  2. Ändern Sie die Eigentümerschaft der Datei in Apigee:apigee:
    chown apigee:apigee /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  3. Legen Sie den Wert von SSO_SAML_IDP_METADATA_URL auf den absoluten Dateipfad fest:
    SSO_SAML_IDP_METADATA_URL=file:///opt/apigee/customer/application/apigee-sso/saml/metadata.xml

    Sie müssen dem Dateipfad das Präfix „file://“ voranstellen, gefolgt vom absoluten Pfad vom Stammverzeichnis (/).