access_filter

Disattiva commento:

Utilizzo


explore: explore_name {
  access_filter: {
    field: fully_scoped_field
    user_attribute: user_attribute_name
  }
}
Gerarchia
access_filter
Valore predefinito
Nessuno

Accetta
Un nome di campo LookML e l'attributo utente associato

Regole speciali
Puoi applicare più parametri access_filter nella stessa esplorazione.

Definizione

access_filter ti consente di applicare limitazioni ai dati specifiche per gli utenti. A differenza della maggior parte dei parametri LookML, deve essere utilizzato insieme ad altre impostazioni in Looker per funzionare correttamente. Un parametro access_filter è specifico per una singola esplorazione, quindi devi assicurarti di applicare un parametro access_filter a ogni esplorazione che richiede una limitazione.

Non dimenticare di aggiungere access_filter a ogni Esplora che ne ha bisogno. Se dimentichi di aggiungere access_filter a un Explore che dovrebbe averlo, i dati non verranno limitati e gli utenti potranno visualizzare tutti i dati in quell'Explore.

Il comportamento di access_filter sarebbe simile a quello di un utente che deve applicare uno o più filtri nell'interfaccia utente Esplora prima di eseguire qualsiasi query. Ad esempio, l'utente potrebbe occuparsi solo di un sottoinsieme dei tuoi clienti, quindi dovresti richiedere all'utente di applicare un filtro per nome cliente.

Per implementare un filtro di accesso, devi seguire diversi passaggi:

  1. Decidi quale o quali campi devono avere una limitazione. Nell'esempio in cui gli utenti devono applicare un filtro per il nome del cliente, gli utenti potrebbero avere un'esplorazione Cliente con una dimensione denominata Nome. Il modo in cui viene fatto riferimento a questo campo è customer.name.
  2. Ogni utente che interagisce con l'esplorazione in questione avrà bisogno di un valore per il filtro di accesso. Nel nostro esempio, ogni utente avrà bisogno dell'elenco dei nomi dei clienti che è autorizzato a visualizzare. Applica questi valori a ogni utente o gruppo di utenti utilizzando la funzionalità degli attributi utente di Looker, di cui puoi leggere nella pagina della documentazione Attributi utente. Supponiamo di creare un attributo utente allowed_customers.
  3. Infine, collega l'attributo utente che hai creato al campo che deve utilizzare il suo valore come filtro. Nel nostro esempio, vogliamo collegare l'attributo utente allowed_customers al campo customer.name, in questo modo:
explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
}

Esempi

Limita gli utenti alla visualizzazione delle informazioni sulla loro regione di vendita:

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

Limita la visualizzazione delle informazioni relative a reparti specifici all'interno dei clienti:

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

Sfide comuni

access_filter richiede nomi di campi con ambito completo

Se scrivi un nome di campo senza un nome di visualizzazione, la maggior parte dei parametri in Looker utilizzerà un nome di visualizzazione basato sulla posizione in cui viene utilizzato il parametro. Tuttavia, access_filter non funziona in questo modo e richiede di scrivere sia il nome della visualizzazione sia il nome del campo.

Ad esempio, potresti pensare che questo funzioni e che name venga interpretato come il nome del cliente:

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

Tuttavia, non è così e riceverai un errore. Invece, devi scrivere:

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

Anche gli amministratori devono impostare i valori dei filtri nella UI

Ogni utente che accede a un'esplorazione che utilizza access_filter deve avere un valore nell'attributo utente a cui viene fatto riferimento. Ciò vale anche per gli utenti con il ruolo di amministratore, nonostante possano visualizzare tutti i dati. Gli utenti per i quali non è impostato un valore dell'attributo utente riceveranno un errore quando tentano di visualizzare l'esplorazione.

  • Per concedere a un amministratore o a un altro utente l'accesso a tutti i valori di un campo stringa, imposta il tipo di dati dell'attributo utente su Filtro stringa (avanzato) e utilizza il valore %, NULL.

  • Per concedere a un amministratore o a un altro utente l'accesso a tutti i valori di un campo numerico, imposta il tipo di dati dell'attributo utente su Filtro numerico (avanzato) e utilizza un valore di <0, >=0, NULL.

Cose da sapere

Quando un'esplorazione include access_filter, il valore predefinito di full_suggestions passa a yes

Quando un'esplorazione include il parametro access_filter, il valore predefinito di full_suggestions passa a yes. In questo modo, la query dei suggerimenti viene eseguita utilizzando la logica di Explore, il che significa che access_filter verrà applicato per restringere i suggerimenti restituiti, limitando l'elenco dei suggerimenti solo ai dati a cui l'utente deve avere accesso.

Se imposti manualmente full_suggestions su no, la query di suggerimento del filtro non verrà eseguita.