Mithilfe von Benutzerattributen können Sie die Nutzung für jeden Looker-Nutzer anpassen. Ein Looker-Administrator definiert ein Benutzerattribut und wendet dann einen Benutzerattributwert auf eine Benutzergruppe oder einzelne Benutzer an.
Administratoren können auch Nutzerattribute definieren, für die die Nutzer selbst Werte wie Passwörter oder Kontaktdaten angeben. An verschiedenen Stellen in Looker können die Nutzerattribute referenziert werden, um jedem Nutzer eine individuelle Umgebung zu bieten.
Looker fügt automatisch einige Nutzerattribute hinzu, z. B. email
, first_name
, landing_page
, last_name
, full_name
, ID
, timezone
(falls konfiguriert), locale
und number_format
.
Nutzerattribute ansehen
Die Liste der Nutzerattribute finden Sie im Menü Verwaltung im Bereich Nutzer auf der Seite Nutzerattribute.
Die Tabelle mit den Nutzerattributen enthält den Namen, das Label und den Typ für jedes Nutzerattribut. Weitere Informationen finden Sie im folgenden Abschnitt. 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“ angezeigt statt einer Schaltfläche für Aktionen. Das bedeutet, dass Looker diese Attribute automatisch für jeden Benutzer erstellt. Die standardmäßigen Nutzerattribute des Systems sind für die interne Verwendung durch Looker 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. Für jedes Nutzerattribut gelten die folgenden Einstellungen:
- Name: Der Name des Nutzerattributs für die Verwendung in textbasierten Umgebungen wie LookML. Namen dürfen nur Kleinbuchstaben, Ziffern und Unterstriche enthalten.
- Label: Die nutzerfreundliche Version des Namens. Standardmäßig ist dies der Name des Attributs, wobei Unterstriche durch Leerzeichen ersetzt und jedes Wort großgeschrieben wird. 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 Wert des Nutzerattributs verwenden möchten, wählen Sie stattdessen die Option Stringfilter (erweitert) aus. Wenn das Nutzerattribut als Literalstring behandelt werden soll, müssen Sie in der Syntax einfache Anführungszeichen
'
verwenden, wie in diesem Beispiel:'{{ _user_attributes['name_of_attribute'] }}'
- Zahl: Wählen Sie diese Option aus, um eine einzelne Zahl anzugeben, z. B. die 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, verwenden Sie stattdessen den Datum/Uhrzeit-Filter (erweitert).
- Relative URL: Wählen Sie diese Option aus, um eine relative URL wie
/browse/boards/2
anzugeben, die auf bestimmte Inhalte wie ein Board, einen Ordner oder eine Markdown-Datei (z. B. eine README- oder Dokumentdatei in einem Projekt) auf Ihrer Looker-Instanz verweist. Das Nutzerattributlanding_page
hat 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. Auf der Dokumentationsseite Filterausdrücke finden Sie eine Liste der Filterausdrücke, die Sie für Strings verwenden können.
- Zahlenfilter (erweitert): Wählen Sie diese Option aus, um einen Bereich von numerischen Werten oder einen Looker-Filterausdruck im Nutzerattribut zuzulassen. Auf der Dokumentationsseite Filterausdrücke finden Sie eine Liste der Filterausdrücke, die Sie für Zahlen verwenden können.
- Datums-/Uhrzeitfilter (erweitert): Wählen Sie diese Option aus, um einen Datumsbereich oder einen Looker-Filterausdruck im Nutzerattribut zuzulassen. Auf der Seite Filterausdrücke finden Sie eine Liste der Filterausdrücke, die Sie für Datum und Uhrzeit verwenden können.
Verwenden Sie die Datentypen Stringfilter (erweitert), Zahlenfilter (erweitert) und Datum/Uhrzeitfilter (erweitert), um Werte mithilfe von Looker-Filterausdrücken einzugeben. Dadurch wird ein Wertebereich für ein Nutzerattribut zurückgegeben.
- 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 Wert des Nutzerattributs verwenden möchten, wählen Sie stattdessen die Option Stringfilter (erweitert) aus. Wenn das Nutzerattribut als Literalstring behandelt werden soll, müssen Sie in der Syntax einfache Anführungszeichen
Nutzerzugriff: Sie können festlegen, inwieweit Nutzer ein Nutzerattribut sehen und bearbeiten können:
- Keine: Wird nicht auf den Kontoseiten.
- Ansehen: Die Informationen werden auf den Kontoseiten der Nutzer angezeigt, können aber nicht bearbeitet werden.
- Bearbeiten: Wird auf den Kontoseiten der Nutzer angezeigt und kann von ihnen festgelegt werden.
Werte ausblenden: Auch wenn Nutzerattribute für Nutzer sichtbar sind, werden die Werte der Nutzerattribute ausgeblendet, wenn Sie diese Option auf Ja setzen. Das ist nützlich für Passwörter oder andere vertrauliche Informationen. Wenn Sie diesen Wert auf Yes festlegen, wird auch der Nutzerattributwert in den entsprechenden Drop-down-Menüs auf der Seite Verbindungseinstellungen maskiert. Wenn dieser Wert auf Ja festgelegt ist, kann er nicht mehr auf Nein zurückgesetzt werden. Wenn Sie Werte ausblenden auf Ja festlegen, müssen Sie auch eine Zulassungsliste mit Domains angeben, die als Ziel für das Nutzerattribut zulässig sind.
Domain-Zulassungsliste: Wenn Sie die Werte für ein neues Nutzerattribut ausblenden, müssen Sie auch eine Domain-Zulassungsliste 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 von Projekten. Mit dem Platzhalter (*) können Sie die Auslieferung auf mehrere Seiten auf 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.
Nachdem Sie die Zulassungsliste für dieses Nutzerattribut festgelegt haben, können Sie die Zulassungsliste nicht mehr ändern, um die URLs weniger restriktiv zu machen, wenn dem Nutzerattribut Werte zugewiesen wurden – für einen Nutzer, für eine Gruppe oder durch Festlegen eines Standardwerts. Sie können URLs nur restriktiver festlegen oder sie von der Zulassungsliste entfernen. Wenn die Domain-Zulassungsliste beispielsweise den Eintrag
my_domain/route/*
enthält, können Sie ihn später nicht inmy_domain/*
ändern. Wenn Sie die Zulassungsliste weniger restriktiv gestalten möchten, löschen Sie alle vorhandenen Werte, die dem Nutzerattribut zugewiesen sind, einschließlich der Standardwerte.Standardwert festlegen: Aktivieren Sie dieses Kästchen, um einen Standardwert festzulegen, 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 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 angezeigt, die für diesen Nutzer gelten.
- 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 wird angezeigt, wenn 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 Wert des aktiven Nutzerattributs angezeigt.
Wenn Sie einem Nutzerattribut mehrere Werte zuweisen möchten, verwenden Sie den Datentyp String-Filter (erweitert) und geben Sie mehrere Werte durch Kommas getrennt ein. Zwischen den Werten dürfen 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 einen Platzhalterwert im Nutzerattribut:
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
.
User-Gruppen Werte zuweisen
Sie können einer Nutzergruppe einen Wert für ein Nutzerattribut zuweisen. Wählen Sie auf der Seite Nutzerattribute des Steuerfelds Admin 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 Group Values (Werte gruppieren).
- 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 ist, müssen Sie festlegen, welche Gruppe Vorrang haben soll, falls ein Nutzer mehreren Gruppen angehört. Ziehen Sie dazu die Gruppen in die gewünschte Reihenfolge. hat jede Gruppe Vorrang vor den darunter aufgelisteten Gruppen.
Sie könnten beispielsweise die Gruppen „Führungsteam“ und „Managementteam“ haben. Führungskräfte sind auch Manager, also Mitglieder beider Gruppen. Wenn Sie die Gruppe „Führungskraft“ an den Anfang der Liste ziehen, wird ihren Mitgliedern der Wert Führungskraft und nicht der Wert Administrator zugewiesen.
Wenn ein Nutzer einen benutzerdefinierten Wert für ein Nutzerattribut festgelegt hat, überschreibt dieser Wert alle Werte, die einer Gruppe zugewiesen werden, zu der der Nutzer gehört.
Wo können Nutzerattribute verwendet werden?
Nutzerattribute haben folgende Funktionen:
Datenbankverbindungen
Der Host, der Port, die Datenbank, der Nutzername, das Passwort und das Schema einer Verbindung können jeweils den Wert eines Nutzerattributs erhalten. Das Feld „Verbindungshost“ akzeptiert kein Nutzerattribut, dessen Nutzerzugriffsebene auf Bearbeitbar festgelegt ist.
Diese Nutzerattribute machen die Verbindung für den Nutzer spezifisch, der eine Abfrage ausführt. Auf Nutzerattribute kann auch im Feld Zusätzliche JDBC-Parameter verwiesen werden, wodurch der JDBC-Verbindungsstring angepasst wird. Wenn ein Nutzer eine Abfrage über die Verbindung ausführt, werden die dem Nutzer zugewiesenen Nutzerattributwerte angewendet, sodass die Verbindung basierend auf dem Nutzer angepasst werden kann.
Konfiguration
Jede Verbindung kann für die Verwendung von Nutzerattributen von der Seite Verbindungen im Bereich Admin von Looker konfiguriert werden. Informationen zur Seite Verbindungen finden Sie auf der Dokumentationsseite Administratoreinstellungen – Verbindungen. Klicken Sie auf Add Connection (Verbindung hinzufügen), um eine neue Verbindung zu erstellen. Klicken Sie neben der Verbindung auf Bearbeiten, um eine vorhandene Verbindung zu konfigurieren.
Wenn eine Eingabe auf ein Nutzerattribut festgelegt werden kann, wird in Looker neben der Eingabe 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. Die Liste enthält den Namen des Nutzerattributs mit dem Wert des Nutzerattributs des aktuellen Nutzers in Klammern.
Um im Feld Zusätzliche JDBC-Parameter auf ein Nutzerattribut zu verweisen, verwenden Sie dieselbe Liquid-Vorlagensyntax wie in LookML. Nutzerattribute werden über die Liquid-Variable von _user_attributes
zur Verfügung gestellt. Wenn Sie beispielsweise auf ein Benutzerattribut namens 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 verschiedenen Zugriffsbeschränkungen hat, können Sie Ihre Datenbankberechtigungen in Looker nutzen. Parameterisieren Sie den Nutzernamen und das Passwort einer Verbindung so, dass jeder Nutzer eine Verbindung mit den entsprechenden Anmeldedaten für seine Datenbankzugriffsebene herstellt. So wird zwar sichergestellt, dass Benutzer keine Daten sehen, auf die sie keinen Zugriff haben sollten, dies hat jedoch keinen Einfluss darauf, welche Explores, Dimensionen und Messwerte ihnen in Looker angezeigt werden.
Wenn ein Nutzer beispielsweise so konfiguriert ist, dass er über ein Konto eine Verbindung zur Datenbank herstellt und die Spalte „credit_card_number
“ in der Tabelle „user
“ nicht sehen kann, wird ihm in Looker weiterhin jede Dimension angezeigt, in der diese Datenbankspalte verwendet wird. Sie erhalten eine Fehlermeldung von der Datenbank, wenn sie versuchen, eine Abfrage auszuführen, die diese Dimension enthält.
Anwendungsfall: Ein Modell für mehrere identische Datenbanken verwenden
Angenommen, Sie haben mehrere Datenbanken mit genau dem gleichen Schema, z. B. wenn die Daten jedes Kunden in einer eigenen Datenbank für Datensicherheitsmaßnahmen (wie HIPAA-Compliance) isoliert sind. Vielleicht möchten Sie auch, dass Ihre LookML-Entwickler Abfragen in einer 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. Verwenden Sie diese Option, um zusammen mit den Daten nutzerspezifische Informationen zu senden, z. B. ihre Anmeldedaten, um einen Vorgang für einen bestimmten Dienst auszuführen.
Konfiguration
Um ein Nutzerattribut in eine Datenaktion aufzunehmen, fügen Sie der action
-Definition einen user_attribute_param
-Block hinzu. Jeder Block benötigt zwei Parameter:
user_attribute
: der Name des Nutzerattributsname
: Der Name, der in der JSON-Nutzlast verwendet werden soll
In diesem Beispiel werden zwei Nutzerattribute – salesforce_username
und salesforce_password
– verwendet, um die Salesforce-Anmeldedaten der einzelnen Nutzer in Looker zu speichern. Wenn ein Nutzer die Datenaktion „Update in Salesforce“ durchführt, sendet Looker seine Salesforce-Anmeldedaten mit der JSON-Nutzlast, die der empfangende Server zur Authentifizierung bei Salesforce verwenden kann.
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 Nutzerattribute berücksichtigt werden, 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 steht für die Formularfelder, die ein Looker-Administrator auf der Aktivierungsseite der Aktion in der Liste Aktionen im Bereich Verwaltung 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 des Steuerfelds Verwaltung definiert ist. required: true
bedeutet, dass für ein Nutzerattribut ein gültiger Wert festgelegt sein muss, damit der Nutzer die Aktion bei der Datenübermittlung sehen kann. sensitive: true
bedeutet, dass der Wert des Nutzerattributs verschlüsselt ist und nach der Eingabe nicht mehr 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 Nutzerattributsymbol und wählen Sie das gewünschte Nutzerattribut aus.
Weitere Informationen finden Sie auf der Dokumentationsseite Daten über einen Action Hub freigeben im Abschnitt Nutzerattribute zu benutzerdefinierten Aktionen hinzufügen.
Filter
Filter für Explores, Looks und Dashboards können auf ein Benutzerattribut festgelegt werden, um die Abfrage an den 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. Sie können dann in einem Dashboard einen Filter für das Benutzerattribut salesforce_username
festlegen. Jeder Nutzer sieht dann ein Dashboard, das nach seinem jeweiligen Salesforce-Nutzernamen gefiltert ist.
Konfiguration
Gehen Sie in einem Explore, Look oder Dashboard im Bereich FILTER so vor:
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)“ oder „Datum“. In Looker wird der Wert für jedes Nutzerattribut in Klammern angezeigt.
Wählen Sie das gewünschte Nutzerattribut aus.
Erweiterte Filtersyntax
Wenn Sie für den Filter eine komplexere Funktion als eine einfache Gleichheitsprüfung verwenden möchten, wählen Sie Stimmt überein (erweitert) aus und verweisen Sie mit einer Liquid-Variablen auf das Nutzerattribut:
{{ _user_attributes['name_of_attribute'] }}
Angenommen, Sie müssen dem Wert des Nutzerattributs salesforce_username
das Präfix sf_
zuweisen, da die Werte auf diese Weise in Ihrer Datenbank gespeichert werden. Um das Präfix zum Benutzerattributwert hinzuzufügen, verwenden Sie die Liquid-Variablensyntax _user_attributes
:
sf_{{_user_attributes['salesforce_username']}}
Sie können dasselbe Muster verwenden, um Nutzerattribute in LookML-Dashboardfilter und Dashboardelementfilter einzufügen.
Geplante Dashboards und Looks
Dashboard- und Look-Filter können pro Zeitplan festgelegt werden, einschließlich der Option zur Verwendung eines Benutzerattributs. So können Sie die Ergebnisse der Datenübermittlung für jeden E-Mail-Empfänger anpassen. Sie können Übermittlungen für Inhalte anpassen, die als einmalige oder wiederkehrende Übermittlungen gesendet werden.
Sie können beispielsweise ein Nutzerattribut namens salesforce_username
erstellen und als Wert den Salesforce-Nutzernamen jedes Nutzers festlegen. Legen Sie in einem Dashboard oder Look-Zeitplan einen Filter für das Nutzerattribut salesforce_username
fest, damit jeder Empfänger dieses Dashboard nach seinem Salesforce-Nutzernamen gefiltert hat.
Vorbereitung
Nur Looker-Nutzer haben Werte für Benutzerattribute festgelegt. Daher muss jeder Empfänger der Datenübermittlung ein Looker-Konto haben. Benutzerattribute werden angewendet, indem das Dashboard oder der Look für jeden Empfänger einmal ausgeführt wird.
Konfiguration
Öffnen Sie den Zeitplaner für den Look oder das Dashboard:
Wählen Sie im Abschnitt Filter 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 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.
Zugriffsfilter
Sie können die Daten, auf die ein Nutzer zugreifen kann, mithilfe von Zugriffsfiltern einschränken, die Sicherheit auf Zeilenebene bieten. Sie können zwar den Parameter access_grant
verwenden, Zugriffsfilter lassen sich mithilfe von Nutzerattributen aber einfacher implementieren und verwalten.
Zugriffsfilter bieten eine sichere Möglichkeit, nutzerspezifische Dateneinschränkungen anzuwenden. Das Definieren eines oder mehrerer Zugriffsfilter für ein LookML-Explore erzwingt, dass die von einem Explore zurückgegebenen Daten basierend auf dem Benutzer gefiltert werden, der die Abfrage ausführt. Daher bieten Zugriffsfilter eine zusätzliche Einschränkungsebene, die dafür sorgen, dass der Benutzer nur bestimmte Teilmengen der Daten einer Datenbankverbindung sehen kann.
Konfiguration
- So erstellen Sie ein Nutzerattribut:
- Legen Sie bei der Konfiguration den Nutzerzugriff auf Keiner (empfohlen) oder Ansehen fest. Ein Benutzerattribut, 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 Nutzerattributwerte zu.
- Fügen Sie in der LookML-Definition für das Explore, in dem der Zugriffsfilter eingefügt werden soll, 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, den Sie zum Filtern der Daten verwenden möchten
- Führen Sie eine Abfrage für dieses Explore aus.
- Sehen Sie in der
WHERE
-Klausel der SQL-Abfrage der Abfrage nach, ob die Daten entsprechend dem Wert für das Nutzerattribut gefiltert werden.
Mit dieser LookML-Anfrage werden Abfragen zu Bestellungen nach Marke gefiltert. Die jeweilige Marke basiert auf dem zugewiesenen Wert des Nutzers für ein Nutzerattribut namens 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 verwendet 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 ausgeblendet sein. Wählen Sie beim Erstellen des Passwortattributs Ja unter der Option Werte ausblenden aus und geben Sie die Git-Anbieter-URL in das Feld Domain-Zulassungsliste ein.
Zugriff mit Zugriffserteilungen steuern
Sie können Zugriffsrechte erstellen, die den Zugriff auf ein LookML-Explore, einen Join, eine Ansicht oder ein Feld mithilfe von Benutzerattributwerten, den access_grant
- und dem required_access_grants
-Parameter beschränken.
Zugriffsrechte funktionieren so:
- Eine Zugriffszuweisung wird mit dem Parameter
access_grant
definiert. Im Rahmen der Definition ordnen Sie die Zugriffsberechtigung einem Nutzerattribut zu. Sie geben auch an, welche Werte des Nutzerattributs den Zugriff auf die Zugriffsberechtigung gewähren. - Verwenden Sie dann den Parameter
required_access_grants
auf Ebene der Explore-Datenanalyse, des Joins, der Datenansicht oder des Felds, um diese Struktur auf Nutzer zu beschränken, die Zugriff auf alle aufgeführten Zugriffsberechtigungen haben.
So können Sie beispielsweise den Zugriff auf die Dimension „salary
“ auf die Nutzer beschränken, bei denen im Nutzerattribut „department
“ der Wert „payroll
“ angegeben ist.
Weitere Informationen zum Definieren von Zugriffsberechtigungen finden Sie auf der Seite mit der Parameterdokumentation zu access_grant
.
Liquid-Variablen
LookML ermöglicht die Verwendung verschiedener Liquid-Variablen, die für komplexere Arten benutzerdefinierter Ausgabe nützlich sein können. Die Attributwerte eines Nutzers können jetzt in Liquid aufgenommen werden. Der Liquid-Ausdruck muss die Syntax verwenden, die für Ihren Datenbankdialekt geeignet ist.
Beispiele finden Sie auf dieser Dokumentationsseite im Abschnitt Verbindung und auf der Seite mit Best Practices Nutzerattribute für die dynamische Schema- und Tabellennamen-Injection verwenden.
Datenlimits für Google BigQuery
Wenn Sie Google BigQuery als Datenbank verwenden, berechnet Ihnen Google für jede Abfrage eine Gebühr, die von der Größe der Abfrage abhängt. Damit Nutzer nicht versehentlich zu teure Abfragen ausführen, können Sie in der BigQuery-Verbindung unter Max. in Rechnung gestellte Gigabyte ein Nutzerattribut anwenden. Die Werte, die Sie im Nutzerattribut angeben, sollten der Anzahl der Gigabyte entsprechen, die ein Nutzer in einer einzelnen Abfrage abrufen darf.
Eingebettete Dashboards
Sie können die Daten eingrenzen, die in eingebetteten Suchergebnisseiten und Dashboards angezeigt werden, indem Sie Filterwerte auf Nutzerattributwerte stützen. Weitere Informationen finden Sie im Communitybeitrag Ein eingebettetes Proof-of-Concept-Dashboard (powered by Looker) erstellen.
Lokalisierung
Mit den Nutzerattributen locale
und number_format
können Sie das Aussehen von Daten, Visualisierungen und Teilen der Looker-Benutzeroberfläche für bestimmte Nutzer oder Nutzergruppen festlegen. Weitere Informationen finden Sie auf der Dokumentationsseite Looker lokalisieren.
Nutzerattribute und Zugriffsfilter testen
Mit der sudo-Funktion von Looker können Sie die Auswirkungen Ihrer Nutzerattribute testen. Administratoren (oder Nutzer mit den Berechtigungen see_users
und sudo
) können im sudo-Modus einen anderen Nutzer verwenden, um mehr über Looker zu erfahren.
Im Entwicklungsmodus sind Ihre Änderungen für andere Nutzer erst sichtbar, wenn Sie sie in der Produktion implementieren. Falls Sie Ihre Änderungen nicht implementiert haben, damit sie für andere Benutzer sichtbar sind, sehen Sie die Änderungen nicht, wenn Sie im SUDO-Status als anderer Benutzer agieren.