Edge per Private Cloud v. 4.17.09
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:
- 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.
- 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:
- Utilizza la seguente chiamata API per generare i token di accesso e di aggiornamento iniziali:
> curl -H "Content-Type: application/x-www-form-urlcoded;charset=utf-8" /
-H "accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2"
edge_sso_IP_DNS La chiamata stampa i token di accesso e di aggiornamento sullo schermo. Salva i token per utilizzarli in seguito. - 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. - Per aggiornare in un secondo momento il token di accesso, utilizza la seguente chiamata 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:
- 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. - 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 ' - 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.