Configurações de administrador: atributos do usuário

Os atributos do usuário oferecem uma experiência personalizada para cada usuário do Looker. Um administrador do Looker define um atributo do usuário e, em seguida, aplica um valor de atributo do usuário a um grupo ou usuários individuais.

Os administradores também podem definir atributos para os quais os próprios usuários fornecem valores, como senhas ou dados de contato. Vários lugares no Looker podem usar os atributos dos usuários como referência para oferecer uma experiência personalizada a cada um deles.

O Looker inclui automaticamente alguns atributos de usuário, como email, first_name, landing_page, last_name, full_name, ID, timezone (se configurado), locale e number_format.

Como visualizar atributos do usuário

Para ver sua lista de atributos de usuário, acesse a página Atributos do usuário na seção Usuários do menu Administrador.

A tabela de atributos de usuário mostra o nome, o rótulo e o tipo de cada atributo de usuário (consulte a seção a seguir para mais informações). Além disso, a tabela fornece um botão de ações que podem ser realizadas no atributo do usuário. Alguns atributos mostram "System Default" em vez de um botão de ações. Isso significa que o Looker cria esses atributos automaticamente para cada usuário. Os atributos de usuário padrão do sistema são reservados pelo Looker para uso interno e não podem ser editados.

Como criar atributos do usuário

Para definir um atributo de usuário, clique no botão Criar atributo de usuário na página Atributos do usuário da seção Usuários do menu Administrador. Cada atributo de usuário tem as seguintes configurações:

  • Nome: o nome do atributo de usuário, para uso em ambientes baseados em texto, como LookML. Os nomes podem conter apenas letras minúsculas, números e sublinhados.
  • Rótulo: a versão fácil de usar do nome. Por padrão, este será o nome do atributo, com sublinhados substituídos por espaços e cada palavra em maiúscula. No entanto, o rótulo pode ser modificado conforme necessário.
  • Tipo de dados: essa configuração é usada para verificar se os valores válidos foram atribuídos aos usuários para esse atributo do usuário. O tipo de dados do atributo do usuário pode ser um dos seguintes:

    • String: selecione esta opção para criar um atributo de usuário que corresponda exatamente a um valor de string, como um nome de usuário. Para usar vários valores de string ou uma expressão de filtro do Looker no valor do atributo do usuário, selecione a opção Filtro de string (avançado). Se você quiser que seu atributo de usuário seja tratado como uma string literal, inclua aspas simples ' na sintaxe, como neste exemplo: '{{ _user_attributes['name_of_attribute'] }}'
    • Número: selecione essa opção para especificar um único número, como um número de funcionário. Para usar um intervalo de números ou uma expressão de filtro do Looker, use o Filtro de número (avançado).
    • Data/hora: selecione esta opção para especificar uma única data ou hora, como a data de nascimento do usuário. Para usar um intervalo de datas ou uma expressão de filtro do Looker, use o filtro de data/hora (avançado).
    • URL relativo: selecione essa opção para especificar um URL relativo, como /browse/boards/2, que aponta para um conteúdo específico na instância do Looker, como um quadro, uma pasta ou um arquivo Markdown (como um README ou um arquivo de documento de um projeto). O atributo de usuário landing_page, por exemplo, tem um tipo de dados de URL relativo e pode ser usado para especificar uma página inicial específica para um usuário ou grupo.
    • Filtro de string (avançado): selecione essa opção para permitir vários valores de string ou uma expressão de filtro do Looker no atributo do usuário. Consulte a página de documentação Expressões de filtro para ver uma lista das expressões de filtro que podem ser usadas para strings.
    • Filtro de número (avançado): selecione essa opção para permitir um intervalo de valores numéricos ou uma expressão de filtro do Looker no atributo do usuário. Consulte a página de documentação Expressões de filtro para ver uma lista das expressões de filtro que podem ser usadas para números.
    • Filtro de data/hora (avançado): selecione essa opção para permitir um intervalo de datas ou uma expressão de filtro do Looker no atributo do usuário. Consulte a página de documentação Expressões de filtro para ver uma lista das expressões de filtro que podem ser usadas para data e hora.

    Use os tipos de dados Filtro de string (avançado), Filtro de número (avançado) e Filtro de data/hora (avançado) para inserir valores com as expressões de filtro do Looker, que vão retornar um intervalo de valores para um atributo do usuário.

  • Acesso do usuário: escolha o nível de visibilidade e edição que os usuários têm para um atributo de usuário:

    • Nenhum: não aparece nas páginas das contas dos usuários.
    • Visualização: aparecerá nas páginas das contas dos usuários, mas não será editável.
    • Edição: vai aparecer nas páginas da conta dos usuários e poderá ser definida por ele.
  • Ocultar valores: mesmo que os atributos do usuário fiquem visíveis para os usuários, definir essa opção como Sim faz com que os valores dos atributos do usuário sejam mascarados. Isso é útil para senhas e outras informações sensíveis. Definir esse valor como Sim também mascara o valor do atributo do usuário nos menus suspensos de atributo do usuário na página Configurações de conexão. Depois de definido como Yes, nunca será possível alterar o valor novamente para No. Quando você define Ocultar valores como Sim, também precisa especificar uma lista de permissões com os domínios permitidos como destino para o atributo do usuário.

  • Lista de permissões do domínio: ao ocultar os valores de um novo atributo de usuário, você também precisa especificar uma lista de permissões de domínio com os URLs em que o atributo pode ser entregue, como nomes de host para conexões de banco de dados e URLs para integrações HTTPS do Git do projeto. Você pode usar o curinga (*) para ativar a entrega para várias páginas no mesmo site. Depois que você especificar uma lista de permissões de domínio, o atributo de usuário só poderá ser enviado para os destinos listados.

    Depois de especificar a lista de permissões do domínio para esse atributo de usuário, se algum valor tiver sido atribuído a ele, seja para um usuário, um grupo ou pela definição de um valor padrão, não será possível alterar a lista de permissões para tornar os URLs menos restritivos. Você só pode tornar os URLs mais restritivos ou removê-los da lista de permissões. Por exemplo, se a Lista de permissões do domínio incluir uma entrada my_domain/route/*, não será possível alterá-la posteriormente para my_domain/*. Se você precisar tornar a lista de permissões menos restritiva, exclua todos os valores atribuídos ao atributo do usuário, incluindo os valores padrão.

  • Definir um valor padrão: marque essa caixa de seleção para definir um valor padrão caso um valor não seja atribuído a um usuário.

Após definir um atributo de usuário, é possível atribuir valores a usuários individuais ou grupos de usuários clicando nas guias Valores do usuário e Valores do grupo na página.

Atribuir valores a usuários individuais

Depois de definir um atributo de usuário, é possível atribuir um valor a ele a um usuário individual:

  1. Clique na guia Valores do usuário da página Atributos do usuário na seção Usuários do menu Administrador.
  2. Escolha o usuário para atribuir um valor no menu suspenso. Isso mostra uma tabela de valores que se aplicam a esse usuário.
  3. Clique no botão Definir valor para o usuário.
  4. Insira o novo valor no campo Novo valor.
  5. Clique em Salvar.

Quando um valor é atribuído a um usuário individual, esse valor sempre tem precedência sobre qualquer valor atribuído aos grupos desse usuário. A guia Valores de usuário mostra quando um valor personalizado foi atribuído a um atributo de usuário que modifica um valor de grupo. O texto "Substituído" vai aparecer ao lado de todos os valores substituídos, e esses valores não serão considerados. O texto "Valor atual" vai aparecer ao lado do valor do atributo do usuário ativo.

Para atribuir vários valores a um atributo de usuário, utilize o tipo de dados String Filter (advanced) e insira vários valores separados por vírgulas. Verifique se não há espaços em branco entre os valores. Por exemplo, insira a string Executive, Management, Contributors.

Para atribuir todos os valores possíveis a um administrador do Looker ou outro usuário, use um valor curinga no atributo de usuário:

  • Para conceder a um administrador ou outro usuário acesso a todos os valores de um campo de string, defina o tipo de dados do atributo do usuário como Filtro de string (avançado) e use o valor %, NULL.

  • Para conceder a um administrador ou outro usuário acesso a todos os valores de um campo numérico, defina o tipo de dados do atributo do usuário como Filtro de número (avançado) e use o valor <0, >=0, NULL.

Atribuir valores a grupos de usuários

Você pode atribuir o valor de um atributo de usuário a um grupo de usuários. Na página Atributos do usuário do painel Administrador, selecione Editar à direita do atributo que você quer definir. Em seguida:

  1. Clique na guia Valores do grupo.
  2. Clique no botão + Adicionar grupo.
  3. Escolha o grupo para atribuir um valor no menu suspenso.
  4. Digite o valor do grupo no campo Valor.
  5. Clique em Salvar.

Quando um valor é atribuído a vários grupos, você precisa decidir qual grupo deve ter precedência, caso um usuário pertença a vários grupos. Para fazer isso, arraste os grupos na ordem que deve ser aplicada. Cada grupo tem precedência sobre os grupos listados abaixo dele.

Por exemplo, você pode ter grupos Equipe executiva e Equipe de gerenciamento. Executivos também são gerentes, portanto, são membros de ambos os grupos. Arrastar o grupo "Equipe executiva" para o topo da lista garante que os membros dele recebam o valor Executivo em vez do valor Gerente.

Se um usuário tiver definido um valor personalizado para um atributo de usuário, esse valor substituirá qualquer valor atribuído a um grupo ao qual o usuário pertença.

Onde os atributos do usuário podem ser usados?

Os atributos do usuário têm as seguintes funções:

Conexões de banco de dados

O host, a porta, o banco de dados, o nome de usuário, a senha e o esquema de uma conexão podem receber o valor de um atributo de usuário. O campo de host de conexão não aceita atributos de usuário que tenham um nível de Acesso do usuário definido como Editável.

Esses atributos de usuário tornam a conexão específica para o usuário que executa uma consulta. Também é possível consultar os atributos do usuário no campo Parâmetros adicionais do JDBC, que personaliza a string de conexão do JDBC. Quando um usuário executa uma consulta usando a conexão, os valores de atributo do usuário atribuídos a ele são aplicados, permitindo que a conexão seja personalizada com base no usuário.

Configuração

Qualquer conexão pode ser configurada para usar atributos do usuário na página Conexões da seção Administrador do Looker. Consulte a página de documentação Configurações do administrador - Conexões para saber mais sobre a página Conexões. Para criar uma nova conexão, clique em Adicionar conexão. Para configurar uma conexão, clique em Edit ao lado dela.

Se uma entrada puder ser definida como um atributo do usuário, o Looker vai mostrar um botão Atributo do usuário ao lado do de entrada.

Clique no botão Atributo do usuário para abrir um menu suspenso em que você pode escolher o atributo de usuário desejado. A lista mostra o nome do atributo do usuário com o valor do atributo do usuário atual entre parênteses.

Para referenciar um atributo do usuário no campo Outros parâmetros do JDBC, use a mesma sintaxe de modelos líquidos disponível no LookML. Os atributos do usuário são disponibilizados pela variável líquida _user_attributes. Por exemplo, para fazer referência a um atributo de usuário chamado my_jdbc_param_attribute, use a seguinte sintaxe:

my_jdbc_param={{ _user_attributes['name_of_attribute'] }}

Caso de uso: como aplicar permissões no nível do banco de dados no Looker

Caso seu banco de dados tenha contas diferentes com diversas restrições de acesso, use as permissões de banco de dados no Looker. Parametrizar o nome de usuário e a senha de uma conexão para que cada usuário se conecte com as credenciais apropriadas para seu nível de acesso ao banco de dados. Embora isso garanta que os usuários não encontrem dados a que não deveriam ter acesso, isso não afeta quais Análises, dimensões e medições são exibidas para eles no Looker.

Por exemplo, se um usuário estiver configurado para se conectar ao banco de dados com uma conta que o impede de acessar uma coluna credit_card_number na tabela user, qualquer dimensão que use essa coluna ainda vai aparecer para ele no Looker. Eles recebem um erro do banco de dados se tentarem executar uma consulta que inclua essa dimensão.

Caso de uso: uso de um modelo para vários bancos de dados idênticos

Digamos que você tenha vários bancos de dados com o mesmo esquema. Por exemplo, quando os dados de cada cliente estão isolados em um banco de dados próprio para medidas de segurança de dados (como compliance com a HIPAA). Ou talvez você queira que os desenvolvedores do LookML executem consultas em uma cópia de desenvolvimento de um banco de dados de produção.

Se esses bancos de dados estiverem no mesmo servidor, não será necessário configurar conexões e modelos separados. Em vez disso, defina o banco de dados de uma conexão como um atributo de usuário, e cada usuário será direcionado para o banco de dados especificado no valor dele para o atributo de usuário Database Name.

Ações de dados

As ações de dados podem ser configuradas para incluir determinados atributos do usuário com o payload JSON. Use-o para enviar informações específicas do usuário com os dados, como credenciais para executar uma operação em um serviço específico.

Configuração

Para incluir um atributo do usuário em uma ação de dados, adicione um bloco user_attribute_param à definição action. Cada bloco usa dois parâmetros:

  • user_attribute: o nome do atributo do usuário
  • name: o nome a ser usado no payload JSON

Este exemplo usa dois atributos de usuário, salesforce_username e salesforce_password, para armazenar as credenciais do Salesforce de cada usuário no Looker. Quando um usuário executa a ação de dados "Update in Salesforce", o Looker envia as credenciais do Salesforce com o payload JSON, que o servidor de recebimento pode usar na autenticação.

dimension: stage_name {
  type: string
  sql: ${TABLE}.stage_name;;
  action: {
    label: "Update in Salesforce"
    url: "https://example.com/my_salesforce_url"
    user_attribute_param: {
      user_attribute: salesforce_username
      name: "username"
    }
    user_attribute_param: {
      user_attribute: salesforce_password
      name: "password"
    }
    form_param: {
      name: "new_stage_name"
      type: string
      required: yes
    }
  }
}

Ações personalizadas em um hub de ações

Você pode configurar uma ação personalizada para incluir atributos que impeçam as pessoas de enviar ou programar conteúdo do Looker para esse destino de ação se não tiverem um valor definido para esse atributo.

Configuração

O parâmetro params em uma ação personalizada representa os campos do formulário que um administrador do Looker precisa configurar na página de ativação da ação na lista Ações do painel Administrador. No parâmetro params do arquivo de ação, inclua:

  params = [{
    description: "A description of the param.",
    label: "A label for the param.",
    name: "action_param_name",
    user_attribute_name: "user_attribute_name",
    required: true,
    sensitive: true,
  }]

em que user_attribute_name é o atributo do usuário definido no campo Nome da página Atributos do usuário na seção Usuários do painel Administrador, required: true significa que um usuário precisa ter um valor válido e não nulo definido para esse atributo do usuário para ver a ação ao entregar dados, e sensitive: true significa que o valor do atributo do usuário é criptografado e nunca aparece na interface do Looker depois de inserido. É possível especificar vários subparâmetros de atributos do usuário.

Um admin do Looker precisa configurar os campos do formulário da ação com o atributo de usuário:

  1. Clique no botão Ativar ou Configurações ao lado da ação na página Ações do painel Administrador.
  2. Clique no ícone de atributo do usuário no campo apropriado e selecione o atributo de usuário desejado.

Consulte a seção Como adicionar atributos de usuário a ações personalizadas da página de documentação Como compartilhar dados em um hub de ações.

Filtros

Os filtros em Análises, Aparências e painéis podem ser definidos como um atributo do usuário para personalizar a consulta com base no usuário que a executa.

Por exemplo, você pode criar um atributo de usuário chamado salesforce_username e configurar cada usuário do Looker para que o valor seja o nome de usuário do Salesforce. Em seguida, você poderia definir um filtro em um painel para o atributo de usuário salesforce_username e cada usuário veria esse painel filtrado para seu nome de usuário específico do Salesforce.

Configuração

Na seção FILTROS de uma Análise, de um Look ou de um dashboard:

  1. Selecione a opção corresponde a um atributo do usuário no filtro desejado.

    A caixa de seleção à direita é atualizada automaticamente com uma lista de atributos do usuário que têm o mesmo tipo do campo do filtro, como número, string (texto), data etc. O Looker mostra o valor de cada atributo do usuário entre parênteses.

  2. Selecione o atributo de usuário desejado.

Sintaxe de filtro avançado

Se você quiser fazer algo mais complexo do que uma simples verificação de igualdade do filtro, selecione correspondências (avançado) e faça referência ao atributo do usuário usando uma variável líquida:

{{ _user_attributes['name_of_attribute'] }}

Por exemplo, suponha que você precise aplicar um prefixo sf_ ao valor do atributo de usuário salesforce_username porque é assim que os valores são armazenados no seu banco de dados. Para adicionar o prefixo ao valor do atributo do usuário, use a sintaxe de variável líquida _user_attributes:


sf_{{_user_attributes['salesforce_username']}}

Você pode usar o mesmo padrão para inserir atributos de usuário nos filtros de painel e nos filtros de elemento do painel do LookML.

Dashboards e Looks programados

Os filtros do dashboard e do Look podem ser definidos de acordo com a programação, incluindo a opção de usar um atributo de usuário. Isso permite que você personalize os resultados da entrega de dados para cada destinatário de e-mail. É possível personalizar os envios de conteúdo como envios únicos e recorrentes.

Por exemplo, você pode criar um atributo de usuário chamado salesforce_username e definir o valor para o nome de usuário do Salesforce de cada usuário. Defina um filtro em um dashboard ou uma programação do Look para o atributo de usuário salesforce_username. Assim, cada destinatário terá o dashboard filtrado pelo nome de usuário do Salesforce.

Pré-requisitos

Somente usuários do Looker têm valores de atributo do usuário definidos, portanto, todos os destinatários da entrega de dados precisam ter uma conta do Looker. Os atributos do usuário são aplicados executando o dashboard ou Look uma vez para cada destinatário.

Configuração

Abra o Programador do Look ou do painel:

  1. Na seção Filtros, selecione a opção corresponde a um atributo do usuário no filtro desejado.

    A caixa de seleção à direita é atualizada automaticamente com uma lista de atributos do usuário que são do mesmo tipo do filtro. Seu próprio valor para cada atributo de usuário aparece entre parênteses.

  2. Selecione o atributo de usuário desejado.

  3. Marque a caixa de seleção executar programação como destinatário ao lado do campo Opções de e-mail.

Filtros de acesso

É possível limitar os dados que um usuário pode acessar com filtros de acesso, que oferecem segurança no nível da linha. Embora você possa usar o parâmetro access_grant, os filtros de acesso são mais facilmente implementados e mantidos com atributos de usuário.

Os filtros de acesso são uma maneira segura de aplicar restrições de dados específicas dos usuários. Ao definir um ou mais filtros de acesso para uma Análise do LookML, os dados retornados por ela são filtrados com base no usuário que está executando a consulta. Assim, os filtros de acesso fornecem uma camada extra de restrição, garantindo que o usuário possa ver apenas subconjuntos específicos dos dados de uma conexão de banco de dados.

Configuração

  1. Crie um atributo de usuário:
    • Configure com o Acesso do usuário definido como Nenhum (recomendado) ou Visualização. Um atributo de usuário configurado para ser editável pelos usuários não pode ser usado em um filtro de acesso.
    • Atribua valores de atributos do usuário a grupos ou usuários individuais.
  2. Na definição do LookML para a Análise em que você quer aplicar o filtro de acesso, adicione um bloco access_filter com os seguintes parâmetros:
    • field: o nome do campo do LookML que será filtrado
    • user_attribute: o nome do atributo do usuário que armazena o valor que você quer usar para filtrar os dados
  3. Execute uma consulta nessa Análise.
  4. Verifique a cláusula WHERE do SQL da consulta para confirmar se os dados estão filtrados de acordo com o valor do atributo do usuário.

Este LookML garante que as consultas sobre pedidos sejam filtradas por marca, com a marca específica sendo baseada no valor atribuído pelo usuário para um atributo de usuário chamado company:

explore: orders {
  view_name: orders
  access_filter: {
    field: products.brand_name
    user_attribute: company
  }
  join: products {
    foreign_key: orders.product_id
  }
}

Como se conectar a provedores Git

Para projetos do LookML, você pode configurar a autenticação Git por HTTPS. Os projetos que usam a autenticação Git HTTPS têm a opção de aproveitar os atributos do usuário para fazer login em contas individuais do desenvolvedor usando o Git para realizar operações do Git para o desenvolvedor.

Os atributos do usuário para senhas de contas do Git precisam estar ocultos. Ao criar o atributo de senha, selecione Sim na opção Ocultar valores e digite o URL do provedor Git no campo Lista de permissões do domínio.

Como controlar o acesso com concessões de acesso

É possível criar concessões que limitam o acesso a uma Análise, mesclagem, visualização ou campo do LookML usando valores de atributo do usuário e os parâmetros access_grant e required_access_grants.

As permissões de acesso funcionam da seguinte forma:

  1. Para definir uma concessão de acesso, use o parâmetro access_grant. Como parte da definição, você associa a concessão de acesso a um atributo de usuário. Você também especifica quais valores de atributos de usuário fornecem acesso à concessão de acesso.
  2. Em seguida, use o parâmetro required_access_grants no nível da Análise, da join, da visualização ou do campo para restringir essa estrutura apenas aos usuários que têm acesso a todas as permissões de acesso listadas.

Por exemplo, é possível usar uma concessão de acesso para limitar o acesso à dimensão salary apenas aos usuários que têm o valor payroll no atributo de usuário department.

Para mais informações sobre como definir concessões de acesso, consulte a página de documentação do parâmetro access_grant.

Variáveis líquidas

Com o LookML, é possível usar diversas variáveis líquidas, que podem ser úteis para tipos mais complexos de saída personalizada. Os valores de atributo de um usuário agora podem ser incluídos no Liquid. A expressão líquida precisa usar uma sintaxe apropriada ao dialeto do seu banco de dados.

Veja exemplos na seção Conexão desta página de documentação e na página de práticas recomendadas Como usar atributos do usuário para injeção de esquema dinâmico e nome de tabela.

Limites de dados do Google BigQuery

Se você usar o Google BigQuery como banco de dados, o Google cobrará por cada consulta com base no tamanho da consulta. Para evitar que os usuários executem acidentalmente uma consulta muito cara, aplique um atributo de usuário na configuração Máximo de gigabytes de faturamento na sua conexão do BigQuery. Os valores fornecidos no atributo user devem ser o número de gigabytes que um usuário pode extrair em uma única consulta.

Painéis incorporados

É possível limitar os dados mostrados em Looks e dashboards incorporados baseando os valores de filtro nos valores de atributo do usuário. Para mais informações, consulte a postagem na comunidade Como criar um painel incorporado de prova de conceito (com tecnologia do Looker) .

Localização

Os atributos do usuário locale e number_format podem definir a aparência dos dados, visualizações e partes da interface do Looker para usuários ou grupos de usuários específicos. Consulte a página de documentação Como localizar o Looker para mais informações.

Como testar atributos do usuário e filtros de acesso

Você pode testar os efeitos dos atributos de usuário com a função sudo do Looker. Os administradores (ou usuários com as permissões see_users e sudo) podem fazer o sudo como outro usuário para conferir a experiência deles no Looker.

No Modo de Desenvolvimento, as alterações não ficam visíveis para outros usuários até que você implante as alterações na produção. Se você não tiver implantado as alterações para que outros usuários vejam, não as verá ao executar o sudo como um usuário diferente.