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-flowspecificapasscode(indica allo script legacy che viene fornito un token).oauth-tokencontiene la stringa JWT non elaborata ottenuta daget_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-urlspecifica l'URL di SSO Apigee. Modifica la porta o il protocollo se li hai modificati da 9099 e HTTP. oauth-flowspecificapassword_grant.- machineUserEmail è l'indirizzo email dell'utente della macchina automatizzato.
oauth-passwordspecifica 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-provisionutilizzato per creare organizzazioni, ambienti e host virtualisetup.shutilizzato 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_FLOWspecificapasscode(indica che viene fornito un token).OAUTH_BEARER_TOKENcontiene la stringa JWT non elaborata ottenuta daget_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_URLspecifica l'URL di SSO Apigee.OAUTH_FLOWspecificapassword_grant.OAUTH_ADMIN_PASSWORDspecifica la password dell'utente della macchina.