Authentification de l'API Looker

Pour pouvoir utiliser l'API Looker, vous devez d'abord vous authentifier. La procédure à suivre varie selon que vous utilisez un SDK ou non.

S'authentifier avec un SDK

Voici la méthode recommandée pour authentifier l'API:

  1. Créez des identifiants API3 sur la page Users (Utilisateurs) de la section "Admin" de votre instance Looker. Si vous n'êtes pas un administrateur Looker, demandez à votre administrateur Looker de créer les identifiants API3 pour vous.

    Les identifiants de l'API 3 sont toujours liés à un compte utilisateur Looker. Les requêtes API s'exécutent en tant qu'utilisateur associé aux identifiants API3. Les appels d'API ne renvoient que les données que l'utilisateur est autorisé à voir, et ne modifient que ce qu'il est autorisé à modifier.

  2. Les identifiants d'API3 que vous avez générés incluent un ID client et un code secret du client. Vous devez les fournir au SDK. Pour savoir comment procéder, consultez la documentation du SDK.

Le SDK se charge ensuite d'obtenir les jetons d'accès nécessaires et de les insérer dans toutes les requêtes API ultérieures.

Authentification sans SDK

L'authentification via un SDK est la méthode recommandée. Pour vous authentifier sans SDK:

  1. Créez des identifiants API3 sur la page Users (Utilisateurs) de la section "Admin" de votre instance Looker. Si vous n'êtes pas un administrateur Looker, demandez à votre administrateur Looker de créer les identifiants API3 pour vous.

    Les identifiants de l'API 3 sont toujours liés à un compte utilisateur Looker. Les requêtes API s'exécutent en tant qu'utilisateur associé aux identifiants API3. Les appels d'API ne renvoient que les données que l'utilisateur est autorisé à voir, et ne modifient que ce qu'il est autorisé à modifier.

  2. Obtenez un jeton d'accès OAuth 2.0 à court terme en appelant le point de terminaison login de l'API. Vous devrez fournir les identifiants API3 que vous avez générés à l'étape 1, qui comprennent un identifiant et un code secret du client.

  3. Placez ce jeton d'accès dans l'en-tête d'autorisation HTTP des requêtes de l'API Looker. Voici un exemple de requête d'API Looker comportant un en-tête d'autorisation:

    GET /api/3.0/user HTTP/1.1
    Host: test.looker.com
    Date: Wed, 19 Oct 2016 12:34:56 -0700
    Authorization: token mt6Xc8jJC9GfJzKBQ5SqFZTZRVX8KY6k49TMPS8F
    

Le jeton d'accès OAuth 2.0 peut être utilisé sur plusieurs requêtes API, jusqu'à ce qu'il expire ou soit invalidé en appelant le point de terminaison logout. Les requêtes API qui utilisent un jeton d'accès arrivé à expiration échouent avec une réponse HTTP 401 Authorization Required.

Interaction de l'API avec les paramètres de connexion de l'utilisateur

L'authentification de l'API Looker est entièrement indépendante de la connexion des utilisateurs Looker. Les protocoles d'authentification des utilisateurs tels que les codes secrets à usage unique (OTP, 2FA) et l'authentification d'annuaire (LDAP, SAML, etc.) ne s'appliquent pas à l'authentification de l'API Looker.

C'est pourquoi la suppression des informations d'un utilisateur d'un protocole d'authentification ne supprime pas ses identifiants d'API. Les procédures décrites sur la page de documentation Supprimer des informations sur l'utilisateur suppriment toutes les données à caractère personnel d'un utilisateur de Looker, l'empêchant ainsi de se connecter, y compris via l'API.

Gérer les identifiants d'API

  • Vous pouvez associer plusieurs ensembles d'identifiants API3 à un même compte utilisateur Looker.
  • Les identifiants d'API3 peuvent être créés et supprimés sans que cela ait d'incidence sur l'état du compte utilisateur.
  • La suppression d'un compte utilisateur Looker invalide tous les identifiants API3 associés à ce compte utilisateur.
  • Le secret du client API3 doit rester privé. Évitez de stocker les secrets du client API3 dans le code source ou à d'autres emplacements visibles par un grand nombre de personnes.
  • En production, évitez d'utiliser des identifiants API3 liés à des comptes administrateur Looker. Créez des comptes utilisateur avec privilèges minimaux spécifiques pour les activités d'API (souvent appelées "comptes de service"), puis créez des identifiants d'API3 pour ces comptes. N'accordez que les autorisations nécessaires pour les activités d'API prévues.

Authentification HTTPS

Même si vous utilisez un SDK client pour gérer l'authentification à votre place, vous serez peut-être intéressé par le fonctionnement de l'authentification de l'API Looker. Pour en savoir plus sur l'authentification, consultez la page How to Authenticate to the Looker API (Comment s'authentifier auprès de l'API Looker) sur GitHub.

Authentification via OAuth

Looker peut utiliser le protocole CORS (Cross-Origin Resource Sharing) pour permettre aux applications Web d'appeler l'API Looker en dehors du domaine d'une instance Looker. Consultez la page de documentation Authentification de l'API Looker à l'aide du protocole OAuth pour en savoir plus sur la configuration de l'authentification CORS.