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 aplica um valor a um grupo de usuários ou a usuários individuais.

Os administradores também podem definir atributos de usuário para os quais os próprios usuários fornecem valores, como senhas ou dados de contato. Vários lugares no Looker podem fazer referência aos atributos do usuário para oferecer uma experiência personalizada para cada pessoa.

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

.

Como ver atributos do usuário

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

A tabela de atributos do usuário mostra o nome, o rótulo e o tipo de cada atributo (consulte a seção a seguir para mais informações). Além disso, a tabela oferece um botão para ações que podem ser realizadas no atributo do usuário. Alguns atributos mostram "Padrão do sistema" em vez de um botão de ações, o que significa que o Looker cria automaticamente esses atributos 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 do usuário, clique no botão Criar atributo do 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 do 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, esse será o nome do atributo, com sublinhados substituídos por espaços e cada palavra capitalizada. No entanto, o rótulo pode ser modificado conforme necessário.
  • Tipo de dados: essa configuração é usada para verificar se valores válidos foram atribuídos aos usuários para esse atributo. O tipo de dados do atributo do usuário pode ser um dos seguintes:

    • String: selecione essa 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 o atributo do usuário seja tratado como uma string literal, inclua aspas simples ' na sintaxe, como neste exemplo: none '{{ _user_attributes['name_of_attribute'] }}'
    • Número: selecione essa opção para especificar um único número, como o número do funcionário. Para usar um intervalo de números ou uma expressão de filtro do Looker, use o Filtro numérico (avançado).
    • Data/hora: selecione essa opção para especificar uma única data ou hora, como a data de nascimento do usuário. Para usar um período 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, como um quadro, uma pasta ou um arquivo Markdown (por exemplo, um arquivo README ou de documento em um projeto) na sua instância do Looker. Por exemplo, o atributo de usuário landing_page tem um tipo de dados URL relativo e pode ser usado para especificar uma página inicial 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 de expressões que podem ser usadas em 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 de expressões que podem ser usadas com números.
    • Filtro de data/hora (avançado): selecione essa opção para permitir um período 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 de expressões 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 usando expressões de filtro do Looker, que vão retornar um intervalo de valores para um atributo do usuário.

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

    • Nenhum: não aparece nas páginas da conta dos usuários.
    • Visualizar: vai aparecer nas páginas da conta dos usuários, mas não poderá ser editado.
    • Editar: aparece nas páginas da conta dos usuários e pode ser definido por eles.
  • Ocultar valores: mesmo que os atributos do usuário estejam visíveis para eles, definir essa opção como Sim faz com que os valores dos atributos sejam mascarados, o que é útil para senhas ou outras informações sensíveis. Definir esse valor como Sim também mascara o valor do atributo do usuário nos menus suspensos de atributos na página Configurações de conexão. Depois que esse valor é definido como Sim, ele nunca mais pode ser alterado para Não. Quando você define Ocultar valores como Sim, também é necessário especificar uma lista de permissões de domínios que podem ser usados como destino para o atributo do usuário.

  • Lista de permissão de domínio: ao ocultar os valores de um novo atributo do usuário, também é necessário especificar uma lista de permissão de domínio que consiste nos 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 caractere curinga (*) para ativar a veiculação em várias páginas do mesmo site. Depois de especificar uma lista de permissões de domínio, o atributo do usuário só poderá ser entregue aos destinos listados.

    Depois de especificar a lista de permissões de domínio para esse atributo de usuário, se ele tiver recebido valores (para um usuário, um grupo ou definindo um valor padrão), não será possível mudar a lista para tornar os URLs menos restritivos. Só é possível tornar os URLs mais restritivos ou removê-los da lista de permissões. Por exemplo, se a lista de permissão de domínio incluir uma entrada my_domain/route/*, não será possível mudar para my_domain/* depois. Se for necessário tornar a lista de permissões menos restritiva, exclua todos os valores atribuídos ao atributo do usuário, incluindo os padrões.

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

Depois de definir um atributo de usuário, você pode atribuir valores a usuários individuais ou a grupos de usuários clicando nas guias Valores de usuário e Valores de grupo na página.

Atribuir valores a usuários individuais

Depois de definir um atributo do usuário, você pode atribuir um valor a ele para um usuário individual:

  1. Clique na guia Valores do usuário na página Atributos do usuário, que fica na seção Usuários do menu Administrador.
  2. Escolha o usuário para atribuir um valor no menu suspenso. Isso revela uma tabela de valores aplicáveis 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, ele sempre tem precedência sobre os valores atribuídos aos grupos desse usuário. A guia Valores do usuário mostra quando um valor personalizado foi atribuído a um atributo do usuário que substitui um valor de grupo. O texto "Substituído" vai aparecer ao lado dos valores substituídos, e eles não serão considerados. O texto "Valor atual" vai aparecer ao lado do valor do atributo de usuário ativo.

Para atribuir vários valores a um atributo do usuário, use o tipo de dados Filtro de string (avançado) e insira vários valores separados por vírgulas. Verifique se não há espaços em branco entre os valores. Por exemplo, você pode inserir a string: Executive, Management, Contributors.

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

  • Para dar 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 um valor de %, NULL.

  • Para dar 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 numérico (avançado) e use um valor de <0, >=0, NULL.

Atribuição de valores a grupos de usuários

Você pode atribuir um valor para 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. Insira o valor que o grupo vai ter no campo Valor.
  5. Clique em Salvar.

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

Por exemplo, você pode ter grupos como "Equipe executiva" e "Equipe de gestão". Os executivos também são gerentes, então eles são membros dos dois grupos. Arraste o grupo "Equipe executiva" para a parte de cima da lista para garantir que os membros recebam o valor Executivo em vez de Gerente.

Se um usuário tiver definido um valor personalizado para um atributo, ele vai substituir qualquer valor atribuído a um grupo a que ele pertence.

Onde os atributos de 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 do usuário. O campo de host da conexão não aceita um atributo de usuário com um nível de acesso do usuário definido como Editável.

Esses atributos tornam a conexão específica para o usuário que executa uma consulta. Os atributos do usuário também podem ser referenciados no campo Parâmetros JDBC adicionais, que personaliza a string de conexão JDBC. Quando um usuário executa uma consulta usando a conexão, os valores de atributo 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 de administrador - Conexões para informações sobre a página Conexões. Para criar uma conexão, clique em Adicionar conexão. Para configurar uma conexão, clique em Editar 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 da entrada .

Clique no botão Atributo do usuário para mostrar um menu suspenso em que você pode escolher o atributo 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 de usuário no campo Outros parâmetros JDBC, use a mesma sintaxe de modelo Liquid disponível na LookML. Os atributos do usuário são disponibilizados pela variável Liquid _user_attributes. Por exemplo, para fazer referência a um atributo do 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

Se o banco de dados tiver contas diferentes com várias restrições de acesso, use as permissões do banco de dados no Looker. Parametrize o nome de usuário e a senha de uma conexão para que cada usuário se conecte com as credenciais adequadas ao nível de acesso ao banco de dados. Isso garante que os usuários não vejam dados a que não deveriam ter acesso, mas não afeta quais análises detalhadas, dimensões e métricas são mostradas a eles no Looker.

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

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

Por exemplo, se você tiver vários bancos de dados com o mesmo esquema, como quando os dados de cada cliente são isolados em um banco de dados próprio para medidas de segurança de dados (como conformidade com a HIPAA). Ou talvez você queira que seus 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 do usuário. Assim, cada usuário será direcionado ao banco de dados especificado no valor do atributo do 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 isso para enviar informações específicas do usuário junto com os dados, como as credenciais para realizar 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 realiza a ação "Atualizar dados do Salesforce", o Looker envia as credenciais do Salesforce com o payload JSON, que o servidor receptor pode usar para autenticar no Salesforce.

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 de usuário que impedem o envio ou agendamento de conteúdo do Looker para esse destino de ação se eles não tiverem um valor definido para esse atributo.

Configuração

O parâmetro params em uma ação personalizada representa os campos de 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 não nulo e válido definido para esse atributo do usuário para ver a ação ao entregar dados. sensitive: true significa que o valor do atributo do usuário é criptografado e nunca exibido na interface do Looker depois de inserido. É possível especificar vários subparâmetros de atributo do usuário.

Um administrador do Looker precisa configurar os campos do formulário da ação com o atributo do 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 adequado e selecione o atributo desejado.

Consulte a seção Adicionar atributos do usuário a ações personalizadas na página de documentação Compartilhar dados por um hub de ações.

Filtros

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

Por exemplo, é possível criar um atributo de usuário chamado salesforce_username e configurar cada usuário do Looker para que o valor dele seja o nome de usuário do Salesforce. Em seguida, você pode definir um filtro em um painel para o atributo de usuário salesforce_username, e cada usuário vai ver o painel filtrado para o nome de usuário específico do Salesforce.

Configuração

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

  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 e assim por diante. 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 para o filtro, selecione corresponde (avançado) e faça referência ao atributo do usuário usando uma variável Liquid:

{{ _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 da variável Liquid _user_attributes:


sf_{{_user_attributes['salesforce_username']}}

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

Painéis e Looks programados

Os filtros de painel e de análise podem ser definidos por programação, incluindo a opção de usar um atributo do usuário. Isso permite personalizar os resultados da entrega de dados para cada destinatário de e-mail. É possível personalizar as entregas de conteúdo enviadas como entregas únicas e recorrentes.

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

Pré-requisitos

Somente os usuários do Looker têm valores de atributos 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 painel ou o Look uma vez para cada destinatário.

Configuração

Abra o programador para o Look ou o 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 de usuário do mesmo tipo que o 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 seja possível usar o parâmetro access_grant, os filtros de acesso são mais fáceis de implementar e manter com atributos do usuário.

Os filtros de acesso oferecem uma maneira segura de aplicar restrições de dados específicas do usuário. Definir um ou mais filtros de acesso para uma Análise de dados do LookML garante que os dados retornados de uma Análise sejam filtrados com base no usuário que executa a consulta. Assim, os filtros de acesso oferecem uma camada extra de restrição, garantindo que o usuário só possa ver subconjuntos específicos dos dados de uma conexão de banco de dados.

Configuração

  1. Crie um atributo do usuário:
    • Configure com o Acesso do usuário definido como Nenhum (recomendado) ou Visualizar. Um atributo de usuário configurado para ser editável por usuários não pode ser usado em um filtro de acesso.
    • Atribua valores de atributos de usuário a grupos ou usuários individuais.
  2. Na definição da LookML para a análise detalhada em que você quer o filtro de acesso, adicione um bloco access_filter com os seguintes parâmetros:
    • field: o nome do campo da LookML em que filtrar.
    • user_attribute: o nome do atributo do usuário que armazena o valor usado 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.

Essa LookML garante que as consultas sobre pedidos sejam filtradas por marca, com base no valor atribuído ao usuário para um atributo 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 do Git

Para projetos do LookML, é possível configurar a autenticação do Git por HTTPS. Os projetos que usam a autenticação HTTPS do Git podem aproveitar os atributos do usuário para fazer login nas contas individuais do Git do desenvolvedor ao realizar operações do Git para ele.

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

Como controlar o acesso com concessões de acesso

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

As concessões de acesso funcionam assim:

  1. Você define uma concessão de acesso usando o parâmetro access_grant. Como parte da definição, você associa a concessão de acesso a um atributo do usuário. Você também especifica quais valores de atributo do usuário dão acesso à concessão.
  2. Em seguida, use o parâmetro required_access_grants no nível Analisar, junção, visualização ou campo para restringir essa estrutura apenas aos usuários que têm acesso a todas as concessões 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

A LookML permite o uso de várias variáveis Liquid diferentes, 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 Liquid precisa usar uma sintaxe adequada ao dialeto do banco de dados.

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

Limites de dados do Google BigQuery

Se você usa o Google BigQuery como banco de dados, o Google cobra por cada consulta com base no tamanho dela. 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 do usuário precisam 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 painéis incorporados com base nos valores de atributos 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 de usuário locale e number_format podem definir a aparência dos dados, das visualizações e de partes da interface do usuário do Looker para usuários ou grupos de usuários específicos. Consulte a página de documentação Localizar o Looker para mais informações.

Acessar endpoints de API externos

Os atributos do usuário podem ser usados pelo framework de extensão do Looker para acessar endpoints de API externos usando um proxy de servidor. Por exemplo, consulte a página de documentação Exemplos de código do framework de extensão React e JavaScript.

Como testar atributos do usuário e filtros de acesso

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

Quando você está no Modo de Desenvolvimento, suas mudanças não ficam visíveis para outros usuários até que você implante as mudanças na produção. Se você não tiver implantado as mudanças para outros usuários, elas não vão aparecer quando você usar o sudo como um usuário diferente.