Installare e configurare SSO SSO

Edge per Private Cloud v4.19.01

L'installazione e la configurazione del modulo SSO perimetrale richiede prima di generare due set di Chiavi e certificati TLS. Il modulo SSO perimetrale utilizza il protocollo TLS per proteggere la trasmissione delle informazioni nell'ambito del processo di handshake SAML con l'IdP SAML.

Creare le chiavi e i certificati TLS

I passaggi descritti di seguito consentono di creare certificati autofirmati, il che potrebbe essere utile per il tuo ambiente di test, ma in genere sono necessari certificati firmati da un'autorità di certificazione per un ambiente di produzione.

Per creare la chiave di verifica e di firma e il certificato autofirmato:

  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

Per creare la chiave e il certificato autofirmato, senza passphrase, per la comunicazione con SAML IDP:

  1. sudo mkdir -p /opt/apigee/customer/application/apigee-sso/saml/
  2. cd /opt/apigee/customer/application/apigee-sso/saml/
  3. Genera la tua chiave privata con una passphrase:
    sudo openssl genrsa -aes256 -out server.key 1024
  4. Rimuovi la passphrase dalla chiave:
    sudo openssl rsa -in server.key -out server.key
  5. Genera richiesta di firma del certificato per CA:
    sudo openssl req -x509 -sha256 -new -key server.key -out server.csr
  6. Genera un certificato autofirmato con una data di scadenza di 365 giorni:
    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

Se vuoi abilitare TLS nel modulo SSO perimetrale, impostando SSO_TOMCAT_PROFILE su SSL_TERMINATION oppure a SSL_PROXY, non puoi utilizzare un certificato autofirmato. Devi generare certificato di una CA. Vedi Configurare apigee-sso per HTTPS access per saperne di più.

Installare e configurare l'accesso SSO perimetrale per HTTP accesso

Per installare il modulo SSO Edge, apigee-sso, devi utilizzare la stessa procedura usato per installare Edge. Poiché apigee-sso è rappresentato da un file RPM, Ciò significa che l'utente che esegue l'installazione deve essere l'utente root o essere un utente con sudo completo l'accesso. Per ulteriori informazioni, consulta la Panoramica dell'installazione di Edge.

Passa un file di configurazione al programma di installazione. Il file di configurazione ha il seguente formato:

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>"

Per installare il modulo SSO Edge:

  1. Accedi al nodo del server di gestione. Il nodo dovrebbe già avere App apigee-service installata come descritto all'indirizzo Installa l'utilità apigee-setup Edge.

    Tieni presente che puoi installare l'accesso SSO perimetrale su un nodo diverso. Tuttavia, quel nodo deve essere in grado per accedere al server di gestione tramite la porta 8080.

  2. Installa e configura apigee-sso:
    /opt/apigee/apigee-setup/bin/setup.sh -p sso -f configFile

    Dove configFile è il file di configurazione mostrato sopra.

  3. Installa l'utilità apigee-ssoadminapi.sh utilizzata per gestisci amministratori e utenti della macchina per il modulo apigee-sso:
    /opt/apigee/apigee-service/bin/apigee-service apigee-ssoadminapi install
  4. Esci dalla shell e accedi di nuovo per aggiungere apigee-ssoadminapi.sh per il tuo percorso.

Specifica un file di metadati anziché un URL

Se il tuo IdP non supporta un URL di metadati HTTP/HTTPS, puoi utilizzare un file XML di metadati per configurare l'accesso SSO perimetrale

  1. Copia i contenuti del file XML dei metadati dal tuo IdP in un file sul nodo SSO Edge. Per Ad esempio, copia il file XML in:
    /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  2. Cambia la proprietà del file in apigee:apigee:
    chown apigee:apigee /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  3. Imposta il valore di SSO_SAML_IDP_METADATA_URL sul percorso file assoluto:
    SSO_SAML_IDP_METADATA_URL=file:///opt/apigee/customer/application/apigee-sso/saml/metadata.xml

    Devi anteporre al percorso del file "file://", seguito dal percorso assoluto da radice (/).