Edge pour Private Cloud v4.18.05
Lorsque vous utilisez SAML avec l'API Edge, le processus que vous utilisez pour obtenir un accès OAuth2 et les jetons d'actualisation à partir de l'assertion SAML est appelé flux de code secret. Avec le flux de code secret, vous utilisez un navigateur pour obtenir un code secret à usage unique que vous utiliserez ensuite pour obtenir des jetons OAuth2.
Cependant, votre environnement de développement peut prendre en charge l'automatisation pour des tâches de développement courantes, comme l'automatisation des tests ou l'intégration et le déploiement continus (CI/CD). Pour automatiser ces tâches lorsque SAML est activé, vous avez besoin d'un moyen d'obtenir et d'actualiser les jetons OAuth2 sans sans devoir copier/coller un code secret depuis un navigateur.
Edge prend en charge la génération automatisée de jetons par l'intermédiaire d'utilisateurs de machine. Un utilisateur de machine peut d'obtenir des jetons OAuth2 sans avoir à spécifier de code secret. Vous pouvez donc automatiser le processus d'obtention et d'actualisation des jetons OAuth2 à l'aide de l'API de gestion Edge.
Créer un utilisateur machine
Utiliser le apigee-ssoadminapi.sh
pour créer un utilisateur machine pour une organisation SAML. Reportez-vous à la section Utilisation
apigee-ssoadminapi.sh pour en savoir plus. Vous pouvez créer un seul utilisateur machine
utilisé par tous vos
des organisations, ou créer un utilisateur
de machine distinct pour chaque organisation.
L'utilisateur machine est créé et stocké dans le datastore Edge, et non dans votre identité SAML d'un fournisseur de services agréé. Par conséquent, vous n'êtes pas responsable de la maintenance de l'utilisateur de la machine à l'aide de la solution Edge UI et API de gestion Edge.
Lorsque vous créez l'utilisateur machine, vous devez spécifier une adresse e-mail et un mot de passe. Après créer l'utilisateur de machine, vous l'attribuez à une ou plusieurs organisations.
Pour créer un utilisateur machine:
- Exécutez la commande
apigee-ssoadminapi.sh
suivante pour créer l'utilisateur machine:apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \ --secret SSO_ADMIN_SECRET --host edge_sso_IP_or_DNS \ -u machine_user_email -p machine_user_password
Où :
- SSO_ADMIN_NAME est le nom d'utilisateur de l'administrateur défini par
Propriété
SSO_ADMIN_NAME
dans le fichier de configuration utilisé pour configurer le module Edge SSO. La valeur par défaut estssoadmin
- SSO_ADMIN_SECRET est le mot de passe administrateur tel que spécifié par
SSO_ADMIN_SECRET
dans le fichier de configuration.
Dans cet exemple, vous pouvez omettre les valeurs pour
--port
et--ssl
, car le moduleapigee-sso
utilise la valeur par défaut les valeurs 9 099 pour--port
et http pour--ssl
. Si votre installation n'utilise pas ces valeurs par défaut, spécifiez-les de manière appropriée. - SSO_ADMIN_NAME est le nom d'utilisateur de l'administrateur défini par
Propriété
- Connectez-vous à l'interface utilisateur Edge et ajoutez l'adresse e-mail de l'utilisateur machine à vos organisations et attribuez l'utilisateur machine au rôle approprié. Consultez la section Ajouter des utilisateurs globaux pour en savoir plus plus encore.
Obtenir et actualiser un jeton utilisateur machine
Utilisez l'API Edge pour obtenir et actualiser les jetons OAuth2 en transmettant les au lieu d'un code secret.
Pour obtenir des jetons OAuth2 pour l'utilisateur machine:
- Utilisez l'appel d'API suivant pour générer les jetons d'accès et d'actualisation initiaux:
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 \ http://edge_sso_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
Conservez les jetons pour une utilisation ultérieure.
- Transmettez le jeton d'accès à un appel d'API de gestion Edge en tant qu'en-tête de support:
curl -H "Authorization: Bearer access_token" \ http://ms_IP_DNS:8080/v1/organizations/orgName
Où orgName correspond au nom de l'organisation hébergeant l'utilisateur machine.
- Pour actualiser ultérieurement le jeton d'accès, utilisez l'appel suivant, qui inclut l'actualisation
jeton:
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 \ http://edge_sso_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken'
Créer un utilisateur machine à l'aide de la solution Edge API de gestion
Vous pouvez créer un utilisateur machine à l'aide de l'API de gestion Edge au lieu d'utiliser le
Utilitaire apigee-ssoadminapi.sh
.
Pour créer un utilisateur machine:
- Utilisez la commande
curl
suivante afin d'obtenir un jeton pour l'utilisateurssoadmin
, le nom d'utilisateur du compte administrateur deapigee-sso
:curl "http://edge_sso_IP_DNS:9099/oauth/token" -i -X POST \ -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \ -d "response_type=token" -d "grant_type=client_credentials" \ --data-urlencode "client_secret=SSO_ADMIN_SECRET" \ --data-urlencode "client_id=ssoadmin"
Où SSO_ADMIN_SECRET est le mot de passe administrateur que vous avez défini lors de l'installation
apigee-sso
comme spécifié par la propriétéSSO_ADMIN_SECRET
dans fichier de configuration.Cette commande affiche un jeton dont vous avez besoin pour effectuer l'appel suivant.
- Exécutez la commande
curl
suivante pour créer l'utilisateur machine, en transmettant le jeton que vous reçues à l'étape précédente:curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \ -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' \ -H "Authorization: Bearer token"
Vous aurez besoin du mot de passe utilisateur de la machine lors d'étapes ultérieures.
- Connectez-vous à l'interface utilisateur Edge et ajoutez l'adresse e-mail de l'utilisateur machine à vos organisations et attribuez l'utilisateur machine au rôle approprié. Pour en savoir plus, consultez la section Ajouter des utilisateurs globaux.