Como configurar um hub de ações locais para ações que usam OAuth e streaming

Se uma instância do Looker hospedada pelo cliente não se comunicar com o hub de ações hospedado pelo Looker, os administradores do Looker talvez não consigam ativar ações compatíveis com os resultados transmitidos ou que usam o OAuth. Além disso, os usuários do Looker podem enfrentar consultas pendentes ao enviar ou programar dados para ações compatíveis com resultados transmitidos e podem não conseguir configurar ações do OAuth.

Para usar as integrações do Looker, o Looker Action Hub e a instância do Looker precisam se comunicar entre si. Os administradores de instâncias hospedadas pelo cliente que têm interesse em ler sobre as soluções adequadas para a arquitetura da instância podem consultar as recomendações descritas na seção Considerações para instâncias hospedadas pelo cliente da página de documentação Como compartilhar dados por meio de um hub de ações.

Se a instância usar um certificado SSL emitido por uma autoridade de certificação (CA) que não esteja nesta lista de certificados raiz, as ações de OAuth e streaming talvez não possam ser usadas em uma instância do Looker hospedada pelo cliente.

Para consultar as ações configuradas para oferecer suporte aos resultados transmitidos ou ao OAuth, consulte a lista de serviços integrados do Looker na página de documentação Configurações do administrador: ações.

Nesta página, descrevemos como ativar um servidor hub de ações locais para usar ações do Looker que oferecem suporte a resultados transmitidos ou que usam o Google OAuth. Para configurar seu próprio servidor do hub de ações local, crie um contêiner ou uma máquina virtual (VM) que hospeda uma cópia clonada do código do repositório do Looker Action Hub e siga estas etapas, conforme descrito em mais detalhes nas próximas seções:

  1. Crie uma configuração de contêiner ou máquina virtual (VM) para o servidor do hub de ações.
  2. Configurar as credenciais do Google OAuth.
  3. Configure a tela de permissão OAuth do Google.
  4. Configure as variáveis de ambiente.
  5. Gere uma chave de API.
  6. Inicie o novo hub de ações.
  7. Adicione o novo hub de ações à instância do Looker.

Como criar uma configuração de contêiner ou máquina virtual (VM) para o servidor do hub de ações

A VM ou o contêiner precisa atender aos seguintes requisitos e dependências de alocação e rede:

O Looker recomenda alocar duas linhas de execução de CPU/vCPU e pelo menos 2 GB de memória para esse contêiner ou VM. Se você espera uso intenso das ações, considere aumentar a memória para mais de 2 GB.

Requisitos de rede

O hub de ações precisa ter um endereço IP estático ou um endereço que possa ser resolvido por um Sistema de Nomes de Domínio (DNS) interno.

Sua rede precisa ser compatível com os seguintes requisitos de comunicação:

  • A instância do Looker precisa se comunicar com o hub de ações.
  • O Google Auth precisa se comunicar com o hub de ações.
  • Um navegador conectado internamente precisa conseguir acessar o hub de ações.
  • O hub de ações precisa acessar os servidores do Google Drive.

Dependências necessárias

Quando você clona o repositório de ações do Looker na sua VM ou contêiner recém-criado:

  • Verifique se o Node 12.13 está instalado.
  • Execute yarn install para instalar os pacotes necessários.

Depois de configurar seu ambiente, você precisará criar credenciais do Google OAuth para seu servidor do hub de ações no Console de APIs do Google Cloud.

Como configurar as credenciais do Google OAuth

Para configurar as credenciais do Google OAuth para suas ações, você precisa:

Como criar as credenciais do Google OAuth

Para criar a chave secreta do cliente e o ID do cliente OAuth do Google:

  1. Acesse a página Gerenciar recursos do Google Cloud e clique em CRIAR PROJETO para criar um novo projeto.

    Para mais informações sobre como criar um projeto, consulte o guia Como criar e gerenciar projetos.

  2. Depois que o novo projeto for criado, selecione o novo projeto.
  3. Na barra lateral esquerda do console, acesse a página APIs e serviços > Credenciais.
  4. Clique em Criar credenciais.
  5. No menu suspenso, clique em ID do cliente OAuth.
  6. Talvez seja necessário configurar uma tela de permissão OAuth. Nesse caso, siga as instruções da seção Como configurar a tela de permissão OAuth mais adiante nesta página e prossiga para a etapa 7.
  7. Em Tipo de aplicativo, selecione Aplicativo da Web.
  8. Insira o nome do seu aplicativo no campo Nome.
  9. Na seção Origens JavaScript autorizadas, adicione o endereço raiz do aplicativo Looker que você usa internamente.
  10. Defina os URIs de redirecionamento autorizados para os Consoles do Google Drive e das Planilhas Google em que ACTION_HUB_BASE_URL é o endereço do hub de ações:
                https://<ACTION_HUB_BASE_URL>/actions/google_sheets/oauth_redirect
                https://<ACTION_HUB_BASE_URL>/actions/google_drive/oauth_redirect
            
  11. Clique no botão Criar para gerar o ID e a chave secreta do cliente OAuth. Você vai precisar de ambos mais tarde.

Esta página do Console de APIs do Google permite configurar uma tela de consentimento para todos os aplicativos no seu projeto, permitindo que os usuários concedam acesso aos dados deles e forneçam um link para qualquer documentação legal ou de privacidade. Se você já concluiu essa etapa ou não precisa configurar uma tela de consentimento, pule esta seção e volte à janela do terminal para definir as variáveis de ambiente, conforme descrito em Como definir as variáveis de ambiente mais adiante nesta página.

Para configurar a tela de permissão:

  1. Clique em CONFIGURAR TELA DE PERMISSÃO.
  2. Selecione se o aplicativo é interno ou externo e clique em CRIAR.
  3. Digite o nome do app no campo Nome do app.
  4. Em E-mail para suporte do usuário, insira um endereço de e-mail que será exibido na tela de consentimento do OAuth para suporte ao usuário.
  5. Como opção, para o logotipo do app, faça upload de um arquivo de imagem para usar na tela de consentimento do OAuth.
  6. Também é possível inserir o link da página inicial do aplicativo, que precisa estar hospedado no mesmo domínio raiz do hub de ações.
  7. Você também pode inserir um link para a Política de Privacidade do app no campo Link da Política de Privacidade do aplicativo. O link precisa estar hospedado no mesmo domínio raiz que seu hub de ações.
  8. Você também pode inserir um link para os Termos de Serviço do aplicativo no campo Link dos Termos de Serviço do aplicativo. O link precisa estar hospedado no mesmo domínio raiz que o hub de ações.
  9. Na seção Domínios autorizados, clique em ADICIONAR DOMÍNIO e digite o domínio raiz que o hub de ações está usando.
  10. No campo Dados de contato do desenvolvedor, digite um e-mail para que o Google possa entrar em contato com você.
  11. Clique em SALVAR E CONTINUAR.
  12. Na seção Escopos, adicione os tipos de dados do usuário que seu aplicativo precisa acessar. Isso inclui e-mail, perfil, OpenID e https://mail.google.com. Como essa lista inclui informações sensíveis do usuário, o Google vai precisar verificar a tela de consentimento do OAuth antes que ela seja publicada.
  13. Clique em SALVAR E CONTINUAR.
  14. Se quiser, na seção Usuários de teste, adicione os usuários que vão ter acesso ao hub de ações antes da verificação.
  15. Clique em SALVAR E CONTINUAR.
  16. Clique em VOLTAR PARA O PAINEL.
  17. Na barra lateral esquerda, clique em Credentials (Credenciais) para voltar à configuração das suas credenciais OAuth.

Depois de configurar a tela de permissão OAuth, se você estava configurando as credenciais do OAuth do Google, volte para a etapa 7 do procedimento e conclua a configuração das credenciais. Caso contrário, retorne à janela do terminal para definir as variáveis de ambiente.

Como definir as variáveis de ambiente

No ambiente da VM ou do contêiner, defina estas variáveis de ambiente:

    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>

Você pode usar os mesmos OAuth client ID e OAuth client secret para o Google Drive e as Planilhas Google. No entanto, é melhor definir os dois conjuntos de tokens da API do Google.

Defina também a chave de criptografia:

    CIPHER_MASTER="<hex aes-256 key>"

Essa chave não é usada para criptografia de longo prazo. Ela é usada apenas para criptografar state durante um fluxo OAuth. Este é um exemplo de chave aes-256 hexadecimal:

    C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9

Como gerar uma chave de API

Para conseguir a chave de API, execute este comando:

y arn generate-api-key

Retenha a chave gerada para uso posterior na configuração. Essa chave é gerada com base no ACTION_HUB_SECRET.

Como iniciar o servidor do hub de ações locais

Para iniciar o hub de ações, execute este comando:

yarn start

Como adicionar o hub de ações à instância do Looker

Para adicionar o hub de ações à instância do Looker:

  1. No Looker, acesse a página Ações em Plataforma no painel Administrador.
  2. Role até a parte de baixo da página e clique no botão Add Action Hub.
  3. Insira o ACTION_HUB_BASE_URL e clique em Add Action Hub. O hub de ações vai aparecer sob um novo título com o nome e ACTION_HUB_BASE_URL. Suas ações do Google Drive e do Planilhas Google aparecerão abaixo desse título.
  4. Se a conexão falhar, insira o api-key gerado anteriormente no campo Token de autorização e clique no link Atualizar, na parte superior do título do hub de ações.
  5. Ative as ações do Google Drive e do Planilhas Google e verifique se elas estão configuradas corretamente no hub de ações.

Próxima etapa

A próxima etapa é publicar o aplicativo que você criou no Console de APIs do Google. Para publicar, acesse a página da tela de permissão OAuth e clique no botão Enviar para verificação. O processo de publicação do app pode levar algum tempo e exigir algumas etapas de verificação com o Google.