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 conseguir se comunicar com o hub de ações hospedado pelo Looker, os administradores do Looker não poderão ativar ações que ofereçam suporte a resultados transmitidos em streaming ou que usem OAuth. Além disso, os usuários do Looker podem ter consultas pendentes ao enviar ou programar dados para ações que aceitam resultados transmitidos e podem não conseguir configurar ações 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 tiverem interesse em ler soluções adequadas à 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 em 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 do OAuth e de streaming podem não ser utilizáveis em uma instância do Looker hospedada pelo cliente.

Para conferir as ações configuradas para oferecer suporte aos resultados de streaming 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 do hub de ações locais para usar as ações do Looker que oferecem suporte a resultados de streaming ou que usam o Google OAuth. Para configurar seu próprio servidor de hub de ações local, crie um contêiner ou uma máquina virtual (VM) que hospede uma cópia clonada do código do repositório do hub de ações do Looker 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. Configure as credenciais do OAuth do Google.
  3. Configure a tela de consentimento do Google OAuth.
  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 à sua instância do Looker.

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 um uso intenso das ações, aumente a memória para mais de 2 GB.

Requisitos de rede

Seu 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 oferecer suporte aos 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 ter acesso aos servidores do Google Drive.

Dependências necessárias

Ao clonar o repositório de ações do Looker na 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 o ambiente, você precisará criar credenciais do Google OAuth para o servidor do hub de ações no Console de APIs do Google Cloud.

Como configurar credenciais do Google OAuth

Se quiser configurar credenciais do Google OAuth para suas ações, faça o seguinte:

Criar as credenciais do Google OAuth

Para criar o ID do cliente OAuth e a chave secreta do cliente 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.
  3. Na barra lateral esquerda do console, navegue até 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 consentimento do OAuth. Nesse caso, siga as instruções na 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. Informe o nome do 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 dos 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ê precisará de ambos mais tarde.

Esta página do Console de APIs do Google permite que você configure uma tela de consentimento para todos os aplicativos em seu projeto, permitindo que os usuários concedam acesso aos próprios dados, além de fornecer um link para qualquer documentação legal ou de privacidade. Se você já tiver concluído essa etapa ou não precisar 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 configurar as variáveis de ambiente mais adiante nesta página.

Para configurar a tela de consentimento:

  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 aplicativo no campo Nome do aplicativo.
  4. Em E-mail para suporte do usuário, digite um endereço de e-mail que vai aparecer na tela de consentimento do OAuth para suporte ao usuário.
  5. Se quiser, para o logotipo do app, faça upload de um arquivo de imagem para usar na tela de consentimento do OAuth.
  6. Opcionalmente, insira o link da página inicial do aplicativo, que precisa ser hospedado no mesmo domínio raiz que o hub de ações.
  7. Também é possível inserir um link para a Política de Privacidade do seu aplicativo no campo Link da Política de Privacidade do aplicativo. O link precisa estar hospedado no mesmo domínio raiz que o hub de ações.
  8. Opcionalmente, insira um link para os Termos de Serviço do seu app 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 insira o domínio raiz que o hub de ações está usando.
  10. No campo Dados de contato do desenvolvedor, insira um e-mail pelo qual 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 o 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 sua tela de consentimento do OAuth antes de publicar.
  13. Clique em SALVAR E CONTINUAR.
  14. Na seção Usuários de teste, adicione os usuários que você quer que tenham acesso ao hub de ações antes da verificação.
  15. Clique em SALVAR E CONTINUAR.
  16. Clique em VOLTAR AO PAINEL.
  17. Na barra lateral esquerda, clique em Credenciais para voltar à configuração das credenciais do OAuth.

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

Como definir as variáveis de ambiente

Na VM ou no ambiente 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>

É possível usar o mesmo 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. ele é usado apenas para criptografar state durante um fluxo do OAuth. Este é um exemplo de chave hexadecimal aes-256:

    C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9

Gerar uma chave de API

Para acessar 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

Adicionar seu hub de ações à instância do Looker

Para adicionar o hub de ações à sua 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 Adicionar central de ações.
  3. Digite seu ACTION_HUB_BASE_URL e clique em Adicionar central de ações. O hub de ações vai aparecer sob um novo título com o nome dele e ACTION_HUB_BASE_URL. Suas ações no Google Drive e no Planilhas Google devem aparecer abaixo deste título.
  4. Se a conexão falhar, insira o api-key gerado anteriormente no campo Authorization Token e clique no link Atualizar na parte de cima do título do hub de ações.
  5. Ative as ações do Google Drive e das 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 Tela de consentimento OAuth e clique no botão Enviar para verificação. O processo de publicação da inscrição pode levar algum tempo e vai exigir algumas etapas de verificação do Google.