Administração de contas automática de uma nova instância

Opcionalmente, no arranque de uma nova instância alojada pelo cliente do Looker, pode aprovisionar automaticamente a instância com uma chave de licença, um URL de anfitrião e uma conta de utilizador inicial.

Aprovisionar automaticamente uma nova instância com um utilizador de email

No arranque inicial, o Looker procura no diretório looker, onde reside o ficheiro JAR, um ficheiro com o nome provision.yml. O formato deste ficheiro é o seguinte:

license_key: "1234-5678-ABCD-EFGH-IJKL"
host_url: "https://looker.mycompany.com"
user:
  first_name: "Ariel"
  last_name: "Q"
  email: "arielq@altostrat.com"
  password: "password123"

Se a instância do Looker for totalmente nova e ainda não tiver sido configurada, é aprovisionada com a chave de licença fornecida e uma conta de utilizador com as informações facultadas.

Se o Looker já tiver sido aprovisionado, os valores da chave de licença e do URL do anfitrião substituem os valores da chave de licença e do URL do anfitrião definidos na instância. As informações do utilizador são ignoradas. Esta abordagem é útil para atualizar uma instância de preparação do Looker com uma cópia atualizada da base de dados interna de uma instância de produção, mantendo, ao mesmo tempo, um URL e uma chave de licença separados para o servidor de preparação.

Aprovisionar automaticamente uma nova instância com um utilizador da API

No arranque de uma nova instância do Looker, pode aprovisionar um utilizador da API inicial de forma programática. Pode aprovisionar um utilizador da API ou um utilizador de email, mas o Looker não suporta o aprovisionamento de um utilizador da API e um utilizador de email em simultâneo.

Gerar credenciais da API

Para aprovisionar um utilizador da API, gere um ID do cliente e um segredo do cliente que o Looker vai ler e guardar na base de dados. Os requisitos para estas credenciais são os seguintes:

  • O ID de cliente tem de ter 20 carateres.
  • O segredo do cliente tem de ter 24 carateres.
  • Ambas as strings têm de poder ser incluídas no corpo de um pedido POST. Por este motivo, recomendamos que use apenas carateres alfanuméricos para o ID de cliente e o segredo do cliente.

Por exemplo, o Looker usa o seguinte código para gerar estas credenciais programaticamente:

require 'securerandom'

TOKEN_SYMBOLS = "bcdfghjkmnpqrstvwxyzBCDFGHJKMNPQRSTVWXYZ23456789".freeze

def generate_token(size)
  Array.new(size).map { TOKEN_SYMBOLS[SecureRandom.random_number(TOKEN_SYMBOLS.size)] }.join
end

Este código evita carateres ambíguos para tornar as strings menos propensas a erros.

Também pode usar o comando openssl para gerar strings adequadas:

openssl rand -hex 10

O número no final do comando openssl é o número de bytes na string, por isso, use 10 para o ID do cliente e 12 para o segredo do cliente.

Aprovisionar o utilizador da API

Para aprovisionar um utilizador da API no arranque, certifique-se de que tem um ficheiro provision.yml que inclui a chave de licença e o URL do anfitrião no diretório looker. Por exemplo:

license_key: "1234-5678-ABCD-EFGH-IJKL"
host_url: "https://looker.mycompany.com"

Crie um ficheiro denominado api-provision.yml com as autorizações 0600 no diretório looker que inclua as informações do utilizador da API. Por exemplo:

user:
  first_name: "Ariel"
  last_name: "Q"
  client_id: "M9hZb8vRh9bSZzdPxw42"
  client_secret: "NMnqBVbHqPsPzTvbZk6xZfV3"

Recomendamos que armazene estas credenciais num gestor de segredos fora deste ficheiro, uma vez que este ficheiro é removido no arranque assim que a instância do Looker tiver processado e criado o utilizador na base de dados.

No arranque, se a instância não tiver utilizadores, o Looker cria um utilizador da API de administrador do Looker com estas credenciais e remove o ficheiro api-provision.yml do disco.

Depois de iniciar sessão como o novo utilizador, deve criar, pelo menos, um utilizador administrador adicional, uma vez que o utilizador da API aprovisionado é eliminado automaticamente pelo Looker.

Eliminação automática de credenciais aprovisionadas

O utilizador da API aprovisionado destina-se apenas ao aprovisionamento de uma nova instância e não se destina a permanecer na sua instância indefinidamente.

O Looker elimina automaticamente o utilizador da API aprovisionado após uma das seguintes condições ser cumprida:

  • Um utilizador administrador que não seja o utilizador da API aprovisionado iniciou sessão na instância.
  • Passaram 50 minutos desde que o utilizador da API aprovisionado iniciou sessão pela primeira vez.

Por conseguinte, é importante que crie, pelo menos, um utilizador administrador adicional imediatamente após iniciar sessão como utilizador aprovisionado pela primeira vez.