Configurer un hub d'actions local pour les actions qui utilisent OAuth et le streaming

Si une instance Looker hébergée par le client ne peut pas communiquer avec le hub d'actions hébergé par Looker, les administrateurs Looker peuvent ne pas pouvoir activer les actions qui acceptent les résultats en streaming ou qui utilisent OAuth. De plus, les utilisateurs de Looker peuvent être confrontés à des requêtes mises en attente lors de l'envoi ou de la planification de données vers des actions compatibles avec les résultats diffusés en continu, et ne pas pouvoir configurer d'actions OAuth.

Pour utiliser les intégrations Looker, l'Action Hub de Looker et l'instance Looker doivent pouvoir communiquer entre eux. Les administrateurs d'instances hébergées par le client qui souhaitent en savoir plus sur les solutions adaptées à leur architecture d'instance peuvent consulter les recommandations décrites dans la section Considérations concernant les instances hébergées par le client de la page de documentation Partager des données via un hub d'actions.

Si l'instance utilise un certificat SSL délivré par une autorité de certification (AC) qui ne figure pas sur cette liste de certificats racine, les actions OAuth et de streaming risquent de ne pas être utilisables sur une instance Looker hébergée par le client.

Pour afficher les actions configurées pour prendre en charge la diffusion de résultats ou OAuth, consultez la liste des services intégrés de Looker sur la page de documentation Paramètres administrateur - Actions.

Cette page explique comment démarrer un serveur Action Hub local pour utiliser des actions Looker qui acceptent les résultats diffusés ou qui utilisent Google OAuth. Vous pouvez configurer votre propre serveur de hub d'actions local en créant un conteneur ou une machine virtuelle (VM) qui héberge une copie clonée du code du dépôt Looker Action Hub, puis en procédant comme suit, comme décrit plus en détail dans les sections suivantes:

  1. Créez une configuration de conteneur ou de machine virtuelle (VM) pour le serveur du hub d'actions.
  2. Configurez des identifiants OAuth Google.
  3. Configurez l'écran de consentement Google OAuth.
  4. Configurez vos variables d'environnement.
  5. Générez une clé API.
  6. Lancez le nouveau hub d'actions.
  7. Ajoutez le nouveau hub d'actions à votre instance Looker.

Créer une configuration de conteneur ou de machine virtuelle (VM) pour le serveur du hub d'actions

Votre VM ou conteneur doit répondre aux exigences et dépendances d'allocation et de réseau suivantes:

Looker recommande d'allouer deux threads de CPU/vCPU et au moins 2 Go de mémoire à ce conteneur ou à cette VM. Si vous prévoyez une utilisation intensive de vos actions, envisagez d'augmenter la mémoire au-delà de 2 Go.

Configuration réseau requise

Votre hub d'actions doit disposer d'une adresse IP statique ou d'une adresse pouvant être résolue via un système de noms de domaine (DNS) interne.

Votre réseau doit respecter les exigences de communication suivantes:

  • L'instance Looker doit pouvoir communiquer avec le hub d'actions.
  • Google Auth doit pouvoir communiquer avec le hub d'actions.
  • Un navigateur connecté en interne doit pouvoir accéder au hub d'actions.
  • Le hub d'actions doit pouvoir accéder aux serveurs Google Drive.

Dépendances requises

Lorsque vous clonez le dépôt d'actions Looker dans votre VM ou conteneur nouvellement créé:

  • Assurez-vous que Node 12.13 est installé.
  • Exécutez yarn install pour installer les packages nécessaires.

Une fois votre environnement configuré, vous devez créer des identifiants OAuth Google pour votre serveur de hub d'actions dans la console Google Cloud API.

Configurer des identifiants Google OAuth

Pour configurer des identifiants Google OAuth pour vos actions, procédez comme suit:

Créer les identifiants Google OAuth

Pour créer votre ID client et votre code secret du client Google OAuth:

  1. Accédez à la page Gérer les ressources de Google Cloud, puis cliquez sur CREATE PROJECT (CRÉER UN PROJET) pour créer un projet.

    Pour en savoir plus sur la création d'un projet, consultez le guide Créer et gérer des projets.

  2. Une fois le nouveau projet créé, sélectionnez-le.
  3. Dans la barre latérale de gauche de la console, accédez à la page API et services > Identifiants.
  4. Cliquez sur Créer des identifiants.
  5. Dans le menu déroulant, cliquez sur ID client OAuth.
  6. Vous devrez peut-être configurer un écran de consentement OAuth. Si c'est le cas, suivez les instructions de la section Configurer l'écran de consentement OAuth plus loin sur cette page, puis passez à l'étape 7.
  7. Dans le champ Type d'application, sélectionnez Application Web.
  8. Indiquez le nom de votre application dans le champ Nom.
  9. Dans la section Origines JavaScript autorisées, ajoutez l'adresse racine de l'application Looker que vous utilisez en interne.
  10. Définissez les URI de redirection autorisés pour les consoles Google Drive et Google Sheets, où ACTION_HUB_BASE_URL est l'adresse de votre hub d'actions:
                https://<ACTION_HUB_BASE_URL>/actions/google_sheets/oauth_redirect
                https://<ACTION_HUB_BASE_URL>/actions/google_drive/oauth_redirect
            
  11. Cliquez sur le bouton Create (Créer) pour générer votre ID client OAuth et votre code secret du client OAuth. Vous en aurez besoin plus tard.

Cette page de la console Google APIs vous permet de configurer un écran de consentement pour toutes les applications de votre projet. Il permet aux utilisateurs d'autoriser l'accès à leurs données et de leur fournir un lien vers toute documentation juridique ou sur la confidentialité. Si vous avez déjà effectué cette étape ou si vous n'avez pas besoin de configurer un écran de consentement, ignorez cette section et revenez à votre fenêtre de terminal pour définir vos variables d'environnement, comme décrit dans la section Définir vos variables d'environnement plus loin sur cette page.

Pour configurer l'écran d'autorisation:

  1. Cliquez sur CONFIGURER L'ÉCRAN D'AUTORISATION.
  2. Indiquez s'il s'agit d'une application interne ou externe, puis cliquez sur CRÉER.
  3. Saisissez le nom de votre application dans le champ Nom de l'application.
  4. Dans Adresse e-mail d'assistance utilisateur, saisissez une adresse e-mail à afficher sur l'écran de consentement OAuth pour l'assistance utilisateur.
  5. Pour le logo de l'application, vous pouvez importer un fichier image à utiliser sur l'écran de consentement OAuth.
  6. Vous pouvez également saisir le lien vers la page d'accueil de votre application, qui doit être hébergé sur le même domaine racine que votre hub d'actions.
  7. Vous pouvez également saisir un lien vers les règles de confidentialité de votre application dans le champ Lien vers les règles de confidentialité de l'application. Le lien doit être hébergé sur le même domaine racine que votre hub d'actions.
  8. Vous pouvez également saisir un lien vers les conditions d'utilisation de votre application dans le champ Lien vers les conditions d'utilisation de l'application. Le lien doit être hébergé sur le même domaine racine que votre hub d'actions.
  9. Dans la section Domaines autorisés, cliquez sur AJOUTER UN DOMAINE, puis saisissez le domaine racine utilisé par votre hub d'actions.
  10. Dans le champ Coordonnées du développeur, saisissez une adresse e-mail à laquelle Google peut vous contacter.
  11. Cliquez sur SAVE AND CONTINUE (ENREGISTRER ET CONTINUER).
  12. Dans la section Champs d'application, ajoutez les types de données utilisateur auxquels votre application doit accéder. Cela inclut l'adresse e-mail, le profil, OpenID et https://mail.google.com. Étant donné que cette liste inclut des informations utilisateur sensibles, Google devra valider votre écran de consentement OAuth avant qu'il ne puisse être publié.
  13. Cliquez sur SAVE AND CONTINUE (ENREGISTRER ET CONTINUER).
  14. (Facultatif) Dans la section Utilisateurs tests, ajoutez les utilisateurs auxquels vous souhaitez accorder l'accès au hub d'actions avant la validation.
  15. Cliquez sur SAVE AND CONTINUE (ENREGISTRER ET CONTINUER).
  16. Cliquez sur RETOUR AU TABLEAU DE BORD.
  17. Dans la barre latérale de gauche, cliquez sur Identifiants pour revenir à la configuration de vos identifiants OAuth.

Une fois que vous avez configuré l'écran de consentement OAuth, si vous étiez en train de configurer des identifiants Google OAuth, revenez à l'étape 7 de cette procédure et terminez de configurer les identifiants. Sinon, vous pouvez revenir à la fenêtre de terminal pour définir vos variables d'environnement.

Définir vos variables d'environnement

Dans votre environnement de VM ou de conteneur, définissez les variables d'environnement suivantes:

    ACTION_HUB_LABEL=<your action hub label name>
        ACTION_HUB_SECRET=<some secret>
        ACTION_HUB_BASE_URL=<your action hub base address>
            # For example https://actions.company.com
            # DO NOT INCLUDE A TRAILING SLASH
        GOOGLE_SHEET_CLIENT_ID=<OAuth client ID>
        GOOGLE_SHEET_CLIENT_SECRET=<OAuth client secret>
        GOOGLE_DRIVE_CLIENT_ID=<OAuth client ID>
        GOOGLE_DRIVE_CLIENT_SECRET=<OAuth client secret>

Vous devriez pouvoir utiliser les mêmes OAuth client ID et OAuth client secret pour Google Drive et Google Sheets. Toutefois, il est préférable de définir les deux ensembles de jetons d'API Google.

Définissez également la clé de chiffrement:

    CIPHER_MASTER="<hex aes-256 key>"

Cette clé n'est pas utilisée pour le chiffrement à long terme. Elle ne sert qu'à chiffrer state lors d'un flux OAuth. Voici un exemple de clé AES-256 au format hexadécimal:

    C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9

Générer une clé API

Pour obtenir votre clé API, exécutez la commande suivante:

y arn generate-api-key

Conservez la clé générée pour l'utiliser ultérieurement lors de la configuration. Cette clé est générée en fonction de ACTION_HUB_SECRET.

Démarrer le serveur de votre hub d'actions local

Pour démarrer votre hub d'actions, exécutez la commande suivante:

yarn start

Ajouter votre hub d'actions à votre instance Looker

Pour ajouter votre hub d'actions à votre instance Looker:

  1. Dans Looker, accédez à la page Actions sous Plate-forme dans le panneau Administration.
  2. Faites défiler la page jusqu'en bas, puis cliquez sur le bouton Ajouter un hub d'actions.
  3. Saisissez votre ACTION_HUB_BASE_URL, puis cliquez sur Ajouter un hub d'actions. Votre hub d'actions devrait apparaître sous un nouveau titre avec son nom et ACTION_HUB_BASE_URL. Vos actions Google Drive et Google Sheets devraient s'afficher sous cet en-tête.
  4. Si la connexion échoue, saisissez le api-key que vous avez généré précédemment dans le champ Jeton d'autorisation, puis cliquez sur le lien Actualiser en haut de l'en-tête de votre hub d'actions.
  5. Activez vos actions Google Drive et Google Sheets, puis vérifiez qu'elles sont correctement configurées dans votre hub d'actions.

Étape suivante

La prochaine étape consiste à publier l'application que vous avez créée dans la console Google APIs. Pour publier, accédez à la page Écran d'autorisation OAuth, puis cliquez sur le bouton Soumettre pour validation. Veuillez noter que la publication de votre application peut prendre un certain temps et nécessiter des étapes de validation avec Google.