Configurazione del portale Servizi per gli sviluppatori per l'utilizzo di SAML per comunicare con Edge

Edge for Private Cloud v. 4.17.09

Il portale Servizi per gli sviluppatori funge da client di Apigee Edge. Ciò significa che il portale non funziona come sistema autonomo. Invece, gran parte delle informazioni utilizzate dal portale è effettivamente archiviata su Edge. Se necessario, il portale effettua una richiesta per recuperare informazioni da Edge o per inviare informazioni 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 nell'organizzazione che il portale utilizza per comunicare con Edge.

Se scegli di attivare SAML per l'autenticazione Edge, puoi configurare il portale in modo che utilizzi l'autenticazione SAML quando effettua richieste a Edge. La configurazione del portale per l'utilizzo di SAML crea automaticamente un nuovo account utente macchina nell'organizzazione Edge, che il portale utilizza per effettuare richieste a Edge. Per saperne di più sugli utenti macchina, consulta Utilizzare SAML con attività automatizzate.

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

  1. Configura SAML su Edge come descritto in Installazione e configurazione di SAML per Edge. Nota: l'autenticazione di base deve essere ancora abilitata su Edge per installare il portale. Non disattivare l'autenticazione di base su Edge finché non hai configurato il portale per l'utilizzo di SAML.
  2. Installa il portale e assicurati che l'installazione funzioni correttamente. Consulta Installazione del portale Edge for Private Cloud Developer Services.
  3. Configura SAML sul portale.
  4. Ora puoi disattivare l'autenticazione di base su Edge.

Creazione di un utente macchina per il portale

Quando SAML è abilitato, Edge supporta la generazione automatica di token OAuth2 tramite l'utilizzo di utenti macchina. Un utente macchina può ottenere 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 SAML per il portale crea automaticamente un utente macchina nell'organizzazione associata al portale. Il portale utilizza quindi questo account utente macchina per connettersi a Edge. Per saperne di più sugli utenti macchina, consulta Utilizzo di SAML con attività automatizzate.

Informazioni sull'autenticazione per gli account sviluppatore del portale

Quando configuri il portale per l'utilizzo di SAML, abiliti il portale a utilizzare SAML per l'autenticazione con Edge in modo che il portale possa inviare richieste a Edge. Tuttavia, il portale supporta anche un tipo di utente chiamato sviluppatore.

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

Quando uno sviluppatore accede al portale, è il portale che è 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 aver attivato SAML tra il portale ed Edge. Per saperne di più, consulta Comunicazione tra il portale ed Edge.

È anche possibile configurare il portale in modo che utilizzi SAML per autenticare gli sviluppatori. Per un esempio di attivazione di SAML utilizzando moduli Drupal di terze parti, consulta https://community.apigee.com/articles/29201/sso-integration-via-saml-with-developer-portal.html.

Configura SAML sul portale per comunicare con Edge

Per configurare SAML per il portale, devi creare un file di configurazione per configurare il portale:

# IP address of Edge Management Server and apigee-sso node.
IP1=22.222.22.222

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

# Org associated with the portal.
EDGE_ORG=myorg

# Information about 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

# Default is "n" to disable SAML support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth 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 chars. 
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 SAML. 
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 new one is created.
# The default value is "n".
# Set to "y" when you configure SAML and change the value of 
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

Per abilitare il supporto SAML sul portale:

  1. Nella UI di Edge, aggiungi l'utente macchina specificato da DEVPORTAL_ADMIN_EMAIL all'organizzazione associata al portale come Organization Administrator.
    Nota: l'utente macchina non esiste ancora, ma viene creato automaticamente nel passaggio successivo.
  2. Esegui questo comando per configurare SAML sul portale:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f samlConfigFile

    dove samlConfigFile è il file di configurazione SAML.
  3. Accedi al portale come amministratore del portale.
  4. Nel menu principale di Drupal, seleziona Configuration > Dev Portal (Configurazione > Portale per sviluppatori). Viene visualizzata la schermata di configurazione del portale, incluse le impostazioni SAML:

    Tieni presente che la casella This org is SAML-enabled (Questa organizzazione è abilitata per SAML) è selezionata, l'endpoint per il modulo Edge SSO è compilato, i campi API key (Chiave API) e Consumer secret (Secret consumer) per il client OAuth del portale sono compilati e il messaggio Connection Successful (Connessione riuscita) viene visualizzato sotto il pulsante Test Connection (Testa connessione).

  5. Puoi premere il pulsante Test Connection (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 il comando.

Disabilita SAML sul portale

Se scegli di disattivare SAML per le comunicazioni tra il portale ed Edge, il portale non potrà più effettuare richieste a Edge. Gli sviluppatori possono accedere al portale, ma non possono visualizzare il prodotto o creare app.

Attenzione: se disattivi SAML, devi riconfigurare il portale in modo che utilizzi SAML o, se Edge è ancora configurato per supportare l'autenticazione di base, configura il portale in modo che comunichi con Edge utilizzando l'autenticazione di base. Per saperne di più sull'utilizzo dell'autenticazione di base, consulta Comunicazione tra il portale ed Edge.

Per disabilitare SAML sul portale:

  1. Modifica il file di configurazione utilizzato per configurare SAM per impostare:
    DEVPORTAL_SSO_ENABLED=n
  2. Configura il portale:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile