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, talvez os administradores do Looker não consigam ativar ações que apoiem os resultados de 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 hub de ações 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. É possível configurar seu próprio servidor de hub de ações local criando um contêiner ou uma máquina virtual (VM) que hospeda uma cópia clonada do código do repositório do Hub de Ações do Looker e seguindo estas etapas, conforme descrito em mais detalhes nas seções a seguir:

  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 Google OAuth.
  3. Configure a tela de consentimento do Google OAuth.
  4. Configure as variáveis de ambiente.
  5. Gere uma chave de API.
  6. Iniciar 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 suas ações, considere aumentar a memória para além 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.

A rede precisa oferecer suporte aos seguintes requisitos de comunicação:

  • A instância do Looker precisa ser capaz de 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 ser capaz de acessar o hub de ações.
  • O Action Hub precisa acessar os 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ê vai precisar criar credenciais do Google OAuth para o servidor do hub de ações no Console da API do Google Cloud.

Configurar credenciais do OAuth do Google

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

Como criar as credenciais do OAuth do Google

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, 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 consentimento do OAuth. Se sim, siga as instruções na seção Como configurar a tela de consentimento do OAuth mais adiante nesta página e prossiga para a etapa 7.
  7. Em Tipo de aplicativo, selecione Aplicativo da Web.
  8. Forneça o nome do aplicativo no campo Name.
  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 seu 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 deles mais tarde.

Nesta página do Google API Console, você pode configurar uma tela de consentimento para todos os aplicativos do seu projeto. Assim, os usuários podem conceder acesso aos dados e receber 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 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 app.
  4. Em E-mail de suporte ao usuário, insira um endereço de e-mail para mostrar 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. Se quiser, insira o link da página inicial do aplicativo, que precisa estar hospedado no mesmo domínio raiz do 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 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 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 precisa verificar sua tela de consentimento do OAuth antes de publicá-la.
  13. Clique em SALVAR E CONTINUAR.
  14. Opcionalmente, 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 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

No ambiente de contêiner ou VM, 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>"

A 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

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 local do hub de ações

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

yarn start

Como adicionar o hub de ações à sua 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 hub 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 em um novo título com o nome 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.