Configurar um hub de ações locais para ações que usam o OAuth e o 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 talvez não consigam ativar ações que aceitam resultados transmitidos ou que usam o OAuth. Além disso, os usuários do Looker podem ter consultas pendentes ao enviar ou programar dados para ações que oferecem suporte a resultados transmitidos e talvez não consigam configurar ações do 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 quiserem ler sobre soluções adequadas para a arquitetura da instância podem consultar as recomendações descritas na seção Considerações sobre instâncias hospedadas pelo cliente da página de documentação Compartilhamento de dados por um hub de ações.

Se a instância usar um certificado SSL emitido por uma autoridade certificadora (CA) que não está nesta lista de certificados raiz, as ações de OAuth e streaming poderão não estar disponíveis em uma instância do Looker hospedada pelo cliente.

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

Nesta página, descrevemos como iniciar um servidor de hub de ações local para usar ações do Looker que aceitam resultados transmitidos 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 Action Hub do Looker e siga 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 OAuth do Google.
  3. Configure a tela de permissão 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.

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

Sua VM ou 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 além 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 atender aos seguintes requisitos de comunicação:

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

Dependências necessárias

Ao clonar o repositório de ações do Looker na VM ou no 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, crie credenciais do Google OAuth para o servidor do hub de ações no Console de APIs do Google Cloud.

Configurar credenciais do OAuth do Google

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

Criar as credenciais do OAuth do Google

Para criar seu ID e chave secreta do cliente OAuth do Google:

  1. Acesse a página Gerenciar recursos do Google Cloud e clique em CRIAR PROJETO para criar um 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 permissão OAuth. Se for o caso, siga as instruções na seção Como configurar a tela de consentimento do OAuth mais adiante nesta página e prossiga com 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 para os consoles do Google Drive e do Google Sheets, em que ACTION_HUB_BASE_URL é o endereço da sua central 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 dos dois mais tarde.

Nesta página do Console de APIs do Google, é possível configurar uma tela de consentimento para todos os aplicativos no seu projeto. Assim, os usuários podem conceder acesso aos dados deles e receber um link para qualquer documentação legal ou de privacidade. Se você já concluiu esta 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 Definir 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 é um 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 permissão OAuth para suporte ao usuário.
  5. Opcional: para o logotipo do app, faça upload de um arquivo de imagem para usar na tela de permissão OAuth.
  6. Se quiser, insira o link da página inicial do aplicativo, que precisa estar hospedado no mesmo domínio raiz da central de ações.
  7. Se quiser, insira um link para a Política de Privacidade do aplicativo no campo Link da Política de Privacidade do aplicativo. O link precisa estar hospedado no mesmo domínio raiz do seu hub de ações.
  8. Se quiser, insira 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 do seu 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 Informações 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 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 precisa verificar sua tela de consentimento do OAuth antes da publicação.
  13. Clique em SALVAR E CONTINUAR.
  14. Opcionalmente, na seção Usuários de teste, adicione os usuários que você quer que tenham acesso à central 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 a configurar suas credenciais do OAuth.

Depois de configurar a tela de permissão OAuth, se você estiver configurando credenciais do Google OAuth, volte à etapa 7 desse procedimento e termine 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 VM ou 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 o mesmo OAuth client ID e OAuth client secret para o Google Drive e o Google Sheets, mas é melhor ter os dois conjuntos de tokens de API do Google definidos.

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. Confira abaixo um exemplo de chave AES-256 hexadecimal:

    C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9

Gerar uma chave de API

Para acessar a chave de API, execute este comando:

y arn generate-api-key

Mantenha 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 local

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

yarn start

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 central de ações.
  3. Insira seu ACTION_HUB_BASE_URL e clique em Adicionar central de ações. A central de ações vai aparecer em um novo cabeçalho com o nome e ACTION_HUB_BASE_URL. Suas ações do Google Drive e das Planilhas Google vão aparecer 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 de cima do título da central de ações.
  5. Ative as ações do Google Drive e do Google Sheets e verifique se elas estão configuradas corretamente na central de ações.

Próxima etapa

A próxima etapa é publicar o aplicativo criado 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 do aplicativo pode levar algum tempo e exige algumas etapas de verificação com o Google.