Utiliser l'authentification de base pour accéder à l'API Edge

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Vous pouvez utiliser l'authentification de base pour accéder à l'API Edge pour votre compte Edge pour le cloud. Avec l'authentification de base, vous transmettez vos informations d'identification (l'adresse e-mail et le mot de passe de votre compte Apigee) dans chaque requête à l'API Edge.

L'authentification de base est le mécanisme d'authentification le moins sécurisé. Vos identifiants ne sont ni chiffrés ni hachés. Ils sont uniquement encodés en base64. Apigee vous recommande d'utiliser OAuth2 ou SAML pour accéder à l'API Edge au lieu de l'authentification de base.

Format d'authentification de base

Vous pouvez transmettre vos identifiants sous la forme d'un en-tête encodé en base64 ou de paramètres dans un client HTTP.

Lorsque vous transmettez vos identifiants dans l'en-tête, vous devez les encoder en base64. Voici un exemple d'en-tête d'authentification de base HTTP encodé:

Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo

Avec un client tel que curl, vous transmettez vos identifiants avec l'option -u, comme indiqué dans l'exemple suivant:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u email_address:password

curl encode votre adresse e-mail et votre mot de passe, et les ajoute pour vous à l'en-tête Authorization de la requête.

Si vous omettez votre mot de passe, vous êtes invité à le saisir.

Notez que vous devez utiliser l'adresse e-mail de votre compte Apigee et non votre nom d'utilisateur dans les appels d'API Edge.

Accéder à l'API Edge avec curl

Vous pouvez également définir manuellement la requête d'en-tête Authorization lorsque vous utilisez curl pour accéder à l'API Edge.

Bien que curl encode vos identifiants, comme indiqué ci-dessus, il peut arriver que vous ne souhaitiez pas saisir vos identifiants non encodés dans l'historique des commandes.

Pour définir manuellement les en-têtes et accéder à l'API Edge avec curl:

  1. Encodez votre adresse e-mail et votre mot de passe en Base64 à l'aide d'un outil tel que base64. Exemple :
      read -es PASS
      echo -n ahamilton@apigee.com:$PASS | base64

    L'outil base64 renvoie une chaîne encodée:

    YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo=
  2. Ajoutez la chaîne encodée à l'en-tête Authorization de votre requête d'API Edge, comme indiqué dans l'exemple suivant :
        read -es PASS
        BASIC=$(echo -n ahamilton@apigee.com:$PASS | base64
        curl -H "Authorization: Basic $BASIC" \
        https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
        {
        "createdAt" : 1491854501264,
        "createdBy" : "noreply_iops@apigee.com",
        "displayName" : "ahamilton",
        "environments" : [ "prod", "test" ],
        "lastModifiedAt" : 1491854501264,
        "lastModifiedBy" : "noreply_iops@apigee.com",
        "name" : "ahamilton",
        "properties" : {
        "property" : [ {
        "name" : "features.isSmbOrganization",
        "value" : "false"
        }, {
        "name" : "features.isCpsEnabled",
        "value" : "true"
        } ]
        },
        "type" : "trial"
        }

Cette requête permet d'obtenir des informations sur l'organisation "ahamilton-eval". Pour obtenir la liste complète des points de terminaison de l'API Edge, consultez la documentation de référence de l'API Apigee Edge.

Vous devez inclure l'en-tête Authorization dans chaque requête.

Désactiver l'authentification de base

Vous pouvez désactiver l'authentification de base (tant que OAuth2 ou SAML est activé) en envoyant une requête à l'assistance Apigee Edge.

Consignes pour l'écriture de script

Dans certaines situations, il n'est pas pratique de collecter le mot de passe lors de l'exécution du script. Par exemple, vous devrez peut-être exécuter une tâche Cron qui se déclenche en l'absence d'administrateur. Dans ces situations, vous devez rendre le mot de passe disponible pour le script sans aucune intervention humaine.

Suivez les instructions ci-dessous :

  1. Centralisez les identifiants dans un fichier unique qui servira de source pour les programmes et les scripts que vous écrivez.
  2. Protégez autant que possible le fichier source des identifiants à l'aide de la sécurité et des autorisations du système de fichiers.
  3. Créez un client d'automatisation avec des autorisations très limitées sur des ressources spécifiques de votre organisation.