Automatizza il processo di generazione dei token

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Quando utilizzi SAML con l'API Edge, la procedura che utilizzi per ottenere i token di accesso e di aggiornamento OAuth2 dall'asserzione SAML è chiamata flusso del codice di accesso. Con il flusso del passcode, utilizzi un browser per ottenere un passcode monouso che poi utilizzi per ottenere i token OAuth2.

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

Informazioni sugli utenti macchina

Apigee Edge supporta gli utenti macchina nella tua organizzazione abilitata per SAML. Gli utenti macchina vengono utilizzati esclusivamente per l'automazione e non sono accessibili direttamente da una persona.

Un utente macchina può ottenere i token OAuth2 senza dover specificare un codice di accesso. Ciò significa che puoi automatizzare completamente la procedura di di ottenimento e aggiornamento dei token OAuth2 utilizzando l'API Edge.

Passaggi per automatizzare la procedura di generazione dei token

Per automatizzare la procedura di generazione dei token:

Passaggio Descrizione
1 Crea un utente macchina nella zona di identità SAML
2 Assegna i ruoli richiesti all'utente macchina nella tua organizzazione Edge
3 Recupera i token OAuth2 dell'utente macchina

Video: guarda un breve video per scoprire come automatizzare l'accesso alle API Apigee Edge utilizzando le credenziali dell'utente macchina.

Gestire gli utenti macchina per le zone di identità SAML

Apigee fornisce l'interfaccia a riga di comando (CLI) di gestione degli utenti macchina per creare e gestire gli account utente macchina. I passaggi per utilizzare la CLI di gestione degli utenti macchina sono descritti nelle sezioni seguenti.

Utilizzare la CLI

Per utilizzare la CLI di gestione degli utenti macchina, scarica e decomprimi il seguente file: usermgmt.tar.gz(1)

Il formato per chiamare la CLI è il seguente:

usermgmt_platform [command] [flags]

La tabella seguente riassume le piattaforme supportate e il comando corrispondente per chiamare la CLI di gestione degli utenti macchina. Gli eseguibili si trovano nella directory usermgmt.

Piattaforma 32-bit 64-bit
Linux usermgmt_linux_386 usermgmt_linux_amd64
Mac usermgmt_darwin_386 usermgmt_darwin_amd64
Windows usermgmt_windows_386 usermgmt_windows_amd64

La tabella seguente riassume i comandi che possono essere specificati.

Comando Ulteriori informazioni
create Creare un utente macchina in una zona di identità
delete Eliminare un utente macchina in una zona di identità
help Ricevere assistenza per l'utilizzo della CLI
list Elencare tutti gli utenti macchina in una zona di identità
reset Reimpostare la password per un utente macchina in una zona di identità

Facoltativamente, puoi passare uno dei seguenti flag per visualizzare la guida sul comando specificato: -h o --help

Accedere alla CLI

La prima volta che esegui la CLI in un periodo di 24 ore, ti viene chiesto di inserire le credenziali dell'account zoneadmin.

Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip

La CLI di gestione degli utenti macchina archivia un token di accesso sulla tua macchina locale, quindi devi accedere solo una volta ogni 24 ore.

Ricevere assistenza per l'utilizzo della CLI

Visualizza le informazioni sull'utilizzo della CLI utilizzando il usermgmt_platform help comando. Per un elenco delle piattaforme supportate, consulta Utilizzare la CLI.

usermgmt_platform help

Vengono visualizzate le seguenti informazioni di assistenza:

A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.

Usage:
  usermgmt [flags]
  usermgmt [command]

Available Commands:
  create  Creates a machine users in an identity zone.
  delete  Deletes a machine users in an identity zone.
  help    Help about any command
  list    Lists the machine users in an identity zone.
  reset   Resets the password for a machine user in an identity zone.

Flags:
  -h, --help               help for usermgmt

Use "usermgmt [command] --help" for more information about a command.

Visualizza la guida su un comando specifico passando sia il comando sia il flag -h o --help nella riga di comando.

Ad esempio, per ricevere assistenza sul comando list:

usermgmt_platform list -h

Vengono visualizzate le seguenti informazioni di assistenza:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

Creare un utente macchina in una zona di identità

Crea un utente macchina in una zona di identità utilizzando il usermgmt_platform create comando. Per un elenco delle piattaforme supportate, consulta Utilizzare la CLI.

  1. Inserisci questo comando:
    usermgmt_platform create

    Viene visualizzato l'elenco delle zone di identità:

    myzone1
    myzone2
  2. Inserisci il nome di una zona al prompt:
    Enter a zone name: myzone1
  3. Inserisci un nome utente per l'utente macchina:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. Inserisci una password per l'utente macchina. Quando richiesto, inserisci di nuovo la password.
    Password: password
    Re-enter password: password 

    L'utente viene creato.

    Created machine user machineuser1@mycompany.com

Elencare tutti gli utenti macchina in una zona di identità

Elenca tutti gli utenti macchina in una zona di identità utilizzando il comando usermgmt_platform list. Per un elenco delle piattaforme supportate, consulta Utilizzare la CLI.

  1. Inserisci questo comando:
    usermgmt_platform list
    Viene visualizzato l'elenco delle zone di identità:
    myzone1
    myzone2
  2. Inserisci il nome di una zona al prompt:
    Enter a zone name: myzone1

    Viene visualizzato l'elenco degli utenti macchina nella zona di identità:

    Machine users in the zone:
    machineuser1@mycompany.com
        

Reimpostare la password per un utente macchina in una zona di identità

Reimposta la password per un utente macchina in una zona di identità utilizzando il comando usermgmt_platform reset. Per un elenco delle piattaforme supportate, consulta Utilizzare la CLI.

  1. Inserisci questo comando:
    usermgmt_platform reset

    Viene visualizzato l'elenco delle zone di identità:

    myzone1
    myzone2
  2. Inserisci il nome di una zona al prompt:
    Enter a zone name: myzone1
  3. Inserisci il nome utente dell'utente macchina per il quale vuoi reimpostare la password:
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. Inserisci una nuova password per l'utente macchina. Quando richiesto, inserisci di nuovo la password.
    Enter the new password: password
    Re-enter password: password

    La password viene reimpostata.

    Reset password for machine user machineuser1@mycompany.com

Eliminare un utente macchina in una zona di identità

Elimina un utente macchina in una zona di identità utilizzando il usermgmt_platform delete comando. Per un elenco delle piattaforme supportate, consulta Utilizzare la CLI.

  1. Inserisci questo comando:
    usermgmt_platform delete
    Viene visualizzato l'elenco delle zone di identità:
    myzone1
    myzone2
  2. Inserisci il nome di una zona al prompt:
    Enter a zone name: myzone1
  3. Inserisci il nome utente dell'utente macchina che vuoi eliminare:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    L'utente macchina viene eliminato.

    Deleted user machineuser1@mycompany.com

Assegnare i ruoli richiesti all'utente macchina nella tua organizzazione Edge

Utilizzando l'interfaccia utente, aggiungi l'utente macchina alla tua organizzazione Edge abilitata per SAML e assegnagli i ruoli richiesti (ad esempio amministratore dell'organizzazione), come descritto in Aggiungere utenti.

Recuperare i token OAuth2 dell'utente macchina

Puoi automatizzare la procedura di generazione dei token e gestire la memorizzazione nella cache dei token per gli utenti macchina con le acurl(1) e get_token(1) utilità, come descritto in OAuth2 per utenti macchina e Utenti macchina nelle zone SAML.

Per recuperare manualmente i token OAuth2 dell'utente macchina con curl:

  1. Utilizza lo strumento di codifica URL che preferisci per codificare il nome utente e la password dell'utente macchina.

    Avviso: utilizza uno strumento di codifica URL interno per assicurarti che le credenziali dell'utente macchina non vengano compromesse.

  2. Genera i token di accesso e di aggiornamento iniziali chiamando l'endpoint del token SAML, come mostrato nell'esempio seguente:
    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 \
      https://zoneName.login.apigee.com/oauth/token -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

    Per l'autorizzazione, passa la credenziale client OAuth2 riservata, ZWRnZWNsaTplZGdlY2xpc2VjcmV0, nell' Authorization intestazione. La chiamata stampa i token di accesso e di aggiornamento su stdout.

  3. Passa il token di accesso a una chiamata API di gestione Edge come intestazione Bearer:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. Quando il token di accesso scade, puoi aggiornarlo inviando il token di aggiornamento all'endpoint del token SAML token, come mostrato nell'esempio seguente:
    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 \
      https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) Copyright 2023 Google LLC
Gli strumenti usermgmt, acurl e get_token sono resi disponibili come "Software" ai sensi del contratto che regola l'utilizzo di Google Cloud Platform, inclusi i Termini specifici dei servizi disponibili all'indirizzo https://cloud.google.com/terms/service-terms.