Configura il portale per l'utilizzo di IdP esterni

Il portale Servizi per gli sviluppatori Apigee (o semplicemente il portale) funge da client di Apigee Edge. Ciò significa che il portale non funziona come un sistema autonomo. Invece, gran parte delle informazioni utilizzate dal portale viene effettivamente archiviata su Edge. Se necessario, il portale invia una richiesta per recuperare informazioni da Edge o per inviarle a Edge.

Il portale è sempre associato a una singola organizzazione Edge. Quando configuri il portale, puoi specificare le credenziali di autenticazione di base (nome utente e password) per un account dell'organizzazione che il portale utilizza per comunicare con Edge.

Se scegli di abilitare un IdP esterno, ad esempio SAML o LDAP, per l'autenticazione Edge, puoi configurare il portale in modo che utilizzi quell'autenticazione quando invii richieste a Edge. La configurazione del portale per l'utilizzo di un IdP esterno crea automaticamente un nuovo account utente della macchina nell'organizzazione Edge, che verrà poi utilizzato dal portale per effettuare richieste a Edge. Per saperne di più sugli utenti delle macchine, consulta Automatizzare le attività per gli IdP esterni.

Il supporto di un IdP esterno per il portale richiede che tu abbia già installato e configurato il modulo SSO Apigee sul nodo Edge Management Server. La procedura generale per abilitare un IdP esterno per il portale è la seguente:

  1. Installa il modulo SSO Apigee, come descritto in Installare Apigee SSO per l'alta disponibilità.
  2. Installa il portale e assicurati che l'installazione funzioni correttamente. Vedi Installare il portale.
  3. Configura SAML o LDAP sul portale, come descritto in questa sezione.
  4. (Facoltativo) Disabilita l'autenticazione di base su Edge, come descritto in Disattivare l'autenticazione di base su Edge.

Crea un utente della macchina per il portale

Quando è abilitato un IdP esterno, Edge supporta la generazione automatica di token OAuth2 tramite l'uso di utenti della macchina. Un utente delle macchine può ottenere i token OAuth2 senza dover specificare un passcode. Ciò significa che puoi automatizzare completamente il processo di ottenimento e aggiornamento dei token OAuth2.

Il processo di configurazione dell'IdP per il portale crea automaticamente un utente macchina nell'organizzazione associata al portale. Il portale utilizza quindi questo account utente della macchina per connettersi a Edge. Per saperne di più sugli utenti delle macchine, consulta Automatizzare le attività per gli IdP esterni.

Informazioni sull'autenticazione per gli account sviluppatore del portale

Quando configuri il portale per l'utilizzo di un IdP esterno, consenti al portale di utilizzare SAML o LDAP per l'autenticazione con Edge, in modo che il portale possa effettuare richieste a Edge. Tuttavia, il portale supporta anche un tipo di utente chiamato sviluppatori.

Gli sviluppatori costituiscono la community di utenti che creano app utilizzando le tue API. Gli sviluppatori di app utilizzano il portale per conoscere le tue API, registrare le app che le utilizzano, interagire con la community di sviluppatori e visualizzare informazioni statistiche sull'utilizzo delle app in una dashboard.

Quando uno sviluppatore accede al portale, quest'ultimo è responsabile dell'autenticazione dello sviluppatore e dell'applicazione delle autorizzazioni basate sui ruoli. Il portale continua a utilizzare l'autenticazione di base con gli sviluppatori anche dopo che hai abilitato l'autenticazione IdP tra il portale ed Edge. Per maggiori informazioni, consulta la sezione Comunicazione tra il portale ed Edge.

È possibile anche configurare il portale in modo che utilizzi SAML o LDAP per l'autenticazione degli sviluppatori. Per un esempio sull'attivazione di SAML utilizzando moduli Drupal di terze parti, consulta Integrazione dell'accesso SSO tramite SAML con il portale per gli sviluppatori.

File di configurazione IDP per il portale

Per configurare un IdP esterno per il portale, devi creare un file di configurazione che definisca le impostazioni del portale.

L'esempio seguente mostra un file di configurazione del portale con supporto IDP:

# IP address of Edge Management Server and the node on which the Apigee SSO module is installed.
IP1=22.222.22.222

# URL of Edge management API.
MGMT_URL=http://$IP1:8080/v1

# Organization associated with the portal.
EDGE_ORG=myorg

# Information about the Apigee SSO module (apigee-sso).
# Externally accessible IP or DNS of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP1
SSO_PUBLIC_URL_PORT=9099
# Default is http. Set to https if you enabled TLS on apigee-sso.
SSO_PUBLIC_URL_SCHEME=http

# SSO admin credentials as set when you installed apigee-sso.
SSO_ADMIN_NAME=ssoadmin
SSO_ADMIN_SECRET=Secret123

# Enables or disables external IDP support.
# Default is "n", which disables external IDP support.
# Change it to "y" to enable external IDs support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth2 client used to connect to apigee-sso.
# The default client name is portalcli.
PORTALCLI_SSO_CLIENT_NAME=portalcli
# OAuth client password using uppercase, lowercase, number, and special characters.
PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1

# Email address and user info for the machine user created in the Edge org specified
# above by EDGE_ORG.
# This account is used by the portal to make requests to Edge.
# Add this email as an org admin before configuring the portal to use an external IDP.
DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com
DEVPORTAL_ADMIN_FIRSTNAME=DevPortal
DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin
DEVPORTAL_ADMIN_PWD=Abcdefg@1

# If set, the existing portal OAuth client is deleted and a new one is created.
# The default value is "n".
# Set to "y" when you configure the external IDP and change the value of
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

Per attivare il supporto dell'IdP esterno sul portale:

  1. Nella UI di Edge, aggiungi l'utente della macchina specificato da DEVPORTAL_ADMIN_EMAIL all'organizzazione associata al portale come Amministratore organizzazione.
  2. Esegui questo comando per configurare l'IdP esterno sul portale:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile

    Dove configFile è il file di configurazione descritto sopra.

  3. Accedi al portale come amministratore del portale.
  4. Nel menu principale di Drupal, seleziona Configuration > Dev Portal (Configurazione > Portale di sviluppo). Viene visualizzata la schermata di configurazione del portale, incluse le impostazioni dell'IdP esterno:

    Tieni presente quanto segue:

    • La casella Questa organizzazione è abilitata per SAML sia selezionata
    • L'endpoint per il modulo SSO Apigee è compilato
    • I campi Chiave API e Segreto utente per il client OAuth del portale sono stati compilati
    • Sotto il pulsante Verifica connessione viene visualizzato il messaggio Connessione riuscita.
  5. Fai clic sul pulsante Verifica connessione per ripetere il test della connessione in qualsiasi momento.

Per modificare questi valori in un secondo momento, aggiorna il file di configurazione ed esegui di nuovo questa procedura.

Disattiva un IdP esterno sul portale

Se scegli di disabilitare il tuo IdP esterno per le comunicazioni tra il portale ed Edge, il portale non sarà più in grado di inviare richieste a Edge. Gli sviluppatori possono accedere al portale ma non visualizzare il prodotto o creare app.

Per disattivare l'autenticazione IdP esterna sul portale:

  1. Apri il file di configurazione utilizzato in precedenza per attivare l'IdP esterno.
  2. Imposta il valore della proprietà DEVPORTAL_SSO_ENABLED su n, come illustrato nell'esempio seguente:
    DEVPORTAL_SSO_ENABLED=n
  3. Configura il portale eseguendo questo comando:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile