Utilizzo di utilità e API di amministrazione di Edge dopo aver abilitato SSO Apigee

Questa sezione descrive come eseguire gli strumenti e i comandi di amministrazione del sistema Edge dopo aver abilitato SSO Apigee. Molte attività su Edge richiedono credenziali di amministrazione del sistema, ad esempio:

  • Creazione di organizzazioni e ambienti
  • Aggiunta e rimozione di componenti Edge
  • Esecuzione dei comandi apigee-adminapi.sh

Tuttavia, dopo aver abilitato l'SSO su Edge, in genere disabiliti l'autenticazione di base in modo che l'unico modo per autenticarsi sia tramite l'IDP OIDC/SAML. Pertanto, devi assicurarti di aver aggiunto l' account di amministratore di sistema al tuo IDP o di aver creato un utente della macchina locale per l'automazione.

Chiamare le API di gestione Edge come l' amministratore di sistema

Molte chiamate API Edge richiedono di trasmettere le credenziali di amministratore di sistema. Utilizzare SAML con l'API di gestione Edge contiene istruzioni su come ottenere e aggiornare i token utilizzando l'utilità get_token quando effettui chiamate all'API di gestione Edge.

Utilizzare l'utilità apigee-adminapi.sh con SSO Apigee

Utilizza l'utilità apigee-adminapi.sh per eseguire le stesse attività di configurazione di Edge che esegui effettuando chiamate all'API di gestione Edge. Il vantaggio dell' apigee-adminapi.sh è che:

  • Utilizza una semplice interfaccia a riga di comando
  • Implementa il completamento dei comandi basato su schede
  • Fornisce informazioni sull'utilizzo e sull'assistenza
  • Può visualizzare la chiamata API corrispondente se decidi di provare l'API

Dopo aver abilitato Apigee SSO, hai due modi principali per trasmettere le credenziali all'utilità apigee-adminapi.sh, a seconda che tu sia un amministratore umano o uno script automatico.

Puoi visualizzare tutte le opzioni per qualsiasi apigee-adminapi.sh comando, incluse le opzioni per specificare le credenziali SSO, utilizzando l'-h opzione per il comando. Ad esempio:

apigee-adminapi.sh orgs list -h

Trasmettere un token di autenticazione (per gli amministratori umani)

Poiché SSO Apigee modernizzato non supporta il flusso di copia e incolla /passcode legacy, gli amministratori umani devono utilizzare l'utilità get_token per completare il flusso del codice del dispositivo OAuth 2.0 e poi passare il token risultante allo script.

Innanzitutto, ottieni un token:

/opt/apigee/apigee-openldap/bin/get_token -u adminEmail

Quindi, utilizza il token quando chiami il comando:

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode \
  --admin adminEmail --oauth-token token_string

Dove:

  • oauth-flow specifica passcode (indica allo script legacy che viene fornito un token).
  • oauth-token contiene la stringa JWT non elaborata ottenuta da get_token.

Trasmettere una password (solo per gli utenti della macchina)

Se stai automatizzando i deployment dell'infrastruttura, puoi trasmettere le credenziali direttamente utilizzando il flusso password_grant. Tuttavia, se la federazione SAML/OIDC è abilitata, gli utenti shadow umani non possono accedere con la password per impedire il bypass dell'MFA. Devi prima eseguire il provisioning di un utente della macchina esplicito in OpenLDAP.

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant \
  --admin machineUserEmail --oauth-password machineUserPassword

Dove:

  • L'opzione sso-url specifica l'URL di SSO Apigee. Modifica la porta o il protocollo se li hai modificati da 9099 e HTTP.
  • oauth-flow specifica password_grant.
  • machineUserEmail è l'indirizzo email dell'utente della macchina automatizzato.
  • oauth-password specifica la password dell'utente della macchina.

Utilizzare le utilità Edge con SSO Apigee

Molte utilità Edge richiedono credenziali di amministratore di sistema, ad esempio:

  • apigee-provision utilizzato per creare organizzazioni, ambienti e host virtuali
  • setup.sh utilizzato per aggiungere nodi a un sistema esistente
  • Qualsiasi altra utilità in cui devi specificare le credenziali di amministratore di sistema in un file di configurazione

Queste utilità accettano come input un file di configurazione che specifica le credenziali dell'amministratore di sistema. Prima dell'abilitazione dell'SSO, questa operazione viene eseguita utilizzando le proprietà:

ADMIN_EMAIL="adminEmail"
APIGEE_ADMINPW="adminPWord"

Dopo aver abilitato SSO Apigee, devi utilizzare proprietà diverse per specificare le credenziali dell'amministratore di sistema.

Utilizzare un token di connessione (per gli amministratori umani)

Per i deployment interattivi da parte di amministratori umani, acquisisci un token utilizzando l'utilità get_token e forniscilo tramite la proprietà OAUTH_BEARER_TOKEN:

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="passcode"
OAUTH_BEARER_TOKEN="token_string"

Dove:

  • OAUTH_FLOW specifica passcode (indica che viene fornito un token).
  • OAUTH_BEARER_TOKEN contiene la stringa JWT non elaborata ottenuta da get_token.

Utilizzare una password (solo per gli utenti della macchina)

Per i deployment completamente automatizzati, fornisci le credenziali di un utente della macchina di cui è stato eseguito il provisioning esplicito utilizzando il flusso password_grant:

ADMIN_EMAIL="machineUserEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="password_grant"
OAUTH_ADMIN_PASSWORD="machineUserPassword"

Dove:

  • SSO_LOGIN_URL specifica l'URL di SSO Apigee.
  • OAUTH_FLOW specifica password_grant.
  • OAUTH_ADMIN_PASSWORD specifica la password dell'utente della macchina.