manage_themessee_adminMit Benutzerattributen können Sie die Nutzung von Looker für jeden Nutzer anpassen. Ein Looker-Administrator definiert ein Benutzerattribut und wendet dann einen Benutzerattributwert auf eine Nutzergruppe oder einzelne Nutzer an.
Administratoren können auch Nutzerattribute definieren, für die die Nutzer selbst Werte angeben, z. B. Passwörter oder Kontaktdaten. An verschiedenen Stellen in Looker kann auf die Nutzerattribute verwiesen werden, um für jeden Nutzer eine benutzerdefinierte Umgebung zu schaffen.
Looker schließt automatisch einige Nutzerattribute ein, z. B. email, first_name, landing_page, last_name, full_name, ID, timezone (falls konfiguriert), locale und number_format.
Nutzerattribute ansehen
Wenn Sie Ihre Liste der Nutzerattribute aufrufen möchten, rufen Sie im Menü Verwaltung den Bereich Nutzer und dort die Seite Nutzerattribute auf.
In der Tabelle mit Nutzerattributen finden Sie den Namen, das Label und den Typ für jedes Nutzerattribut (weitere Informationen). Außerdem enthält die Tabelle eine Schaltfläche für Aktionen, die Sie für das Nutzerattribut ausführen können. Für einige Attribute wird „Systemstandard“ anstelle eines Buttons für Aktionen angezeigt. Das bedeutet, dass Looker diese Attribute automatisch für jeden Nutzer erstellt. Die Standardnutzerattribute des Systems sind von Looker für die interne Verwendung reserviert und können nicht bearbeitet werden.
Nutzerattribute erstellen
Wenn Sie ein Nutzerattribut definieren möchten, klicken Sie im Menü Verwaltung im Bereich Nutzer auf der Seite Nutzerattribute auf die Schaltfläche Nutzerattribut erstellen. Jedes Nutzerattribut hat die folgenden Einstellungen:
- Name: Der Name des Nutzerattributs zur Verwendung in textbasierten Umgebungen wie LookML. Namen dürfen nur Kleinbuchstaben, Ziffern und Unterstriche enthalten.
- Label: Die nutzerfreundliche Version des Namens. Standardmäßig ist das der Name des Attributs, wobei Unterstriche durch Leerzeichen ersetzt werden und jedes Wort mit einem Großbuchstaben beginnt. Das Label kann jedoch nach Bedarf geändert werden.
Datentyp: Mit dieser Einstellung wird geprüft, ob Nutzern für dieses Nutzerattribut gültige Werte zugewiesen sind. Der Datentyp des Nutzerattributs kann einer der folgenden sein:
- String: Wählen Sie diese Option aus, um ein Nutzerattribut zu erstellen, das genau mit einem Stringwert übereinstimmt, z. B. einem Nutzernamen. Wenn Sie mehrere Stringwerte oder einen Looker-Filterausdruck im Nutzerattributwert verwenden möchten, wählen Sie stattdessen die Option Stringfilter (erweitert) aus. Wenn Ihr Nutzerattribut als Literalstring behandelt werden soll, müssen Sie in der Syntax einfache Anführungszeichen
'verwenden, wie in diesem Beispiel:none '{{ _user_attributes['name_of_attribute'] }}' - Zahl: Wählen Sie diese Option aus, um eine einzelne Zahl anzugeben, z. B. eine Mitarbeiternummer. Wenn Sie einen Zahlenbereich oder einen Looker-Filterausdruck verwenden möchten, verwenden Sie stattdessen den Zahlenfilter (erweitert).
- Datum/Uhrzeit: Wählen Sie diese Option aus, um ein einzelnes Datum oder eine einzelne Uhrzeit anzugeben, z. B. das Geburtsdatum des Nutzers. Wenn Sie einen Zeitraum oder einen Looker-Filterausdruck verwenden möchten, nutzen Sie stattdessen den Datums-/Zeitfilter (erweitert).
- Relative URL: Wählen Sie diese Option aus, um eine relative URL wie
/browse/boards/2anzugeben, die auf bestimmte Inhalte wie ein Board, einen Ordner oder eine Markdown-Datei (z. B. eine README- oder Dokumentdatei in einem Projekt) in Ihrer Looker-Instanz verweist. Das Nutzerattributlanding_pagehat beispielsweise den Datentyp Relative URL und kann verwendet werden, um eine bestimmte Startseite für einen Nutzer oder eine Gruppe anzugeben. - Stringfilter (erweitert): Wählen Sie diese Option aus, um mehrere Stringwerte oder einen Looker-Filterausdruck im Nutzerattribut zuzulassen. Eine Liste der Filterausdrücke, die Sie für Strings verwenden können, finden Sie auf der Dokumentationsseite Filterausdrücke.
- Zahlenfilter (erweitert): Wählen Sie diese Option aus, um einen Bereich numerischer Werte oder einen Looker-Filterausdruck im Nutzerattribut zuzulassen. Eine Liste der Filterausdrücke, die Sie für Zahlen verwenden können, finden Sie auf der Dokumentationsseite Filterausdrücke.
- Datums-/Zeitfilter (erweitert): Wählen Sie diese Option aus, um einen Datumsbereich oder einen Looker-Filterausdruck im Nutzerattribut zuzulassen. Eine Liste der Filterausdrücke, die Sie für Datum und Uhrzeit verwenden können, finden Sie auf der Dokumentationsseite Filterausdrücke.
Verwenden Sie die Datentypen Stringfilter (erweitert), Zahlenfilter (erweitert) und Datums-/Zeitfilter (erweitert), um Werte mit Looker-Filterausdrücken einzugeben, die einen Wertebereich für ein Nutzerattribut zurückgeben.
- String: Wählen Sie diese Option aus, um ein Nutzerattribut zu erstellen, das genau mit einem Stringwert übereinstimmt, z. B. einem Nutzernamen. Wenn Sie mehrere Stringwerte oder einen Looker-Filterausdruck im Nutzerattributwert verwenden möchten, wählen Sie stattdessen die Option Stringfilter (erweitert) aus. Wenn Ihr Nutzerattribut als Literalstring behandelt werden soll, müssen Sie in der Syntax einfache Anführungszeichen
Nutzerzugriff: Sie können festlegen, welche Sichtbarkeits- und Bearbeitungsberechtigungen Nutzer für ein Nutzerattribut haben:
- Keine: Wird nicht auf den Kontoseiten der Nutzer angezeigt.
- Ansehen: Wird auf den Kontoseiten der Nutzer angezeigt, kann aber nicht bearbeitet werden.
- Bearbeiten: Wird auf den Kontoseiten der Nutzer angezeigt und kann vom Nutzer festgelegt werden.
Werte ausblenden: Auch wenn Nutzerattribute für Nutzer sichtbar sind, werden die Werte des Nutzerattributs maskiert, wenn Sie diese Option auf Ja setzen. Das ist nützlich für Passwörter oder andere vertrauliche Informationen. Wenn Sie diesen Wert auf Ja festlegen, wird der Wert des Nutzerattributs auch in den Drop-down-Menüs für Nutzerattribute auf der Seite Verbindungseinstellungen maskiert. Wenn dieser Wert auf Yes festgelegt ist, kann er nie wieder auf No geändert werden. Wenn Sie Hide Values auf Yes festlegen, müssen Sie auch eine Zulassungsliste von Domains angeben, die als Ziel für das Nutzerattribut zulässig sind.
Zulassungsliste für Domains: Wenn Sie die Werte für ein neues Nutzerattribut ausblenden, müssen Sie auch eine Zulassungsliste für Domains angeben, die aus den URLs besteht, an die das Attribut gesendet werden kann, z. B. Hostnamen für Datenbankverbindungen und URLs für Git-HTTPS-Integrationen für Projekte. Mit dem Platzhalter (*) können Sie die Auslieferung auf mehreren Seiten derselben Website aktivieren. Nachdem Sie eine Zulassungsliste für Domains angegeben haben, kann das Nutzerattribut nur an die von Ihnen aufgeführten Ziele gesendet werden.
Wenn Sie die Zulassungsliste für Domains für dieses Nutzerattribut angegeben haben und dem Nutzerattribut Werte zugewiesen wurden – für einen Nutzer, für eine Gruppe oder durch Festlegen eines Standardwerts –, können Sie die Zulassungsliste nicht ändern, um die URLs weniger restriktiv zu machen. Sie können URLs nur restriktiver machen oder aus der Zulassungsliste entfernen. Wenn die Zulassungsliste für Domains beispielsweise den Eintrag
my_domain/route/*enthält, können Sie ihn später nicht inmy_domain/*ändern. Wenn Sie die Zulassungsliste weniger restriktiv machen müssen, löschen Sie alle vorhandenen Werte, die dem Nutzerattribut zugewiesen sind, einschließlich der Standardwerte.Standardwert festlegen: Wenn Sie dieses Kästchen auswählen, wird ein Standardwert festgelegt, falls einem Nutzer kein Wert zugewiesen ist.
Nachdem Sie ein Nutzerattribut definiert haben, können Sie einzelnen Nutzern oder Nutzergruppen Werte zuweisen. Klicken Sie dazu auf der Seite auf die Tabs Nutzerwerte und Gruppenwerte.
Einzelnen Nutzern Werte zuweisen
Nachdem Sie ein Nutzerattribut definiert haben, können Sie einem einzelnen Nutzer einen Wert dafür zuweisen:
- Klicken Sie im Menü Verwaltung im Bereich Nutzer auf der Seite Nutzerattribute auf den Tab Nutzerwerte.
- Wählen Sie im Drop-down-Menü den Nutzer aus, dem Sie einen Wert zuweisen möchten. Daraufhin wird eine Tabelle mit den Werten für diesen Nutzer angezeigt.
- Klicken Sie auf die Schaltfläche Wert für Nutzer festlegen.
- Geben Sie den neuen Wert in das Feld Neuer Wert ein.
- Klicken Sie auf Speichern.
Wenn einem einzelnen Nutzer ein Wert zugewiesen wird, hat dieser Wert immer Vorrang vor allen Werten, die den Gruppen dieses Nutzers zugewiesen sind. Auf dem Tab Nutzerwerte sehen Sie, wann einem Nutzerattribut ein benutzerdefinierter Wert zugewiesen wurde, der einen Gruppenwert überschreibt. Neben überschriebenen Werten wird der Text „Überschrieben“ angezeigt. Diese Werte werden nicht berücksichtigt. Der Text „Aktueller Wert“ wird neben dem Attributwert für aktive Nutzer angezeigt.
Wenn Sie einem Nutzerattribut mehrere Werte zuweisen möchten, verwenden Sie den Datentyp String-Filter (erweitert) und geben Sie mehrere durch Kommas getrennte Werte ein. Achten Sie darauf, dass zwischen den Werten keine Leerzeichen stehen. Sie können beispielsweise den String Executive, Management, Contributors eingeben.
Wenn Sie einem Looker-Administrator oder einem anderen Nutzer alle möglichen Werte zuweisen möchten, verwenden Sie im Nutzerattribut einen Platzhalterwert:
Wenn Sie einem Administrator oder einem anderen Nutzer Zugriff auf alle Werte eines Stringfelds gewähren möchten, legen Sie den Datentyp des Nutzerattributs auf Stringfilter (erweitert) fest und verwenden Sie den Wert
%, NULL.Wenn Sie einem Administrator oder einem anderen Nutzer Zugriff auf alle Werte eines Zahlenfelds gewähren möchten, legen Sie den Datentyp des Nutzerattributs auf Zahlenfilter (erweitert) fest und verwenden Sie den Wert
<0, >=0, NULL.
Nutzergruppen Werte zuweisen
Sie können einer Nutzergruppe einen Wert für ein Nutzerattribut zuweisen. Wählen Sie im Bereich Verwaltung auf der Seite Nutzerattribute rechts neben dem Attribut, das Sie festlegen möchten, die Option Bearbeiten aus. Führen Sie dann folgende Schritte aus:
- Klicken Sie auf den Tab Gruppenwerte.
- Klicken Sie auf die Schaltfläche + Gruppe hinzufügen.
- Wählen Sie im Drop-down-Menü die Gruppe aus, der Sie einen Wert zuweisen möchten.
- Geben Sie den Wert für die Gruppe in das Feld Wert ein.
- Klicken Sie auf Speichern.
Wenn ein Wert mehreren Gruppen zugewiesen wird, müssen Sie entscheiden, welche Gruppe Vorrang haben soll, falls ein Nutzer mehreren Gruppen angehört. Ziehen Sie die Gruppen dazu in die gewünschte Reihenfolge. Jede Gruppe hat Vorrang vor den darunter aufgeführten Gruppen.
Sie haben beispielsweise die Gruppen „Führungsteam“ und „Managementteam“. Führungskräfte sind auch Manager und daher Mitglieder beider Gruppen. Wenn Sie die Gruppe „Führungsteam“ an den Anfang der Liste ziehen, wird ihren Mitgliedern der Wert Führungskraft anstelle des Werts Manager zugewiesen.
Wenn ein Nutzer einen benutzerdefinierten Wert für ein Nutzerattribut festgelegt hat, überschreibt dieser Wert jeden Wert, der einer Gruppe zugewiesen ist, der der Nutzer angehört.
Wo können Nutzerattribute verwendet werden?
Nutzerattribute haben die folgenden Funktionen:
Datenbankverbindungen
Für Host, Port, Datenbank, Nutzername, Passwort und Schema einer Verbindung kann jeweils der Wert eines Nutzerattributs angegeben werden. (Für das Feld „Verbindungshost“ wird kein Nutzerattribut akzeptiert, für das die Nutzerzugriffsebene auf Bearbeitbar festgelegt ist.)
Durch diese Nutzerattribute wird die Verbindung auf den Nutzer beschränkt, der eine Abfrage ausführt. Nutzerattribute können auch im Feld Zusätzliche JDBC-Parameter referenziert werden, um den JDBC-Verbindungsstring anzupassen. Wenn ein Nutzer eine Abfrage über die Verbindung ausführt, werden die ihm zugewiesenen Nutzerattributwerte angewendet. So lässt sich die Verbindung an den Nutzer anpassen.
Konfiguration
Jede Verbindung kann so konfiguriert werden, dass Nutzerattribute von der Seite Verbindungen im Bereich Admin von Looker verwendet werden. (Informationen zur Seite Verbindungen finden Sie auf der Dokumentationsseite Administratoreinstellungen – Verbindungen.) Wenn Sie eine neue Verbindung erstellen möchten, klicken Sie auf Verbindung hinzufügen. Wenn Sie eine vorhandene Verbindung konfigurieren möchten, klicken Sie neben der Verbindung auf Bearbeiten.
Wenn ein Eingabefeld auf ein Nutzerattribut festgelegt werden kann, wird in Looker neben dem Eingabefeld
die Schaltfläche Nutzerattribut angezeigt.
Klicken Sie auf die Schaltfläche Nutzerattribut, um ein Drop-down-Menü aufzurufen, in dem Sie das gewünschte Nutzerattribut auswählen können. In der Liste wird der Name des Nutzerattributs mit dem Wert des Nutzerattributs des aktuellen Nutzers in Klammern angezeigt.
Wenn Sie im Feld Zusätzliche JDBC-Parameter auf ein Nutzerattribut verweisen möchten, verwenden Sie dieselbe Liquid-Vorlagensyntax, die in LookML verfügbar ist. Nutzerattribute werden über die Liquid-Variable _user_attributes verfügbar gemacht. Wenn Sie beispielsweise auf ein Nutzerattribut mit dem Namen my_jdbc_param_attribute verweisen möchten, verwenden Sie die folgende Syntax:
my_jdbc_param={{ _user_attributes['name_of_attribute'] }}
Anwendungsfall: Berechtigungen auf Datenbankebene in Looker anwenden
Wenn Ihre Datenbank verschiedene Konten mit unterschiedlichen Zugriffsbeschränkungen hat, können Sie Ihre Datenbankberechtigungen in Looker verwenden. Sie können den Nutzernamen und das Passwort einer Verbindung parametrisieren, damit jeder Nutzer mit den entsprechenden Anmeldedaten für seine Datenbankzugriffsebene verbunden wird. So wird zwar sichergestellt, dass Nutzer keine Daten sehen, auf die sie keinen Zugriff haben, aber es wird nicht beeinflusst, welche Explores, Dimensionen und Messwerte ihnen in Looker angezeigt werden.
Wenn ein Nutzer beispielsweise so konfiguriert ist, dass er mit einem Konto eine Verbindung zur Datenbank herstellt, mit dem er die Spalte credit_card_number in der Tabelle user nicht sehen kann, wird ihm jede Dimension, die diese Datenbankspalte verwendet, weiterhin in Looker angezeigt. Er erhält einen Fehler von der Datenbank, wenn er versucht, eine Abfrage auszuführen, die diese Dimension enthält.
Anwendungsfall: Ein Modell für mehrere identische Datenbanken verwenden
Das ist beispielsweise der Fall, wenn Sie mehrere Datenbanken mit genau demselben Schema haben, etwa wenn die Daten jedes Kunden aus Gründen der Datensicherheit (z. B. HIPAA-Konformität) in einer eigenen Datenbank gespeichert werden. Oder vielleicht möchten Sie, dass Ihre LookML-Entwickler Abfragen für eine Entwicklungskopie einer Produktionsdatenbank ausführen.
Wenn sich diese Datenbanken auf demselben Datenbankserver befinden, müssen Sie keine separaten Verbindungen und Modelle einrichten. Legen Sie stattdessen die Datenbank einer Verbindung auf ein Nutzerattribut fest. Jeder Nutzer wird dann auf die Datenbank verwiesen, die in seinem Wert für das Nutzerattribut Database Name angegeben ist.
Datenaktionen
Datenaktionen können so konfiguriert werden, dass bestimmte Nutzerattribute in die JSON-Nutzlast aufgenommen werden. Damit können Sie nutzerspezifische Informationen zusammen mit den Daten senden, z. B. die Anmeldedaten, um einen Vorgang für einen bestimmten Dienst auszuführen.
Konfiguration
Wenn Sie ein Nutzerattribut in eine Datenaktion einfügen möchten, fügen Sie der action-Definition einen user_attribute_param-Block hinzu. Jeder Block hat zwei Parameter:
user_attribute: Der Name des Nutzerattributsname: Der Name, der in der JSON-Nutzlast verwendet werden soll
In diesem Beispiel werden zwei Nutzerattribute verwendet – salesforce_username und salesforce_password –, um die Salesforce-Anmeldedaten der einzelnen Nutzer in Looker zu speichern. Wenn ein Nutzer die Datenaktion „In Salesforce aktualisieren“ ausführt, sendet Looker seine Salesforce-Anmeldedaten mit der JSON-Nutzlast. Der empfangende Server kann diese zur Authentifizierung bei Salesforce verwenden.
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
}
}
}
Benutzerdefinierte Aktionen in einem Action Hub
Sie können eine benutzerdefinierte Aktion so konfigurieren, dass sie Nutzerattribute enthält, die verhindern, dass Nutzer Looker-Inhalte an dieses Aktionsziel senden oder planen, wenn für dieses Nutzerattribut kein Wert definiert ist.
Konfiguration
Der Parameter params in einer benutzerdefinierten Aktion stellt die Formularfelder dar, die ein Looker-Administrator auf der Aktivierungsseite der Aktion in der Liste Aktionen im Admin-Bereich konfigurieren muss. Fügen Sie im Parameter params Ihrer Aktionsdatei Folgendes ein:
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,
}]
Dabei ist user_attribute_name das Nutzerattribut, das im Feld Name auf der Seite Nutzerattribute im Bereich Nutzer in der Verwaltung definiert ist. required: true bedeutet, dass ein Nutzer einen nicht leeren und gültigen Wert für dieses Nutzerattribut haben muss, um die Aktion bei der Bereitstellung von Daten zu sehen. sensitive: true bedeutet, dass der Wert des Nutzerattributs verschlüsselt ist und nach der Eingabe nie in der Looker-Benutzeroberfläche angezeigt wird. Sie können mehrere Unterparameter für Nutzerattribute angeben.
Ein Looker-Administrator muss die Formularfelder der Aktion mit dem Nutzerattribut konfigurieren:
- Klicken Sie im Steuerfeld Admin auf der Seite Aktionen neben der Aktion auf die Schaltfläche Aktivieren oder Einstellungen.
- Klicken Sie für das entsprechende Feld auf das Symbol für Nutzerattribute
und wählen Sie das gewünschte Nutzerattribut aus.
Weitere Informationen finden Sie im Abschnitt Nutzerattribute zu benutzerdefinierten Aktionen hinzufügen auf der Dokumentationsseite Daten über einen Aktions-Hub freigeben.
Filter
Filter für Explores, Looks und Dashboards können auf ein Nutzerattribut festgelegt werden, um die Abfrage basierend auf dem Nutzer anzupassen, der sie ausführt.
Sie können beispielsweise ein Nutzerattribut mit dem Namen salesforce_username erstellen und jeden Looker-Nutzer so konfigurieren, dass sein Wert für dieses Attribut sein Salesforce-Nutzername ist. Anschließend können Sie einen Filter für ein Dashboard auf das Nutzerattribut salesforce_username festlegen. Jeder Nutzer sieht dann das Dashboard, das nach seinem jeweiligen Salesforce-Nutzernamen gefiltert ist.
Konfiguration
Im Bereich FILTER eines Explores, Looks oder Dashboards:
Wählen Sie für den gewünschten Filter die Option stimmt mit einem Nutzerattribut überein aus.
Das Auswahlfeld rechts wird automatisch mit einer Liste von Nutzerattributen aktualisiert, die denselben Typ wie das Feld des Filters haben, z. B. Zahl, String (Text), Datum usw. In Looker wird der Wert für jedes Nutzerattribut in Klammern angezeigt.
Wählen Sie das gewünschte Nutzerattribut aus.
Erweiterte Filtersyntax
Wenn Sie etwas Komplexeres als einen einfachen Gleichheitsvergleich für den Filter durchführen möchten, wählen Sie matches (advanced) aus und verweisen Sie mit einer Liquid-Variable auf das Nutzerattribut:
{{ _user_attributes['name_of_attribute'] }}
Sie müssen beispielsweise ein sf_-Präfix zum Wert des salesforce_username-Nutzerattributs hinzufügen, da die Werte in der Datenbank so gespeichert sind. Um das Präfix zum Benutzerattributwert hinzuzufügen, verwenden Sie die Liquid-Variable-Syntax _user_attributes:
sf_{{_user_attributes['salesforce_username']}}
Sie können dasselbe Muster verwenden, um Nutzerattribute in LookML-Dashboardfiltern und Filtern für Dashboard-Elemente einzufügen.
Geplante Dashboards und Looks
Dashboard- und Look-Filter können für jeden Zeitplan festgelegt werden. Dazu gehört auch die Option, ein Nutzerattribut zu verwenden. So können Sie die Ergebnisse der Datenlieferung für jeden E-Mail-Empfänger anpassen. Sie können Lieferungen für Inhalte anpassen, die als einmalige und wiederkehrende Lieferungen gesendet werden.
Sie können beispielsweise ein Nutzerattribut namens salesforce_username erstellen und den Wert auf den Salesforce-Nutzernamen jedes Nutzers festlegen. Wenn Sie einen Filter für einen Dashboard- oder Look-Zeitplan auf das Nutzerattribut salesforce_username festlegen, erhält jeder Empfänger das Dashboard gefiltert nach seinem Salesforce-Nutzernamen.
Vorbereitung
Nur für Looker-Nutzer sind Werte für Nutzerattribute festgelegt. Daher muss jeder Empfänger der Datenübermittlung ein Looker-Konto haben. Benutzerattribute werden angewendet, indem das Dashboard oder der Look einmal für jeden Empfänger ausgeführt wird.
Konfiguration
Öffnen Sie den Scheduler für den Look oder das Dashboard:
Wählen Sie im Bereich Filter für den gewünschten Filter die Option entspricht einem Nutzerattribut aus.
Das Auswahlfeld rechts wird automatisch mit einer Liste von Nutzerattributen aktualisiert, die denselben Typ wie der Filter haben. Ihr eigener Wert für jedes Nutzerattribut wird in Klammern angezeigt.
Wählen Sie das gewünschte Nutzerattribut aus.
Klicken Sie neben dem Feld E-Mail-Optionen auf das Kästchen Zeitplan als Empfänger ausführen.
Auf Filter zugreifen
Mit Zugriffsfiltern, die Sicherheit auf Zeilenebene bieten, können Sie die Daten einschränken, auf die ein Nutzer zugreifen kann. Sie können zwar den Parameter access_grant verwenden, Zugriffsfilter lassen sich jedoch einfacher mit Nutzerattributen implementieren und verwalten.
Zugriffsfilter bieten eine sichere Möglichkeit, nutzerspezifische Datenbeschränkungen anzuwenden. Wenn Sie einen oder mehrere Zugriffsfilter für ein LookML-Explore definieren, werden die aus einem Explore zurückgegebenen Daten basierend auf dem Nutzer gefiltert, der die Abfrage ausführt. Zugriffsfilter bieten also eine zusätzliche Einschränkungsebene, mit der sichergestellt wird, dass der Nutzer nur bestimmte Teilmengen der Daten aus einer Datenbankverbindung sehen kann.
Konfiguration
- So erstellen Sie ein Nutzerattribut:
- Konfigurieren Sie Nutzerzugriff auf Kein (empfohlen) oder Ansehen. Ein Nutzerattribut, das so konfiguriert ist, dass es von Nutzern bearbeitet werden kann, kann nicht für einen Zugriffsfilter verwendet werden.
- Weisen Sie Gruppen oder einzelnen Nutzern Werte für Nutzerattribute zu.
- Fügen Sie der LookML-Definition für das Explore, in dem Sie den Zugriffsfilter verwenden möchten, einen
access_filter-Block mit den folgenden Parametern hinzu:field: Der Name des LookML-Felds, nach dem gefiltert werden solluser_attribute: Der Name des Nutzerattributs, in dem der Wert gespeichert ist, mit dem Sie die Daten filtern möchten.
- Führen Sie eine Abfrage für dieses Explore aus.
- Prüfen Sie die
WHERE-Klausel des SQL-Codes der Abfrage, um zu sehen, ob die Daten entsprechend dem Wert des Nutzerattributs gefiltert werden.
Mit diesem LookML-Code werden Abfragen zu Bestellungen nach Marke gefiltert. Die jeweilige Marke basiert auf dem zugewiesenen Wert des Nutzers für ein Nutzerattribut mit dem Namen company:
explore: orders {
view_name: orders
access_filter: {
field: products.brand_name
user_attribute: company
}
join: products {
foreign_key: orders.product_id
}
}
Verbindung zu Git-Anbietern herstellen
Für LookML-Projekte können Sie die Git-Authentifizierung über HTTPS konfigurieren. Bei Projekten, die die HTTPS-Git-Authentifizierung verwenden, können Nutzerattribute genutzt werden, um sich bei den Git-Konten einzelner Entwickler anzumelden, wenn Git-Vorgänge für den Entwickler ausgeführt werden.
Nutzerattribute für Git-Kontopasswörter müssen verborgen sein. Wählen Sie beim Erstellen des Passwortattributs unter der Option Werte ausblenden die Option Ja aus und geben Sie die URL des Git-Anbieters in das Feld Zulassungsliste für Domains ein.
Zugriff mit Zugriffserteilungen steuern
Sie können Zugriffsrechte erstellen, mit denen der Zugriff auf einen LookML-Explore, einen Join, eine Ansicht oder ein Feld mithilfe von Benutzerattributwerten, dem Parameter access_grant und dem Parameter required_access_grants eingeschränkt wird.
So funktionieren Zugriffsgewährungen:
- Sie definieren eine Zugriffsberechtigung mit dem Parameter
access_grant. Im Rahmen der Definition verknüpfen Sie die Zugriffsberechtigung mit einem Nutzerattribut. Sie geben auch an, mit welchen Benutzerattributwerten Zugriff auf das Zugriffsrecht gewährt wird. - Als Nächstes verwenden Sie den Parameter
required_access_grantsauf der Ebene Explore, join, view oder field, um die Struktur auf Nutzer zu beschränken, die Zugriff auf jede aufgeführte Zugriffsberechtigung haben.
Sie können beispielsweise ein Zugriffsrecht verwenden, um den Zugriff auf die Dimension salary auf Nutzer zu beschränken, die den Wert payroll im Benutzerattribut department haben.
Weitere Informationen zum Definieren von Zugriffsberechtigungen finden Sie auf der Dokumentationsseite zum Parameter access_grant.
Liquid-Variablen
LookML ermöglicht die Verwendung verschiedener Liquid-Variablen, die für komplexere Arten von benutzerdefinierter Ausgabe nützlich sein können. Die Attributwerte eines Nutzers können jetzt in Liquid enthalten sein. Für den Liquid-Ausdruck muss eine Syntax verwendet werden, die für Ihren Datenbankdialekt geeignet ist.
Beispiele finden Sie in diesem Dokument im Abschnitt Verbindung und auf der Seite Best Practices für die dynamische Schema- und Tabellennamen-Einfügung mit Nutzerattributen.
Google BigQuery-Datenlimits
Wenn Sie Google BigQuery als Datenbank verwenden, werden Ihnen die Kosten für jede Abfrage in Rechnung gestellt. Die Höhe der Kosten richtet sich nach der Größe der Abfrage. Damit Nutzer nicht versehentlich zu teure Abfragen ausführen, können Sie in Ihrer BigQuery-Verbindung ein Nutzerattribut für die Einstellung Max. Abrechnungs-Gigabyte festlegen. Die Werte, die Sie im Nutzerattribut angeben, sollten die Anzahl der Gigabyte sein, die ein Nutzer in einer einzelnen Abfrage abrufen darf.
Eingebettete Dashboards
Sie können die in eingebetteten Looks und Dashboards angezeigten Daten einschränken, indem Sie Filterwerte auf Nutzerattributwerte stützen. Weitere Informationen finden Sie im Communitybeitrag Creating a proof of concept embedded dashboard (Powered by Looker) .
Lokalisierung
Mit den Nutzerattributen locale und number_format kann das Erscheinungsbild von Daten, Visualisierungen und Teilen der Looker-Benutzeroberfläche für bestimmte Nutzer oder Nutzergruppen festgelegt werden. Weitere Informationen finden Sie auf der Dokumentationsseite Looker lokalisieren.
Auf externe API-Endpunkte zugreifen
Nutzerattribute können vom Looker-Erweiterungs-Framework verwendet werden, um über einen Serverproxy auf externe API-Endpunkte zuzugreifen. Ein Beispiel finden Sie auf der Dokumentationsseite Beispiele für React- und JavaScript-Code für das Erweiterungs-Framework.
Nutzerattribute und Zugriffsfilter testen
Mit der sudo-Funktion von Looker können Sie die Auswirkungen Ihrer Nutzerattribute testen. Administratoren (oder Nutzer mit den see_users- und sudo-Berechtigungen) können im SUDO-Status als anderer Nutzer agieren, um zu sehen, wie Looker für diesen Nutzer aussieht.
Wenn Sie sich im Entwicklungsmodus befinden, sind Ihre Änderungen für andere Nutzer erst sichtbar, wenn Sie sie in der Produktion bereitstellen. Falls Sie Ihre Änderungen nicht implementiert haben, damit sie für andere Nutzer sichtbar sind, sehen Sie die Änderungen nicht, wenn Sie im SUDO-Status als anderer Nutzer agieren.