La UI di Edge e l'API di gestione Edge funzionano inviando richieste al server di gestione Edge, che supporta i seguenti tipi di autenticazione:
- Autenticazione di base: accedi alla UI di Edge o invia richieste all'API di gestione di Edge passando il nome utente e la password.
- OAuth2: scambia le tue credenziali di autenticazione di base di Edge con un token di accesso OAuth2 e un token di aggiornamento. Effettua chiamate all'API di gestione Edge passando il token di accesso OAuth2 nell'intestazione Bearer di una chiamata API.
Edge supporta l'utilizzo dei seguenti provider di identità (IDP) esterni per l'autenticazione:
- Security Assertion Markup Language (SAML) 2.0: genera token di accesso OAuth dalle asserzioni SAML restituite da un provider di identità SAML.
- Lightweight Directory Access Protocol (LDAP): utilizza i metodi di autenticazione di ricerca e associazione o di associazione semplice di LDAP per generare token di accesso OAuth.
Sia gli IdP SAML che quelli LDAP supportano un ambiente Single Sign-On (SSO). Utilizzando un IDP esterno con Edge, puoi supportare il servizio SSO per l'interfaccia utente e l'API Edge, oltre a tutti gli altri servizi che fornisci e che supportano anche il tuo IDP esterno.
Le istruzioni in questa sezione per abilitare il supporto dell'IDP esterno sono diverse da quelle per l'autenticazione esterna nei seguenti modi:
- Questa sezione aggiunge il supporto per l'SSO
- Questa sezione è rivolta agli utenti della UI di Edge (non della UI classica)
- Questa sezione è supportata solo dalla versione 4.19.06 e successive
Informazioni sull'SSO Apigee
Per supportare SAML o LDAP su Edge, installi apigee-sso, il modulo SSO Apigee.
L'immagine seguente mostra l'SSO Apigee in un'installazione di Edge for Private Cloud:
Puoi installare il modulo SSO Apigee sullo stesso nodo della UI Edge e del server di gestione o su un nodo dedicato. Assicurati che l'SSO Apigee abbia accesso al server di gestione tramite la porta 8080.
La porta 9099 deve essere aperta sul nodo SSO Apigee per supportare l'accesso a SSO Apigee da un browser, dall'IDP SAML o LDAP esterno e dal server di gestione e dalla UI Edge. Nell'ambito della configurazione di SSO Apigee, puoi specificare che la connessione esterna utilizzi il protocollo HTTP o HTTPS criptato.
SSO Apigee utilizza un database Postgres accessibile sulla porta 5432 del nodo Postgres. In genere puoi utilizzare lo stesso server Postgres che hai installato con Edge, un server Postgres autonomo o due server Postgres configurati in modalità master/standby. Se il carico sul server Postgres è elevato, puoi anche scegliere di creare un nodo Postgres separato solo per l'SSO Apigee.
Aggiunto il supporto per OAuth2 a Edge for Private Cloud
Come accennato in precedenza, l'implementazione di SAML in Edge si basa sui token di accesso OAuth2.Pertanto, il supporto di OAuth2 è stato aggiunto a Edge for Private Cloud. Per saperne di più, consulta Introduzione a OAuth 2.0.
Informazioni su SAML
L'autenticazione SAML offre diversi vantaggi. Utilizzando SAML puoi:
- Assumi il controllo completo della gestione degli utenti. Quando gli utenti lasciano l'organizzazione e viene eseguito il deprovisioning centralmente, l'accesso a Edge viene negato automaticamente.
- Controlla il modo in cui gli utenti si autenticano per accedere a Edge. Puoi scegliere diversi tipi di autenticazione per diverse organizzazioni Edge.
- Controllare le policy di autenticazione. Il tuo provider SAML potrebbe supportare criteri di autenticazione più in linea con gli standard della tua azienda.
- Puoi monitorare gli accessi, le disconnessioni, i tentativi di accesso non riusciti e le attività ad alto rischio nel tuo deployment di Edge.
Con SAML abilitato, l'accesso alla UI di Edge e all'API di gestione di Edge utilizza i token di accesso OAuth2. Questi token vengono generati dal modulo SSO Apigee, che accetta le asserzioni SAML restituite dal tuo IdP.
Una volta generato da un'asserzione SAML, il token OAuth è valido per 30 minuti e il token di aggiornamento è valido per 24 ore. Il tuo ambiente di sviluppo potrebbe supportare l'automazione per le attività di sviluppo comuni, come l'automazione dei test o l'integrazione continua/deployment continuo (CI/CD), che richiedono token con una durata maggiore. Per informazioni sulla creazione di token speciali per le attività automatizzate, consulta Utilizzo di SAML con le attività automatizzate.
Informazioni su LDAP
Il protocollo LDAP (Lightweight Directory Access Protocol) è un protocollo di applicazione standard di settore aperto per l'accesso e la gestione dei servizi di informazioni di directory distribuite. I servizi di directory possono fornire qualsiasi insieme organizzato di record, spesso con una struttura gerarchica, come una directory email aziendale.
L'autenticazione LDAP all'interno di SSO Apigee utilizza il modulo Spring Security LDAP. Di conseguenza, i metodi di autenticazione e le opzioni di configurazione per il supporto LDAP di SSO Apigee sono direttamente correlati a quelli presenti in Spring Security LDAP.
LDAP con Edge per il cloud privato supporta i seguenti metodi di autenticazione su un server compatibile con LDAP:
- Ricerca e associazione (associazione indiretta)
- Simple Bind (associazione diretta)
SSO Apigee tenta di recuperare l'indirizzo email dell'utente e di aggiornare il record utente interno con questo indirizzo, in modo che sia presente un indirizzo email corrente nel file, poiché Edge utilizza questa email per scopi di autorizzazione.
URL della UI e dell'API Edge
L'URL che utilizzi per accedere alla UI di Edge e all'API di gestione di Edge è lo stesso utilizzato prima di abilitare SAML o LDAP. Per la UI di Edge:
http://edge_UI_IP_DNS:9000 https://edge_UI_IP_DNS:9000
Dove edge_UI_IP_DNS è l'indirizzo IP o il nome DNS della macchina che ospita la UI Edge. Durante la configurazione della UI Edge, puoi specificare che la connessione utilizzi HTTP o il protocollo HTTPS criptato.
Per l'API di gestione Edge:
http://ms_IP_DNS:8080/v1 https://ms_IP_DNS:8080/v1
Dove ms_IP_DNS è l'indirizzo IP o il nome DNS del server di gestione. Durante la configurazione dell'API, puoi specificare che la connessione utilizzi il protocollo HTTP o il protocollo HTTPS criptato.
Configura TLS su SSO Apigee
Per impostazione predefinita, la connessione all'SSO Apigee utilizza HTTP sulla porta 9099 del nodo che ospita apigee-sso, il modulo SSO Apigee. In apigee-sso è integrata un'istanza Tomcat che gestisce le richieste HTTP e HTTPS.
SSO Apigee e Tomcat supportano tre modalità di connessione:
- DEFAULT: la configurazione predefinita supporta le richieste HTTP sulla porta 9099.
- SSL_TERMINATION: accesso TLS abilitato all'SSO Apigee sulla porta che preferisci. Per questa modalità, devi specificare una chiave e un certificato TLS.
- SSL_PROXY: configura l'SSO Apigee in modalità proxy, il che significa che hai installato un bilanciatore del carico davanti a
apigee-ssoe hai terminato TLS sul bilanciatore del carico. Puoi specificare la porta utilizzata suapigee-ssoper le richieste provenienti dal bilanciatore del carico.
Abilita il supporto di IdP esterni per il portale
Dopo aver abilitato il supporto dell'IdP esterno per Edge, puoi facoltativamente abilitarlo per il portale Apigee Developer Services (o semplicemente il portale). Il portale supporta l'autenticazione SAML e LDAP quando effettua richieste a Edge. Tieni presente che questa autenticazione è diversa da quella SAML e LDAP per l'accesso degli sviluppatori al portale. L'autenticazione IDP esterna per l'accesso degli sviluppatori viene configurata separatamente. Per saperne di più, consulta Configura il portale per l'utilizzo degli IdP.
Durante la configurazione del portale, devi specificare l'URL del modulo SSO Apigee che hai installato con Edge:
