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

Si une instance Looker hébergée par un client ne peut pas communiquer avec le Action Hub hébergé sur Looker, les administrateurs Looker risquent de ne pas pouvoir activer les actions compatibles avec la diffusion de résultats ou OAuth. De plus, les utilisateurs de Looker peuvent rencontrer des requêtes suspendues lorsqu'ils envoient ou planifient des données pour des actions prenant en charge la diffusion de résultats et ne peuvent pas configurer d'actions OAuth.

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

Si l'instance utilise un certificat SSL émis par une autorité de certification qui ne figure pas dans cette liste de certificats racine, il est possible que les actions OAuth et de streaming ne soient pas utilisables sur une instance Looker hébergée par le client.

Pour connaître 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 d'administration - Actions.

Cette page explique comment lancer un serveur d'action locale pour utiliser les actions Looker compatibles avec les résultats diffusés en continu ou Google OAuth. Vous pouvez configurer votre propre serveur Action Hub 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 suivant les étapes décrites plus en détail dans les sections suivantes:

  1. Créez un conteneur ou une machine virtuelle (VM) pour le serveur Action Hub.
  2. Configurer les identifiants Google OAuth
  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 Action Hub.
  7. Ajoutez le nouveau hub d'action à votre instance Looker.

Créer une configuration de conteneur ou de machine virtuelle (VM) pour le serveur Action Hub

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

Looker recommande d'allouer 2 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 Action Hub 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 prendre en charge les exigences de communication suivantes:

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

Dépendances requises

Lorsque vous clonez le dépôt des actions Looker dans la VM ou le conteneur que vous venez de créer:

  • 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 Google OAuth pour votre serveur Action Hub dans la console d'API Google Cloud.

Configurer des identifiants Google OAuth

Pour configurer les 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 Google OAuth, procédez comme suit:

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

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

  2. Une fois votre projet créé, sélectionnez-le.
  3. Dans la barre latérale gauche de la console, accédez à la page API et services > Identifiants.
  4. Cliquez sur Créer des identifiants.
  5. Dans la liste déroulante, cliquez sur ID client OAuth.
  6. Vous devrez peut-être configurer un écran de consentement OAuth. Si tel 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 Name (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 Action Hub:
                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 Créer pour générer votre ID client OAuth et le code secret du client OAuth. Vous aurez besoin de ces deux éléments ultérieurement.

Cette page de la console Google APIs vous permet de configurer un écran d'autorisation pour toutes les applications de votre projet. Les utilisateurs peuvent ainsi autoriser l'accès à leurs données et obtenir un lien vers toute documentation juridique ou de confidentialité. Si vous avez déjà effectué cette étape ou si vous n'avez pas besoin de configurer d'écran de consentement, ignorez cette section et revenez à la fenêtre de votre 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 de consentement:

  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 le champ 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 également importer un fichier image à utiliser sur l'écran de consentement OAuth.
  6. Si vous le souhaitez, saisissez le lien vers la page d'accueil de l'application. Il doit être hébergé sur le même domaine racine que votre Action Hub.
  7. Si vous le souhaitez, saisissez 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 Action Hub.
  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 Action Hub.
  9. Dans la section Domaines autorisés, cliquez sur AJOUTER UN DOMAINE, puis saisissez le domaine racine utilisé par votre Action Hub.
  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. Comme cette liste comprend des informations utilisateur sensibles, Google doit vérifier votre écran de consentement OAuth avant de pouvoir la publier.
  13. Cliquez sur SAVE AND CONTINUE (ENREGISTRER ET CONTINUER).
  14. Si vous le souhaitez, dans la section Utilisateurs tests, ajoutez les utilisateurs auxquels vous souhaitez donner accès à Action Hub 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 Credentials (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 les identifiants OAuth Google, revenez à l'étape 7 de cette procédure et terminez la configuration. Sinon, vous pouvez revenir à la fenêtre de votre 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 valeurs OAuth client ID et OAuth client secret pour Google Drive et Google Sheets. Toutefois, il est préférable d'avoir défini les deux jeux 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 sert uniquement à chiffrer state au cours d'un flux OAuth. Voici un exemple de clé hexadécimale aes-256:

    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 pouvoir l'utiliser ultérieurement lors de la configuration. Cette clé est générée à partir de la clé ACTION_HUB_SECRET.

Démarrer le serveur Local Action Hub

Pour lancer Action Hub, exécutez la commande suivante:

yarn start

Ajouter votre Action Hub à votre instance Looker

Pour ajouter votre Action Hub à 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 Add Action Hub (Ajouter un hub d'action).
  3. Saisissez votre ACTION_HUB_BASE_URL, puis cliquez sur Add Action Hub (Ajouter un hub d'action). Votre Action Hub devrait s'afficher sous un nouvel en-tête nommé "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 l'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, et vérifiez qu'elles sont correctement configurées dans votre Action Hub.

Étape suivante

L'étape suivante consiste à publier l'application que vous avez créée dans la console Google APIs. Pour procéder à la publication, accédez à l'écran de consentement OAuth, puis cliquez sur le bouton Envoyer pour validation. Veuillez noter que le processus de publication de votre demande peut prendre un certain temps et nécessiter des étapes de validation auprès de Google.