Cette section explique comment exécuter les outils et commandes d'administration système Edge après avoir activé l'authentification unique Apigee. De nombreuses tâches sur Edge nécessitent des identifiants d'administration système, par exemple :
- Créer des organisations et des environnements
- Ajouter et supprimer des composants Edge
- Exécuter des commandes
apigee-adminapi.sh
Toutefois, une fois que vous avez activé l'authentification unique sur Edge, vous désactivez généralement l'authentification de base afin que la seule façon de s'authentifier soit via le fournisseur d'identité OIDC/SAML. Par conséquent, vous devez vous assurer d'avoir ajouté le compte d'administrateur système à votre fournisseur d'identité ou d'avoir créé un utilisateur machine local pour l'automatisation.
Appeler les API de gestion Edge en tant qu' administrateur système
De nombreux appels d'API Edge nécessitent que vous transmettiez des identifiants d'administrateur système. La section Utiliser SAML avec l'API de gestion Edge contient
des instructions sur la manière d'obtenir et d'actualiser des jetons à l'aide de l'utilitaire get_token lorsque vous effectuez des appels d'API de gestion Edge.
Utiliser l'utilitaire apigee-adminapi.sh avec l'authentification unique Apigee
Utilisez l'utilitaire apigee-adminapi.sh pour effectuer les mêmes tâches de configuration Edge
que celles que vous effectuez en appelant l'API de gestion Edge. L'avantage de l'
apigee-adminapi.sh utilitaire est qu'il :
- utilise une interface de ligne de commande simple ;
- implémente la saisie semi-automatique des commandes basée sur les onglets ;
- fournit de l'aide et des informations sur l'utilisation ;
- peut afficher l'appel d'API correspondant si vous décidez d'essayer l'API.
Une fois que vous avez activé l'authentification unique Apigee, vous disposez de deux méthodes principales pour transmettre des identifiants à l'utilitaire apigee-adminapi.sh, selon que vous êtes un administrateur humain ou un script automatisé.
Vous pouvez afficher toutes les options d'une commande apigee-adminapi.sh, y compris les
options permettant de spécifier des identifiants d'authentification unique, à l'aide de l'option -h de la commande. Exemple
:
apigee-adminapi.sh orgs list -h
Transmettre un jeton de support (pour les administrateurs humains)
Étant donné que l'authentification unique Apigee modernisée ne prend pas en charge l'ancien flux de copier-coller /passcode, les administrateurs humains doivent utiliser l'utilitaire get_token pour effectuer le flux de code d'appareil OAuth 2.0, puis transmettre le jeton obtenu au script.
Commencez par obtenir un jeton :
/opt/apigee/apigee-openldap/bin/get_token -u adminEmail
Ensuite, utilisez le jeton lorsque vous appelez la commande :
apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode \ --admin adminEmail --oauth-token token_string
Où :
oauth-flowspécifiepasscode(ce qui indique à l'ancien script qu'un jeton est fourni).oauth-tokencontient la chaîne JWT brute obtenue à partir deget_token.
Transmettre un mot de passe (pour les utilisateurs machine uniquement)
Si vous automatisez les déploiements d'infrastructure, vous pouvez transmettre directement des identifiants à l'aide du flux password_grant. Toutefois, si la fédération SAML/OIDC est activée, les utilisateurs fantômes humains ne peuvent pas se connecter avec un mot de passe pour éviter le contournement de l'authentification multifacteur. Vous devez d'abord provisionner un utilisateur machine explicite dans OpenLDAP.
apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant \ --admin machineUserEmail --oauth-password machineUserPassword
Où :
- L'option
sso-urlspécifie l'URL de l'authentification unique Apigee. Modifiez le port ou le protocole si vous les avez modifiés par rapport à 9099 et HTTP. oauth-flowspécifiepassword_grant.- machineUserEmail est l'adresse e-mail de l'utilisateur machine automatisé.
oauth-passwordspécifie le mot de passe de l'utilisateur machine.
Utiliser les utilitaires Edge avec l'authentification unique Apigee
De nombreux utilitaires Edge nécessitent des identifiants d'administrateur système, par exemple :
apigee-provisionutilisé pour créer des organisations, des environnements et des hôtes virtuelssetup.shutilisé pour ajouter des nœuds à un système existant- Tout autre utilitaire dans lequel vous devez spécifier les identifiants d'administrateur système dans un fichier de configuration
Ces utilitaires prennent comme entrée un fichier de configuration qui spécifie les identifiants de l'administrateur système. Avant l'activation de l'authentification unique, cela se fait à l'aide des propriétés suivantes :
ADMIN_EMAIL="adminEmail" APIGEE_ADMINPW="adminPWord"
Une fois que vous avez activé l'authentification unique Apigee, vous devez utiliser d'autres propriétés pour spécifier les identifiants de l'administrateur système.
Utiliser un jeton de support (pour les administrateurs humains)
Pour les déploiements interactifs par des administrateurs humains, obtenez un jeton à l'aide de l'utilitaire get_token et fournissez-le via la propriété OAUTH_BEARER_TOKEN :
ADMIN_EMAIL="adminEmail" SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099" OAUTH_FLOW="passcode" OAUTH_BEARER_TOKEN="token_string"
Où :
OAUTH_FLOWspécifiepasscode(ce qui indique qu'un jeton est fourni).OAUTH_BEARER_TOKENcontient la chaîne JWT brute obtenue à partir deget_token.
Utiliser un mot de passe (pour les utilisateurs machine uniquement)
Pour les déploiements entièrement automatisés, fournissez les identifiants d'un utilisateur machine provisionné explicitement à l'aide du flux password_grant :
ADMIN_EMAIL="machineUserEmail" SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099" OAUTH_FLOW="password_grant" OAUTH_ADMIN_PASSWORD="machineUserPassword"
Où :
SSO_LOGIN_URLspécifie l'URL de l'authentification unique Apigee.OAUTH_FLOWspécifiepassword_grant.OAUTH_ADMIN_PASSWORDspécifie le mot de passe de l'utilisateur machine.