Aprovisionar automáticamente una instancia nueva

Opcionalmente, al iniciar una nueva instancia alojada por el cliente de Looker, puedes aprovisionar automáticamente la instancia con una clave de licencia, una URL de host y una cuenta de usuario inicial.

Aprovisionar automáticamente una instancia nueva con un usuario de correo electrónico

Al iniciarse por primera vez, Looker analiza el directorio looker, donde se encuentra el archivo JAR, para buscar un archivo con el nombre provision.yml. El formato de este archivo es el siguiente:

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"

Si la instancia de Looker es nueva y aún no se ha configurado, se aprovisionará con la clave de licencia proporcionada y una cuenta de usuario con la información indicada.

Si Looker ya se ha aprovisionado, los valores de la clave de licencia y la URL de host sustituirán a los que se hayan definido en la instancia. La información del usuario se ignorará. Este enfoque es útil para actualizar una instancia de staging de Looker con una copia reciente de la base de datos interna de una instancia de producción, al tiempo que se mantiene una clave de licencia y una URL independientes para el servidor de staging.

Aprovisionar automáticamente una instancia nueva con un usuario de la API

Al iniciar una nueva instancia de Looker, puedes aprovisionar un usuario de la API inicial de forma programática. Puedes aprovisionar un usuario de la API o un usuario de correo electrónico, pero Looker no admite el aprovisionamiento de un usuario de la API y un usuario de correo electrónico al mismo tiempo.

Generar credenciales de API

Para aprovisionar un usuario de la API, genera un ID de cliente y un secreto de cliente que Looker leerá y guardará en la base de datos. Estos son los requisitos de estas credenciales:

  • El ID de cliente debe tener 20 caracteres.
  • El secreto de cliente debe tener 24 caracteres.
  • Ambas cadenas deben poder incluirse en el cuerpo de una solicitud POST. Por este motivo, le recomendamos que utilice solo caracteres alfanuméricos para el ID de cliente y el secreto de cliente.

Por ejemplo, Looker usa el siguiente código para generar estas credenciales de forma programática:

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 los caracteres ambiguos para que las cadenas sean menos propensas a errores.

También puedes usar el comando openssl para generar cadenas adecuadas:

openssl rand -hex 10

El número que aparece al final del comando openssl es el número de bytes de la cadena, por lo que debes usar 10 para el ID de cliente y 12 para el secreto de cliente.

Aprovisionar el usuario de la API

Para aprovisionar un usuario de la API al inicio, asegúrate de tener un archivo provision.yml que incluya tu clave de licencia y la URL del host en el directorio looker. Por ejemplo:

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

Crea un archivo llamado api-provision.yml con los permisos 0600 en el directorio looker que incluya la información del usuario de la API. Por ejemplo:

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

Te recomendamos que almacenes estas credenciales en un gestor de secretos fuera de este archivo, ya que se eliminará al inicio una vez que la instancia de Looker haya procesado y creado el usuario en la base de datos.

Al iniciarse, si la instancia no tiene usuarios, Looker crea un usuario de la API de administrador de Looker con estas credenciales y elimina el archivo api-provision.yml del disco.

Una vez que hayas iniciado sesión como el nuevo usuario, debes crear al menos otro usuario administrador, ya que Looker eliminará automáticamente al usuario de la API aprovisionado.

Eliminación automática de credenciales aprovisionadas

El usuario de la API aprovisionado solo se debe usar para aprovisionar una instancia nueva. No se debe mantener en tu instancia indefinidamente.

Looker elimina automáticamente el usuario de la API aprovisionado cuando se cumple una de las siguientes condiciones:

  • Un usuario administrador distinto del usuario de la API aprovisionado ha iniciado sesión en la instancia.
  • Han pasado 50 minutos desde que el usuario de la API aprovisionado inició sesión por primera vez.

Por lo tanto, es importante que cree al menos un usuario administrador adicional inmediatamente después de iniciar sesión por primera vez como usuario aprovisionado.