Utilizzo di SAML con attività automatizzate

Edge per Private Cloud v4.18.01

Quando si utilizza SAML con l'API Edge, il processo utilizzato per ottenere l'accesso OAuth2 e i token di aggiornamento dall'asserzione SAML è chiamato flusso di passcode. Con il flusso di passcode, si utilizza un browser per ottenere un passcode una-tantum da utilizzare per ottenere i token OAuth2.

Tuttavia, il tuo ambiente di sviluppo potrebbe supportare l'automazione per attività di sviluppo comuni, come l'automazione dei test o l'integrazione continua/deployment continuo (CI/CD). Per automatizzare queste attività quando SAML è abilitato, è necessario ottenere e aggiornare i token OAuth2 senza dover copiare/incollare un passcode da un browser.

Edge supporta la generazione automatica di token tramite l'uso di utenti macchina. Un utente delle macchine può ottenere i token OAuth2 senza dover specificare un passcode. Ciò significa che puoi automatizzare completamente il processo di recupero e aggiornamento dei token OAuth2 utilizzando l'API Edge Management.

Crea un utente della macchina

Utilizza l'utilità apigee-ssoadminapi.sh per creare un utente macchina per un'organizzazione SAML. Per saperne di più, consulta la pagina Utilizzo di apigee-ssoadminapi.sh. Puoi creare un singolo utente di macchina utilizzato da tutte le tue organizzazioni oppure un utente macchina distinto per ogni organizzazione.

L'utente della macchina viene creato e archiviato nel datastore Edge, non nel tuo provider di identità SAML. Di conseguenza, non sei responsabile della manutenzione dell'utente della macchina utilizzando l'UI perimetrale e l'API di gestione perimetrale.

Quando crei l'utente della macchina, devi specificare un indirizzo email e una password. Dopo aver creato l'utente della macchina, devi assegnarlo a una o più organizzazioni.

Per creare un utente della macchina:

  1. Utilizza il seguente comando apigee-ssoadminapi.sh per creare l'utente della macchina:
    > apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME --secret SSO_ADMIN_SECRET --host edge_sso_IP_or_DNS -u machine_user_email__p

    • SSO_ADMIN_NAME è il nome utente dell'amministratore definito dalla proprietà SSO_ADMIN_NAME nel file di configurazione utilizzato per configurare il modulo SSO Edge. Il valore predefinito è ssoadmin.
    • SSO_ADMIN_SECRET è la password di amministratore specificata dalla proprietà SSO_ADMIN_SECRET nel file di configurazione.

      In questo esempio, puoi omettere i valori di --port e --ssl perché il modulo apigee-sso utilizza i valori predefiniti 9099 per --port e http per --ssl. Se l'installazione non utilizza questi valori predefiniti, specificali in modo appropriato.
  2. Accedi all'interfaccia utente di Edge e aggiungi l'indirizzo email dell'utente della macchina alle tue organizzazioni, quindi assegna all'utente della macchina il ruolo necessario. Per saperne di più, consulta Aggiungere utenti globali.

Recupera e aggiorna il token dell'utente della macchina

Utilizza l'API Edge per ottenere e aggiornare i token OAuth2 passando le credenziali dell'utente della macchina, anziché un passcode.

Per ottenere i token OAuth2 per l'utente della macchina:

  1. Usa la seguente chiamata API per generare i token di accesso e aggiornamento iniziali:
    > curl -H "Content-Type: application/x-www-form-urlcoded;charset=utf-8" /
    -H "accept: application/json;charset=utf-8" /
    -H "Authorization: Basic ZWRnZWN Authorizationx-e-password nomeutente" La chiamata stampa i token di accesso e di aggiornamento sullo schermo. Salva i token per utilizzarli in seguito.
  2. Passa il token di accesso a una chiamata all'API Edge Management come intestazione di connessione:
    > curl -H "Authorization: Bearer access_token" http://ms_IP_DNS:8080/v1/organizations/orgName

    dove orgName è il nome dell'organizzazione che contiene l'utente della macchina.
  3. Per aggiornare in un secondo momento il token di accesso, utilizza la chiamata seguente che include il token di aggiornamento:
    > curl -H "Content-Type:application/x-www-form-urlcoded;charset=utf-8" /
    -H "Accetta: application/json;charset=utf-8" /
    -H "Authorization: Basic ZWRnZtokensaTplZG credential: Basic ZWRnZtokensaTplZGrefresh


    edge_sso_IP_DNS

Crea un utente della macchina utilizzando l'API di gestione perimetrale

Puoi creare un utente della macchina utilizzando l'API di gestione perimetrale anziché l'utilità apigee-ssoadminapi.sh. Per creare un utente della macchina:

  1. Utilizza il seguente comando cURL per ottenere un token per l'utente ssoadminET, il nome utente dell'account admin.






    edge_sso_IP_DNS

    Questo comando mostra un token che ti servirà per effettuare la chiamata successiva.
  2. Usa il seguente comando cURL per creare l'utente della macchina, passando il token che hai ricevuto nel passaggio precedente:
    > curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST /
    -H "Accetta: application/json" -H "Content-Type: application/json" steps/
    email-d '


  3. Accedi all'interfaccia utente di Edge e aggiungi l'indirizzo email dell'utente della macchina alle tue organizzazioni, quindi assegna all'utente della macchina il ruolo necessario. Per saperne di più, consulta Aggiungere utenti globali.