Automatizza il processo di generazione dei token

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

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 passcode. Con il passcode utilizza un browser per ottenere un passcode monouso da utilizzare per ottenere OAuth2. di token.

Tuttavia, il tuo ambiente 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.

Informazioni sugli utenti di macchine

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

Un utente della macchina può ottenere token OAuth2 senza dover specificare un passcode. Ciò significa che puoi automatizzare completamente il processo ottenere e aggiornare i token OAuth2 con l'API Edge.

Passaggi per automatizzare il processo di generazione dei token

Per automatizzare il processo di generazione dei token:

Passaggio Descrizione
1 Crea un utente macchina nella zona di identità SAML
2 Assegna i ruoli richiesti all'utente della macchina nell'organizzazione Edge
3 Recuperare i token OAuth2 degli utenti della macchina

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

Gestisci gli utenti delle macchine per le zone di identità SAML

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

Utilizza l'interfaccia a riga di comando

Per utilizzare l'interfaccia a riga di comando di gestione degli utenti della macchina, devi prima scaricare e annullare la registrazione del file seguente: usermgmt.tar.gz(1)

Il formato per chiamare l'interfaccia a riga di comando è il seguente:

usermgmt_platform [command] [flags]

La tabella seguente riassume le piattaforme supportate e il comando corrispondente per chiamare l'interfaccia a riga di comando di gestione degli utenti della macchina. Gli eseguibili si trovano nella directory usermgmt.

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

La seguente tabella riassume i comandi che puoi specificare.

Comando Ulteriori informazioni
create Crea un utente di macchina in una zona di identità
delete Elimina un utente della macchina in una zona di identità
help Richiedi assistenza per l'utilizzo dell'interfaccia a riga di comando
list Elenca tutti gli utenti delle macchine in una zona di identità
reset Reimpostare la password per un utente di macchina in una zona di identità

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

Accedi all'interfaccia a riga di comando

La prima volta che esegui l'interfaccia a riga di comando in un periodo di 24 ore, ti viene richiesto di inserire le credenziali del tuo 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

L'interfaccia a riga di comando di gestione degli utenti della macchina memorizza un token di accesso sul computer locale in modo che tu debba accedere solo una volta ogni 24 ore.

Ricevi assistenza per l'utilizzo dell'interfaccia a riga di comando

Visualizza le informazioni sull'utilizzo dell'interfaccia a riga di comando usando il comando usermgmt_platform help. Consulta Utilizzare l'interfaccia a riga di comando per l'elenco delle piattaforme supportate.

usermgmt_platform help

Vengono visualizzate le seguenti informazioni della guida:

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 della guida:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

Crea un utente di macchina in una zona di identità

Crea un utente della macchina in una zona di identità utilizzando il comando usermgmt_platform create. Consulta Utilizzare l'interfaccia a riga di comando per l'elenco delle piattaforme supportate.

  1. Inserisci il seguente comando:
    usermgmt_platform create

    Viene visualizzato l'elenco delle zone di identità:

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

    L'utente è stato creato.

    Created machine user machineuser1@mycompany.com

Elenca tutti gli utenti delle macchine in una zona di identità

Elenca tutti gli utenti delle macchine in una zona di identità usando il comando usermgmt_platform list. Consulta Utilizzare l'interfaccia a riga di comando per l'elenco delle piattaforme supportate.

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

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

    Machine users in the zone:
    machineuser1@mycompany.com
        

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

Reimposta la password per un utente della macchina in una zona di identità utilizzando il comando usermgmt_platform reset. Consulta Utilizzare l'interfaccia a riga di comando per l'elenco delle piattaforme supportate.

  1. Inserisci il seguente comando:
    usermgmt_platform reset

    Viene visualizzato l'elenco delle zone di identità:

    myzone1
    myzone2
  2. Inserisci il nome di una zona quando richiesto:
    Enter a zone name: myzone1
  3. Inserisci il nome utente dell'utente della macchina per cui 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 della 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

Elimina un utente della macchina in una zona di identità

Elimina un utente della macchina in una zona di identità utilizzando il comando usermgmt_platform delete. Consulta Utilizzare l'interfaccia a riga di comando per l'elenco delle piattaforme supportate.

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

    L'utente della macchina è stato eliminato.

    Deleted user machineuser1@mycompany.com

Assegna i ruoli richiesti all'utente della macchina nell'organizzazione Edge

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

Recupera i token OAuth2 dell'utente della macchina

Puoi automatizzare il processo di generazione dei token e gestire la memorizzazione nella cache dei token per gli utenti delle macchine con acurlutilità (1) e get_token(1), come descritto in OAuth2 per gli utenti di macchine e Utenti di macchine nelle zone SAML.

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

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

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

  2. Genera i token di accesso e di aggiornamento iniziali chiamando l'endpoint del token SAML, 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 nel campo Intestazione Authorization. La chiamata stampa i token di accesso e di aggiornamento stdout.

  3. Passa il token di accesso a una chiamata API Edge Management come intestazione di connessione:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. Quando il token di accesso scade, puoi aggiornarlo inviandolo al provider 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 \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) Copyright 2023 Google LLC
Gli strumenti usermgmt, acurl e get_token vengono resi disponibili come "Software" nel contratto che regola l'utilizzo della piattaforma Google Cloud, incluso il Servizio Termini specifici disponibili all'indirizzo https://cloud.google.com/terms/service-terms.