Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Fontos
A Lakebase automatikus skálázása bétaverzióban érhető el a következő régiókban: eastus2, , westeuropewestus.
A Lakebase Autoscaling a Lakebase legújabb verziója automatikus skálázási számítással, nullára skálázással, elágaztatással és azonnali visszaállítással. A Lakebase Provisioned szolgáltatással való összehasonlításához tekintse meg a verziók közötti választást.
Megtudhatja, hogyan állíthat be új felhasználót a Lakebase-projekthez és -adatbázishoz való hozzáféréssel. Ez az oktatóanyag a projektszintű engedélyeket (a Lakebase-erőforrások kezeléséhez) és az adatbázisszintű engedélyeket (az adatok Postgresen keresztüli eléréséhez) is ismerteti.
A két engedélyrendszer ismertetése
A Lakebase Postgres két engedélyréteget használ:
Projektengedélyek (ACL-ek): Platformszintű műveletek vezérlése, például ágak létrehozása, számítások kezelése és projektbeállítások kezelése. Ezek kezelése a Lakebase alkalmazáson keresztül történik.
Postgres szerepkör-engedélyek: Az adatbázison belüli adatokhoz való hozzáférés szabályozása. Ezek kezelése szabványos Postgres-parancsokkal történik
GRANT.
Ezek a rendszerek nem rendelkeznek automatikus szinkronizálási szolgáltatásokkal. Ezeket az engedélyeket a szervezet igényeitől függően egymástól függetlenül vagy együtt is megadhatja:
- Mindkét réteget biztosíthatja a platformhozzáférést és adatbázis-hozzáférést igénylő felhasználóknak.
- Csak olyan felhasználóknak adjon projektengedélyeket, akik az infrastruktúrát kezelik, de nem kell adatokat lekérdezni.
- Csak azoknak a felhasználóknak biztosítson adatbázis-hozzáférést, akiknek adatokat kell lekérdezniük, de nem kell kezelniük a Lakebase-erőforrásokat (például a kapcsolat részleteivel rendelkező eszközökkel
psqlcsatlakozhatnak).
Ez az oktatóanyag bemutatja, hogyan állíthatja be mindkét hozzáférési réteget:
- Projektengedélyek megadása, hogy a felhasználók a Lakebase platform erőforrásaival működhessenek (ez az oktatóanyag a CAN MANAGE-t használja a teljes hozzáféréshez, és a CAN USE-t csak megtekintésre és használatra is engedélyezheti)
- Postgres-szerepkör létrehozása megfelelő adatbázis-jogosultságokkal az adatbázishoz való csatlakozáshoz és lekérdezéshez
Alapértelmezett engedélyek
A munkaterület minden felhasználója alapértelmezés szerint örökli a CAN CREATE engedélyt, amely lehetővé teszi a projektek megtekintését és létrehozását. Ha további hozzáférést szeretne biztosítani a projekt erőforrásaihoz és adatbázisaihoz, explicit módon kell hozzárendelnie a CAN USE vagy a CAN MANAGE parancsot.
Előfeltételek
- Lakebase-projekt adatbázissal
- Munkaterület-rendszergazda vagy CAN MANAGE engedély a projekten
- A felhasználó Azure Databricks-identitása (e-mail-címe) ugyanabban a munkaterületen, ahol a projektet létrehozták
Forgatókönyv: Adatelemző hozzáadása olvasási-írási hozzáféréssel
Nézzük meg lépésről lépésre, hogyan adhatunk hozzá egy adatelemzőt, Alex Lopez aki a következőkre van szüksége:
- Képesség ágak, számítógépek és adatbázisok létrehozására és kezelésére (KEZELHETŐ)
- Táblák olvasása és írása a
publicPostgres-adatbázis sémájában - Új táblák létrehozása elemzéshez
1. lépés: Projektengedélyek megadása
Először adja meg a felhasználóNAK a MANAGE engedélyt, hogy végrehajthassa a projektfelügyeleti műveleteket.
- A projekthez navigáljon a Lakebase alkalmazásban.
- Kattintson a Bal oldali oldalsáv Beállítások gombjára .
- Görgessen a Project engedélyeinek szakaszához.
- Kattintson az Engedély megadása gombra.
- Keresse meg és jelölje ki a felhasználót.
- Válassza a CAN MANAGE engedélyt.
- Kattintson az Engedélyezés gombra.
Amit a CAN MANAGE lehetővé tesz:
- Ágak létrehozása és törlése
- Számítások kezelése és a projektbeállítások konfigurálása
- Adatbázisok és Postgres-szerepkörök létrehozása és kezelése
- Projektműveletek teljes felügyelete
Megjegyzés:
A CAN MANAGE teljes körű ellenőrzést biztosít a projekt felett, beleértve sok más műveletet is. A CAN USE lehetővé teszi az erőforrások teljes felügyelet nélküli megtekintését és használatát (lista, megtekintés, kapcsolati URI lekérése és bizonyos fiókműveletek). Az összes engedélyszint és az egyes műveletek teljes listáját a Lakebase-projekt ACL-jeiben találja.
2. lépés: Postgres-szerepkör létrehozása a felhasználó számára
Most hozzon létre egy OAuth-szerepkört, amely lehetővé teszi Alex számára az Azure Databricks-identitásuk OAuth-jogkivonatokkal való hitelesítését. Projekttulajdonosként ön rendelkezik a szerepkörök létrehozásához szükséges engedélyekkel.
Nyissa meg a Lakebase SQL-szerkesztőt, és csatlakozzon a projekthez.
Hozza létre a
databricks_authbővítményt (ha még nincs engedélyezve):CREATE EXTENSION IF NOT EXISTS databricks_auth;databricks_create_roleA függvény használatával hozza létre Az OAuth Postgres szerepkört Alex számára:SELECT databricks_create_role('alex.lopez@databricks.com', 'USER');
Ez létrehoz egy OAuth-szerepkört, amely:
- Ugyanaz a neve, mint az Azure Databricks-azonosítójuknak (
alex.lopez@databricks.com) - Hitelesítés OAuth-jogkivonatokkal
- BEJELENTKEZÉSI jogosultságokkal rendelkezik
- Még nem rendelkezik adatbázis-engedélyekkel (ezeket a következő lépésben biztosítjuk)
Megjegyzés:
Az OAuth-szerepkörök ismertetése:
- OAuth-szerepkörök időkorlátos tokenekkel hitelesítenek (egy órával később lejárnak)
- A felhasználók tokenekhez jutnak a Lakebase alkalmazás kapcsolati párbeszédpanelje által.
- Legjobb interaktív munkamenetekhez és munkaterület-integrált munkafolyamatokhoz
- További információ: Tudnivalók a hitelesítésről
3. lépés: Postgres-adatbázisengedélyek megadása
Most adja meg Alexnek a szükséges adatbázis-engedélyeket. Olvasási-írási hozzáférést biztosítunk nekik a public sémához.
-- 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";
Ezek az engedélyek a következőket teszik lehetővé:
-
CONNECT: Csatlakozás az adatbázishoz -
USAGEsémán: A sémán belüli objektumok elérése -
CREATEsémán: Új táblák, nézetek, függvények létrehozása -
SELECT, INSERT, UPDATE, DELETEtáblákon: Adatok olvasása és írása - Sorozatengedélyek: Automatikusan növekvő oszlopok használata
4. lépés: A kapcsolat tesztelése
Alex ellenőrizze, hogy tudnak-e csatlakozni és hozzáférni az adatbázishoz.
A Lakebase SQL-szerkesztő használata:
Alex megnyitja a Lakebase alkalmazást, és a projekthez navigál.
Alex megnyitja a Lakebase SQL-szerkesztőt.
Az SQL-szerkesztőben Alexnek képesnek kell lennie a következő lekérdezések futtatására az engedélyek ellenőrzéséhez:
-- 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() );
Másik lehetőségként használja a psql-t:
Alex a következőhöz hasonló psqlkülső eszközökről is tud csatlakozni:
- A projekt irányítópultján kattintson a Csatlakozás gombra.
- Válassza ki az ágat, a számítást és az adatbázist.
- A Szerepkörök legördülő listában válassza a lehetőséget
alex.lopez@databricks.com. - Másolja ki a
psqlkapcsolati kódrészletet. - A hitelesítési jogkivonat beszerzéséhez kattintson az OAuth-jogkivonat másolása elemre.
- Csatlakozzon a másolt
psqlparanccsal, és jelszó kérésekor adja meg az OAuth-jogkivonatot. - Futtassa a fent bemutatott ellenőrzésre szánt lekérdezéseket.
Alternatív megoldás: Írásvédett adatbázis-hozzáférés
Azon felhasználók számára, akiknek csak módosítás nélkül kell lekérdezni az adatokat, adja meg ugyanazokat a projektengedélyeket, de szigorúbb adatbázis-engedélyeket használjon:
Projektengedélyek
A CAN USE engedélyezése csak megtekintési és használatalapú projekthozzáféréshez (pl. kapcsolati URI, listaágak). A CAN MANAGE engedélyezése adatbázisok, szerepkörök és egyéb projektműveletek létrehozásához.
Adatbázis-engedélyek
-- 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";
Ez engedélyez:
- Olvasási hozzáférés az összes táblához
- Adatbázis-struktúra megtekintése
- Nem lehet módosítani az adatokat (nincs INSERT, UPDATE, DELETE)
- Táblák vagy egyéb objektumok nem hozhatók létre
Csoportokkal és szolgáltatási objektumokkal való munka
Ugyanezt a folyamatot követve hozzáférést biztosíthat az Azure Databricks-csoportokhoz és szolgáltatásnevekhez. Projektengedélyek megadása a Lakebase alkalmazás felhasználói felületén keresztül, OAuth-szerepkörök létrehozása és databricks_create_role()adatbázis-engedélyek megadása. További információ: Csoportok és szolgáltatásnevek.
Natív Postgres-jelszószerepkörök használata
Az OAuth-szerepkörök alternatívaként natív Postgres-jelszószerepköröket hozhat létre olyan alkalmazásokhoz, amelyek nem tudják óránként frissíteni a jogkivonatokat, a hosszan futó folyamatokat vagy az OAuth-t nem támogató külső eszközöket. A jelszószerepkörök létrehozásával és kezelésével kapcsolatos utasításokért lásd: Postgres-szerepkörök kezelése.