Edge per Private Cloud v4.18.05
Quando si utilizza SAML con l'API Edge, il processo utilizzato per ottenere l'accesso OAuth2 i token di aggiornamento dell'asserzione SAML è chiamato flusso di passcode. Con il flusso dei passcode, utilizzare un browser per ottenere un passcode monouso 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 quando SAML è abilitato, è necessario un modo per ottenere e aggiornare i token OAuth2 dover copiare/incollare un passcode da un browser.
Edge supporta la generazione automatica di token tramite l'uso di utenti di macchine. Un utente della macchina può ottenere i token OAuth2 senza dover specificare un passcode. Ciò significa che puoi automatizzare completamente il processo per ottenere e aggiornare i token OAuth2 utilizzando l'API Edge Management.
Crea un utente della macchina
Usa apigee-ssoadminapi.sh
per creare un utente della macchina per un'organizzazione SAML. Consulta la sezione Informazioni sull'uso
apigee-ssoadminapi.sh per saperne di più. Puoi creare un singolo utente della macchina utilizzato da tutti i tuoi
organizzazioni o creare un utente di macchina separato per ciascuna organizzazione.
L'utente della macchina viene creato e archiviato nel datastore Edge, non nella tua identità SAML. o il provider di servizi di terze parti. Pertanto, non sei responsabile della manutenzione dell'utente della macchina utilizzando API di gestione isolata e perimetrale.
Quando crei l'utente della macchina, devi specificare un indirizzo email e una password. Dopo il giorno creando l'utente della macchina, lo assegni a una o più organizzazioni.
Per creare un utente della macchina:
- Usa questo 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 machine_user_password
Dove:
- SSO_ADMIN_NAME è il nome utente dell'amministratore definito
SSO_ADMIN_NAME
proprietà in il file di configurazione utilizzato per configurare il modulo SSO Edge. L'impostazione predefinita èssoadmin
. - SSO_ADMIN_SECRET è la password dell'amministratore specificata dal
SSO_ADMIN_SECRET
nel file di configurazione.
In questo esempio, puoi omettere i valori per
--port
e--ssl
perché il moduloapigee-sso
utilizza il valore predefinito valori di 9099 per--port
e http per--ssl
. Se le tue durante l'installazione non utilizzano queste impostazioni predefinite, specificale in base alle esigenze. - SSO_ADMIN_NAME è il nome utente dell'amministratore definito
- Accedi alla UI Edge e aggiungi l'email dell'utente della macchina alle tue organizzazioni, quindi assegna all'utente della macchina il ruolo necessario. Consulta la sezione Aggiunta di utenti globali per altro ancora.
Ottieni e aggiorna il token dell'utente della macchina
Utilizza l'API Edge per ottenere e aggiornare i token OAuth2 trasmettendo il parametro delle credenziali, 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-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://edge_sso_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
Salva i token per utilizzarli in un secondo momento.
- Passa il token di accesso a una chiamata 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 contenente l'utente della macchina.
- Per aggiornare in un secondo momento il token di accesso, utilizza la seguente chiamata che include l'aggiornamento
token:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://edge_sso_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken'
Crea un utente della macchina utilizzando Edge API di gestione
Puoi creare un utente della macchina utilizzando l'API Edge Management anziché utilizzare
Utilità apigee-ssoadminapi.sh
.
Per creare un utente della macchina:
- Usa il seguente comando
curl
per ottenere un token per l'utentessoadmin
, nome utente dell'account amministratore perapigee-sso
:curl "http://edge_sso_IP_DNS:9099/oauth/token" -i -X POST \ -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \ -d "response_type=token" -d "grant_type=client_credentials" \ --data-urlencode "client_secret=SSO_ADMIN_SECRET" \ --data-urlencode "client_id=ssoadmin"
Dove SSO_ADMIN_SECRET è la password amministratore che hai impostato durante l'installazione
apigee-sso
come specificato dalla proprietàSSO_ADMIN_SECRET
in di configurazione del deployment.Questo comando visualizza un token necessario per effettuare la chiamata successiva.
- Utilizza il seguente comando
curl
per creare l'utente della macchina, trasmettendo il token ricevute nel passaggio precedente:curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \ -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' \ -H "Authorization: Bearer token"
Dovrai utilizzare la password dell'utente della macchina nei passaggi successivi.
- Accedi alla UI Edge e aggiungi l'email dell'utente della macchina alle tue organizzazioni, quindi assegna all'utente della macchina il ruolo necessario. Per saperne di più, consulta Aggiunta di utenti globali.