Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Von Bedeutung
Lakebase Autoscaling ist in Beta in den folgenden Regionen: eastus2, westeurope, westus.
Lakebase Autoscaling ist die neueste Version von Lakebase mit automatischer Berechnung, Skalierung bis Null, Verzweigung und sofortiger Wiederherstellung. Einen Featurevergleich mit Lakebase Provisioned finden Sie unter Auswahl zwischen Versionen.
Erfahren Sie, wie Sie einen neuen Benutzer mit Zugriff auf Ihr Lakebase-Projekt und Ihre Datenbank einrichten. In diesem Lernprogramm werden berechtigungen auf Projektebene (zum Verwalten von Lakebase-Ressourcen) und Berechtigungen auf Datenbankebene (für den Zugriff auf Daten über Postgres) behandelt.
Informationen zu den beiden Berechtigungssystemen
Lakebase Postgres verwendet zwei Berechtigungsebenen:
Projektberechtigungen (ACLs): Steuern von Aktionen auf Plattformebene, z. B. Erstellen von Verzweigungen, Verwalten von Berechnungen und Verwalten von Projekteinstellungen. Diese werden über die Lakebase-App verwaltet.
Postgres-Rollenberechtigungen: Steuern des Zugriffs auf Daten innerhalb der Datenbank selbst. Diese werden über standardmäßige Postgres-Befehle
GRANTverwaltet.
Diese Systeme haben keine automatische Synchronisierung. Sie können diese Berechtigungen unabhängig oder gemeinsam erteilen, je nach den Anforderungen Ihrer Organisation:
- Gewähren Sie beiden Ebenen Benutzern, die Plattformzugriff und Datenbankzugriff benötigen.
- Erteilen Sie nur Projektberechtigungen für Benutzer, die Infrastruktur verwalten, aber keine Daten abfragen müssen.
- Gewähren Sie nur Datenbankzugriff für Benutzer, die Daten abfragen müssen, aber keine Lakebase-Ressourcen verwalten müssen (sie können mithilfe von Tools wie
psqlund Verbindungsdetails eine Verbindung herstellen).
In diesem Lernprogramm wird gezeigt, wie Sie beide Zugriffsebenen einrichten:
- Erteilen von Projektberechtigungen, damit Benutzer mit Lakebase-Plattformressourcen arbeiten können (in diesem Lernprogramm wird CAN MANAGE für den vollzugriff verwendet)
- Erstellen einer Postgres-Rolle mit entsprechenden Datenbankrechten zum Herstellen einer Verbindung mit und Abfragen der Datenbank
Standardberechtigungen
Alle Arbeitsbereichsbenutzer erben standardmäßig DIE BERECHTIGUNG CAN CREATE, wodurch das Anzeigen und Erstellen von Projekten ermöglicht wird. Um zusätzlichen Zugriff auf die Ressourcen und Datenbanken Ihres Projekts zu gewähren, müssen Sie explizit zusätzliche Berechtigungen zuweisen.
Voraussetzungen
- Ein Lakebase-Projekt mit einer Datenbank
- Arbeitsbereichsadministrator oder "CAN MANAGE"-Berechtigung für das Projekt
- Die Azure Databricks-Identität (E-Mail-Adresse) des Benutzers im selben Arbeitsbereich, in dem das Projekt erstellt wurde
Szenario: Hinzufügen eines Datenanalysten mit Lese-/Schreibzugriff
Gehen wir durch das Hinzufügen eines Datenanalysten mit dem Namen Alex Lopez , der Folgendes benötigt:
- Möglichkeit zum Erstellen und Verwalten von Branches, Rechnern und Datenbanken (CAN MANAGE)
- Lese- und Schreibzugriff auf Tabellen im
publicSchema Ihrer Postgres-Datenbank - Möglichkeit zum Erstellen neuer Tabellen für die Analyse
Schritt 1: Erteilen von Projektberechtigungen
Erteilen Sie dem Benutzer zuerst die BERECHTIGUNG CAN MANAGE, damit er Projektmanagementaktionen ausführen kann.
- Navigieren Sie in der Lakebase-App zu Ihrem Projekt.
- Klicken Sie in der linken Randleiste auf "Einstellungen ".
- Scrollen Sie zum Abschnitt "Project-Berechtigungen" .
- Klicken Sie auf "Berechtigung erteilen".
- Suchen Sie nach und wählen Sie den Benutzer aus.
- Wählen Sie "CAN MANAGE"- Berechtigung aus.
- Klicken Sie auf Gewähren.
Funktionen von KANN VERWALTEN:
- Erstellen und Löschen von Verzweigungen
- Verwalten von Berechnungen und Konfigurieren von Projekteinstellungen
- Erstellen und Verwalten von Datenbanken und Postgres-Rollen
- Vollzugriff auf Projektvorgänge
Hinweis
CAN MANAGE gewährt voll kontrolle über das Projekt, einschließlich vieler anderer Aktionen. Eine vollständige Liste aller Berechtigungsstufen und spezifischen Aktionen, die jeweils zulässig sind, finden Sie unter Lakebase-Projekt-ACLs.
Schritt 2: Erstellen einer Postgres-Rolle für den Benutzer
Erstellen Sie nun eine OAuth-Rolle, mit der Alex sich mit ihren Azure Databricks-Identitäten mit OAuth-Token authentifizieren kann. Als Projektbesitzer verfügen Sie über die erforderlichen Berechtigungen zum Erstellen von Rollen.
Öffnen Sie den SQL-Editor für Lakebase, und stellen Sie eine Verbindung mit Ihrem Projekt her.
Erstellen Sie die
databricks_authErweiterung (sofern noch nicht aktiviert):CREATE EXTENSION IF NOT EXISTS databricks_auth;Verwenden Sie die
databricks_create_roleFunktion, um die OAuth Postgres-Rolle für Alex zu erstellen:SELECT databricks_create_role('alex.lopez@databricks.com', 'USER');
Dadurch wird eine OAuth-Rolle erstellt, die:
- Hat denselben Namen wie ihre Azure Databricks-Identität (
alex.lopez@databricks.com) - Kann sich mithilfe von OAuth-Token authentifizieren
- Verfügt über ANMELDEberechtigungen
- Verfügt noch über keine Datenbankberechtigungen (wir gewähren diese als Nächstes)
Hinweis
Informationen zu OAuth-Rollen:
- OAuth-Rollen authentifizieren sich mit zeitlich begrenzten Token (ablaufen nach 1 Stunde)
- Benutzer erhalten Token aus dem Lakebase-App-Verbindungsdialogfeld
- Optimal für interaktive Sitzungen und arbeitsbereichintegrierte Workflows
- Weitere Informationen finden Sie unter "Informationen zur Authentifizierung".
Schritt 3: Gewähren von Postgres-Datenbankberechtigungen
Erteilen Sie Alex nun die benötigten Datenbankberechtigungen. Wir gewähren ihnen Lese-/Schreibzugriff auf das public Schema.
-- Grant CONNECT permission on the database
GRANT CONNECT ON DATABASE databricks_postgres TO "alex.lopez@databricks.com";
-- Grant USAGE permission on the public schema (required to access objects in it)
GRANT USAGE ON SCHEMA public TO "alex.lopez@databricks.com";
-- Grant CREATE permission on the public schema (allows creating new tables)
GRANT CREATE ON SCHEMA public TO "alex.lopez@databricks.com";
-- Grant read-write access to all existing tables in public schema
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO "alex.lopez@databricks.com";
-- Grant permissions on future tables (so Alex can access new tables automatically)
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO "alex.lopez@databricks.com";
-- Grant permission to use sequences (needed for SERIAL columns)
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO "alex.lopez@databricks.com";
-- Grant permissions on future sequences
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT USAGE, SELECT ON SEQUENCES TO "alex.lopez@databricks.com";
Was diese Berechtigungen zulassen:
-
CONNECT: Herstellen einer Verbindung mit der Datenbank -
USAGEauf Schema: Zugreifen auf Objekte innerhalb des Schemas -
CREATEim Schema: Neue Tabellen, Ansichten, Funktionen erstellen -
SELECT, INSERT, UPDATE, DELETEin Tabellen: Daten lesen und schreiben - Sequenzberechtigungen: Automatisches Inkrementieren von Spalten verwenden
Schritt 4: Testen der Verbindung
Lassen Sie Alex überprüfen, ob sie eine Verbindung herstellen und auf die Datenbank zugreifen können.
Verwenden des Lakebase SQL-Editors:
Alex öffnet die Lakebase-App und navigiert zu Ihrem Projekt.
Alex öffnet den SQL-Editor für Lakebase.
Im SQL-Editor sollte Alex die folgenden Abfragen ausführen können, um Berechtigungen zu überprüfen:
-- Check role memberships SELECT rolname FROM pg_roles WHERE rolname = 'alex.lopez@databricks.com'; -- Verify can read data SELECT * FROM your_table LIMIT 5; -- Verify can write data INSERT INTO your_table (column1, column2) VALUES ('test', 'value'); -- Verify can create tables CREATE TABLE alex_analysis ( id SERIAL PRIMARY KEY, notes TEXT, created_at TIMESTAMP DEFAULT NOW() );
Alternativ können Sie psql verwenden:
Alex kann sich auch mit externen Tools wie psql verbinden.
- Klicken Sie im Projektdashboard auf "Verbinden".
- Wählen Sie die Verzweigung, Berechnung und Datenbank aus.
- Wählen Sie in der Dropdownliste "Rollen" die Option
alex.lopez@databricks.comaus. - Kopieren Sie den
psqlVerbindungsausschnitt. - Klicken Sie auf "OAuth-Token kopieren ", um ein Authentifizierungstoken abzurufen.
- Stellen Sie eine Verbindung mit dem kopierten
psqlBefehl her, und geben Sie das OAuth-Token ein, wenn Sie zur Eingabe des Kennworts aufgefordert werden. - Führen Sie die oben gezeigten Überprüfungsabfragen aus.
Alternative: Schreibgeschützter Datenbankzugriff
Für Benutzer, die nur Daten abfragen müssen, ohne sie zu ändern, erteilen Sie dieselben Projektberechtigungen, verwenden aber restriktivere Datenbankberechtigungen:
Projektberechtigungen
Gewähren Sie CAN MANAGE , um das Erstellen von Datenbanken, Rollen und anderen Projektvorgängen zu ermöglichen.
Datenbankberechtigungen
-- Create OAuth role
SELECT databricks_create_role('analyst@databricks.com', 'USER');
-- Grant CONNECT permission
GRANT CONNECT ON DATABASE databricks_postgres TO "analyst@databricks.com";
-- Grant USAGE on the public schema
GRANT USAGE ON SCHEMA public TO "analyst@databricks.com";
-- Grant SELECT-only access to all existing tables
GRANT SELECT ON ALL TABLES IN SCHEMA public TO "analyst@databricks.com";
-- Grant SELECT-only access to future tables
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO "analyst@databricks.com";
-- Grant USAGE on sequences (needed to view sequence values)
GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO "analyst@databricks.com";
Diese Finanzhilfen:
- Lesezugriff auf alle Tabellen
- Datenbankstruktur anzeigen
- Daten können nicht geändert werden (nein INSERT, UPDATE, DELETE)
- Tabellen oder andere Objekte können nicht erstellt werden.
Arbeiten mit Gruppen und Dienstprinzipalen
Sie können demselben Prozess folgen, um Zugriff auf Azure Databricks-Gruppen und Dienstprinzipale zu gewähren. Erteilen Sie Projektberechtigungen über die Lakebase-App-Benutzeroberfläche, erstellen Sie OAuth-Rollen mithilfe databricks_create_role()und gewähren Sie Datenbankberechtigungen. Weitere Informationen finden Sie unter "Gruppen und Dienstprinzipale".
Verwenden nativer Postgres-Kennwortrollen
Als Alternative zu OAuth-Rollen können Sie native Postgres-Passwortrollen für Anwendungen erstellen, die keine stündliche Token-Aktualisierung durchführen können, für langlaufende Prozesse oder für externe Tools, die OAuth nicht unterstützen. Anweisungen zum Erstellen und Verwalten von Kennwortrollen finden Sie unter Verwalten von Postgres-Rollen.