filtro_de_acesso

Uso

explore: explore_name {
access_filter: {
field: full_Scope_field
user_attribute: user_attribute_name
}
}
Hierarquia
access_filter
Valor padrão
Nenhuma

Aceita
Um nome de campo do LookML e o atributo de usuário associado

Regras especiais
É possível aplicar vários parâmetros access_filter ao mesmo recurso Explorar

Definição

access_filter permite aplicar restrições de dados específicas do usuário. Diferentemente da maioria dos parâmetros LookML, ele precisa ser usado em conjunto com outras configurações no Looker para funcionar corretamente. Um parâmetro access_filter é específico a uma única exploração. Portanto, é necessário aplicar um parâmetro access_filter a cada exploração que precisa de uma restrição.

Não se esqueça de adicionar access_filter a cada "Explorar" que precisar. Se você se esquecer de adicionar access_filter a uma exploração, ela não terá restrições e os usuários poderão ver todas as informações.

O comportamento da função access_filter seria parecido com o de vocês, sentados com um usuário e exigindo que eles apliquem um ou mais filtros na IU do Explore antes de executar uma consulta. Por exemplo, o usuário pode estar lidando apenas com um subconjunto dos seus clientes. Sendo assim, é necessário que o usuário aplique um filtro de nome de cliente.

Há várias etapas a serem seguidas para implementar um filtro de acesso:

  1. Decida quais campos precisam ser restritos. No exemplo acima, os usuários podem ter uma exploração Cliente com uma dimensão chamada Nome. A referência a esse campo é customer.name.
  2. Todos os usuários que vão interagir com o Explorar em questão precisam de um valor para o filtro de acesso. Em nosso exemplo, cada usuário precisará da lista de nomes de clientes que pode ver. Aplique esses valores a cada usuário ou grupo utilizando o recurso de atributos de usuário do Looker. Você pode ler sobre eles na página Atributos do usuário da documentação. Vamos criar um atributo de usuário allowed_customers.
  3. Por fim, conecte o atributo do usuário que você criou ao campo que deve usar o valor dele como um filtro. Em nosso exemplo, queremos conectar o atributo de usuário allowed_customers ao campo customer.name, desta forma:
explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
}

Examples

Os usuários não podem ver informações sobre a região de vendas deles:

explore: customer {
  access_filter: {
    field: sales.region
    user_attribute: sales_region
  }
}

Veja como os usuários podem ver informações sobre departamentos específicos nos clientes:

explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
  access_filter: {
    field: product.department
    user_attribute: allowed_departments
  }
}

Desafios comuns

access_filter exige nomes de campo com escopo completo.

Se você escrever um nome de campo sem um nome para a visualização, a maioria dos parâmetros no Looker assumirá um nome de visualização com base no local em que o parâmetro é usado. No entanto, access_filter não funciona dessa forma e exige que você escreva o nome da visualização e do campo.

Por exemplo, você pode pensar que isso funcionaria e que name seria interpretado como o nome do cliente:

explore: customer {
  access_filter: {
    field: name
    user_attribute: allowed_customers
  }
}

No entanto, esse não é o caso, e um erro vai aparecer. Em vez disso, escreva:

explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
}

Até mesmo os administradores precisam ter valores de filtro definidos na IU.

Todos os usuários que acessam uma exploração que usa access_filter precisam ter um valor no atributo do usuário referenciado. Isso vale até para quem tem função de administrador, apesar de poder ver todos os dados. Os usuários que não têm um valor de atributo do usuário definido vão receber uma mensagem de erro ao tentar ver a guia "Explorar".

  • 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 string (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 do usuário como Filtro de números (avançado) e use o valor <0, >=0, NULL.