Atributos do usuário

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

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

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.

Os atributos de usuário padrão landing_page, locale e number_format podem ser editados, mas não podem ser excluídos. Se você excluir um desses atributos de usuário, crie um novo atributo de usuário com o mesmo nome.

Como visualizar 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 fornece o nome, o rótulo e o tipo de cada atributo do usuário (veja mais informações abaixo). Além disso, a tabela contém um botão de ações que podem ser realizadas para o 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.

Criar atributos do usuário

Para definir um atributo de usuário, clique no botão Criar atributo de usuário no canto superior esquerdo da tela. Cada atributo de usuário tem as seguintes configurações:

  • Nome: o nome do atributo do usuário a ser usado em ambientes baseados em texto, como LookML (os nomes só podem conter letras minúsculas, números e sublinhados).
  • Identificador: a versão do nome fácil de usar. Por padrão, esse será o nome do atributo, com os sublinhados substituídos por espaços e cada palavra com letras maiúsculas. No entanto, o marcador pode ser modificado conforme desejado.
  • Tipo de dados: esta configuração é usada para verificar se valores válidos foram atribuídos a usuários para esse atributo de usuário. O tipo de dado 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).
    • 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 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 período ou uma expressão de filtro do Looker, use o filtro de data/hora (avançado).
    • Filtro de string (avançado): selecione esta opção para permitir vários valores de string ou uma expressão de filtro do Looker no atributo de 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 esta opção para permitir um intervalo de valores numéricos ou uma expressão de filtro do Looker no atributo de usuário. Consulte a página de documentação Expressões de filtro para ver uma lista das expressões de filtro que você pode usar para 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 de 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 usando expressões de filtro do Looker, que retornarão um intervalo de valores em um atributo do usuário.

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

    • Nenhum: não aparecerá nas páginas da conta dos usuários.
    • Ver: será exibido nas páginas da conta dos usuários, mas não será editável.
    • Editar: aparecerá nas páginas da conta dos usuários e poderá ser definido pelo usuário.
  • Ocultar valores: mesmo que os atributos do usuário estejam visíveis para os usuários, definir essa opção como Sim faz com que os valores dos atributos do usuário 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 nas listas suspensas de atributo de usuário na página Configurações de conexão. Depois que o valor é definido como Yes, ele nunca pode ser mudado novamente para No. Ao definir Ocultar valores como Yes, você também precisa especificar uma lista de domínios permitidos como um 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 que consiste nos URLs para os quais o atributo pode ser entregue, como nomes de host para conexões de banco de dados e URLs para integrações de HTTPS do Git do projeto. Você pode usar o caractere curinga (*) para ativar a exibição em várias páginas no mesmo site. Depois de especificar uma lista de permissões de domínio, o atributo de usuário só pode ser entregue aos destinos que você listou.

    Depois de especificar o atributo de lista de permissões do domínio para esse atributo do usuário, se ele tiver recebido valores (para um usuário, para um grupo ou definindo um valor padrão), você não poderá alterar a lista de permissões para tornar os URLs menos restritivos. Só é possível tornar os URLs mais restritivos ou remover os URLs da lista de permissões. Por exemplo, se 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 esta 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, 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 parte superior da página:

Atribuir valores a usuários individuais

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

  1. Clique em Valores do usuário.
  2. Escolha o usuário para atribuir um valor no menu suspenso. Isso revela uma tabela de valores que se aplicam ao usuário.
  3. Clique no botão Definir valor para o usuário.
  4. Digite o valor que o usuário terá no campo Novo valor.
  5. Clique em Save.

Quando um valor é atribuído a um usuário individual, esse valor sempre tem precedência sobre aqueles que foram atribuídos a esses grupos. A guia Valores de usuário é exibida quando um valor personalizado é atribuído a um atributo do usuário que modifica um valor de grupo:

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

Para atribuir todos os valores possíveis a um administrador do Looker ou a 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 de atributo do usuário como Filtro de strings (avançado) e use um valor de %, NULL.

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

Por motivos de segurança, não é possível usar caracteres curinga ou um intervalo de valores em um atributo de usuário com concesções de acesso. Consulte a página de documentação do parâmetro access_grant para mais informações.

Atribuir valores a grupos de usuários

É possível atribuir um valor a 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 em Valores de grupo.
  2. Clique no botão + Adicionar grupo.
  3. Escolha o grupo que receberá um valor no menu suspenso.
  4. Digite o valor que o grupo terá no campo Valor.
  5. Clique em Save.

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

No exemplo anterior, há os grupos "Equipe executiva" e "Equipe de gerenciamento". Como os executivos também são gerentes, eles são participantes dos dois grupos. Se você arrastar o grupo "Equipe executiva" para a parte superior da lista, os membros receberão o valor Executivo em vez de Administrador.

Se um usuário tiver definido um valor personalizado para um atributo de usuário, o valor definido pelo usuário modificará qualquer valor atribuído a um grupo do qual o usuário 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 do host de conexão não aceita um atributo do usuário que tenha um nível de acesso do usuário definido como editável.

Isso torna a conexão específica para o usuário que executa uma consulta. Os atributos de usuário também podem ser referenciados no campo Additional Params, que personaliza a string de conexão JDBC. Quando um usuário executa uma consulta usando a conexão, os valores do atributo do usuário atribuídos são aplicados, permitindo que a conexão seja personalizada com base no usuário.

Se você definir um ou mais parâmetros de conexão para um atributo do usuário, será necessário definir credenciais independentes da tabela derivada permanente (PDT, na sigla em inglês) para usar PDTs no modelo do LookML. Uma exceção: BigQuery's "Max Billing Gigabytes" pode ser definido como um atributo de usuário sem exigir um usuário PDT separado.

Configuração

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

Nas páginas New Connection e Edit Connection, cada entrada que pode ser definida como um atributo de usuário tem um botão anexado ao lado direito com o ícone do atributo de usuário:

Clique no botão "Atributo do usuário" para exibir um menu suspenso que permite escolher o atributo do usuário desejado:

Por exemplo, veja um atributo de usuário chamado Database Name que é usado para parametrizar o banco de dados da conexão. O valor do atributo de usuário Database Name do usuário atual, demo_db, é mostrado entre parênteses:

Para fazer referência a um atributo de usuário no campo Outros parâmetros, use a mesma sintaxe de modelos líquidos disponível no LookML. Os atributos do usuário são disponibilizados pela variável Fluid _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'] }}

Veja como ela pode ficar no campo Parâmetros adicionais no Looker:

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

Se o seu banco de dados tiver contas diferentes com várias restrições de acesso, aproveite as permissões do 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 o nível de acesso ao banco de dados dele. Embora isso garanta que os usuários não vejam dados aos quais não devem ter acesso, isso não afetará quais explorações, dimensões e medidas são apresentadas a eles no Looker.

Por exemplo, se um usuário estiver configurado para se conectar ao banco de dados com uma conta que impede a visualização de uma coluna credit_card_number na tabela user, qualquer dimensão que use essa coluna de banco de dados ainda aparecerá para ele no Looker. Eles simplesmente receberão 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

Digamos que você tenha vários bancos de dados com o mesmo esquema, como quando os dados de cada cliente são isolados no próprio banco de dados para medidas de segurança de dados (como conformidade 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 com um atributo do usuário, e cada usuário será direcionado para o banco de dados especificado no valor do atributo de usuário Database Name.

O uso de atributos de usuário em uma conexão desativa tabelas derivadas permanentes para essa conexão.

Ações de dados

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

Configuração

Para incluir um atributo de usuário em uma ação de dados, adicione um bloco user_attribute_param à definição de 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 de dados de atualização no Salesforce, o Looker envia as credenciais do Salesforce com o payload JSON, que o servidor de recebimento pode usar na autenticação 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

É possível configurar uma ação personalizada para incluir atributos que restrinjam o envio ou a programação de conteúdo do Looker a esse destino de ação se eles não tiverem um valor definido para o atributo de usuário.

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 não nulo e válido 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 exibido na IU 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 de 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 de usuário à direita do campo apropriado e selecione o atributo de usuário desejado.

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

Filtros

Os filtros em Explorars, Aparências, Painéis e Painéis legados podem ser definidos como um atributo de usuário para personalizar a consulta com base no usuário que o 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. Depois, defina um filtro em um painel para o atributo de usuário salesforce_username, e cada usuário verá esse painel filtrado para o nome de usuário específico do Salesforce.

Configuração

Na seção Filtros do painel "Explorar", "Aparência" ou "Painel":

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

    A caixa de seleção à direita é atualizada automaticamente com uma lista de atributos de usuário que têm o mesmo tipo de campo de 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 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 de 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 salesforce_username do usuário 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']}}

É possível usar o mesmo padrão para inserir atributos do usuário em filtros do painel e elementos do elemento do LookML.

Aparência e painéis programados

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

Por exemplo, é possível criar um atributo de usuário chamado salesforce_username e definir o valor como cada nome de usuário do Salesforce para cada usuário. Defina um filtro em um painel ou "Programação de visual" no atributo de usuário salesforce_username para que cada destinatário filtre esse painel pelo nome de usuário do Salesforce.

Pré-requisitos

Apenas os usuários do Looker têm valores de atributos do usuário definidos. Portanto, todos os destinatários da entrega de dados precisam ter uma conta do Looker. Para aplicar os atributos do usuário, execute o painel ou procure uma vez para cada destinatário.

Configuração

Abra o programador no Look, no painel legado ou no painel que usa a nova experiência do painel:

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

    A caixa de seleção à direita é atualizada automaticamente com uma lista de atributos do usuário do mesmo tipo que o filtro. O valor de cada atributo é exibido entre parênteses.

  2. Selecione o atributo 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 na linha. Embora você possa usar o parâmetro access_grant, os filtros de acesso são mais facilmente implementados e mantidos com atributos do usuário.

Os filtros de acesso oferecem uma maneira segura de aplicar restrições de dados específicas do usuário. A definição de um ou mais filtros de acesso para um LookML Explore garante que os dados retornados de um Explore são 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 de dados de uma conexão de banco de dados.

Observação sobre SQL: os filtros de acesso oferecem segurança no nível da linha ao inserir condições na cláusula WHERE do SQL. Os atributos de usuário podem ser aproveitados no LookML de outra maneira para fornecer segurança no nível da coluna, conforme descrito no artigo Como mascarar campos confidenciais para determinados usuários.

Configuração

  1. Crie um atributo de usuário:
    • Configure com o Acesso do usuário definido como Nenhum (recomendado) ou Ver. Um atributo de usuário configurado para ser editado pelos usuários não pode ser usado para um filtro de acesso.
    • Atribua valores de atributos do usuário a grupos ou usuários individuais.
  2. Na definição do LookML para o Explore, onde você quer o filtro de acesso, adicione um bloco access_filter com os seguintes parâmetros:
    • field: o nome do campo LookML em 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 no grupo "Explorar".
  4. Confira a cláusula WHERE do SQL da consulta para ver se os dados são filtrados de acordo com o valor do atributo do usuário.

Esse LookML garante que as consultas sobre pedidos sejam filtradas por marca, com a marca específica sendo baseada no valor atribuído ao 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 LookML, você pode configurar a Git authentication over HTTPS. Os projetos que usam autenticação HTTPS HTTPS têm a opção de aproveitar os atributos do usuário para fazer login nas contas Git individuais do desenvolvedor ao realizar operações Git para o desenvolvedor.

Os atributos do usuário para senhas de conta Git precisam estar 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 do domínio.

Como controlar o acesso com concessões de acesso

Você pode criar concessões de acesso que limitam o acesso de um LookML explore, join, view ou campo usando valores de atributo do usuário, os parâmetros access_grant e required_access_grants.

As concessões de acesso funcionam assim:

  1. Defina 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 de usuário. Você também especifica quais valores de atributo do usuário fornecem acesso à concessão de acesso.
  2. Em seguida, use o parâmetro required_access_grants nos níveis de Explorar, Participar, Visualizar ou Campo para restringir a estrutura somente aos usuários que têm acesso a cada concessão de acesso listada.

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 department.

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

Por motivos de segurança, não é possível usar caracteres curinga ou um intervalo de valores em um atributo de usuário com concesções de acesso. Consulte a página de documentação do parâmetro access_grant para mais informações.

Variáveis líquidas

O LookML permite o uso de várias variáveis líquidas, que podem ser úteis para tipos mais complexos de saída personalizada. Os valores de atributo do usuário agora podem ser incluídos em líquido.

Veja exemplos na seção Conexão desta página de documentação e no artigo Como usar atributos do usuário para esquema dinâmico e injeção de nome de tabela da Central de Ajuda.

Limites de dados do Google BigQuery

Se você usa o Google BigQuery como seu banco de dados, o Google cobra por cada consulta com base no tamanho da consulta. Para evitar que os usuários executem acidentalmente uma consulta muito cara, é possível aplicar um atributo de usuário na configuração Max Billing Gigabytes na sua conexão do BigQuery. Os valores fornecidos no atributo do usuário devem ser o número de gigabytes que um usuário pode extrair em uma única consulta.

Painéis incorporados

Você pode limitar os dados exibidos em Aparências e painéis incorporados com base nos valores de filtro nos valores de atributo do usuário. Para mais informações, consulte este tópico da Comunidade.

Localização

Os atributos de usuário locale e number_format podem definir a aparência de dados, visualizações e 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 Como localizar o Looker para ver 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 os usuários com as permissões see_users e sudo) podem usar o sudo como outro usuário para ver a experiência do Looker.

No Modo de desenvolvimento, suas alterações só ficarão visíveis para outros usuários quando você implantar as alterações na produção. Se você não tiver implantado suas alterações para outros usuários, não as verá quando fizer login como um usuário diferente.