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.
Projekt létrehozásakor a Lakebase több Postgres-szerepkört hoz létre a projektben:
- Postgres-szerepkör a projekttulajdonos Azure Databricks-identitásához (például
user@databricks.com), amely az alapértelmezettdatabricks_postgresadatbázis tulajdonosa - Rendszergazdai
databricks_superuserszerepkör
A databricks_postgres rendszer létrehozza az adatbázist, így közvetlenül a projekt létrehozása után csatlakozhat, és kipróbálhatja a Lakebase-et.
Számos rendszer által felügyelt szerepkör is létrejön. Ezeket a belső szerepköröket az Azure Databricks-szolgáltatások használják felügyelethez, monitorozáshoz és adatműveletekhez.
Megjegyzés:
A Postgres-szerepkörök szabályozzák az adatbázis-hozzáférést (ki kérdezhet le adatokat). A projektengedélyek (akik kezelhetik az infrastruktúrát) a Projekt engedélyei című témakörben olvashatók. A mindkettő beállításával kapcsolatos oktatóanyagért tekintse meg az oktatóanyagot: Projekt- és adatbázis-hozzáférés biztosítása új felhasználónak.
Lásd : Előre létrehozott szerepkörök és rendszerszerepkörök.
Postgres-szerepkörök létrehozása
A Lakebase kétféle Postgres-szerepkört támogat az adatbázis-hozzáféréshez:
-
OAuth-szerepkörök az Azure Databricks-identitásokhoz: Ezeket a bővítmény és az
databricks_authSQL használatával hozhatja létre. Lehetővé teszi, hogy az Azure Databricks-identitások (felhasználók, szolgáltatásnevek és csoportok) OAuth-jogkivonatokkal csatlakozzanak. - Natív Postgres-jelszószerepkörök: Ezeket a Lakebase felhasználói felületével vagy SQL-ével hozhatja létre. Használjon bármilyen érvényes szerepkörnevet jelszóhitelesítéssel.
A használni kívánt szerepkör típusának kiválasztásával kapcsolatos útmutatásért tekintse meg a hitelesítés áttekintését. Mindegyik különböző használati esetekhez van kialakítva.
OAuth-szerepkör létrehozása Azure Databricks-identitáshoz SQL használatával
Ahhoz, hogy az Azure Databricks-identitások (felhasználók, szolgáltatásnevek vagy csoportok) OAuth-jogkivonatokkal csatlakozhassanak, létre kell hoznia a Postgres-szerepköreiket a databricks_auth bővítmény használatával. Egy csoporthoz tartozó szerepkör létrehozása lehetővé teszi, hogy a csoporttagok a csoportszerepkör használatával hitelesítsék magukat, egyszerűsítve az engedélykezelést.
Az OAuth-jogkivonatok felhasználóról gépre és gépről gépre történő beszerzésére vonatkozó részletes útmutatásért lásd: OAuth-jogkivonat beszerzése egy felhasználó–gép folyamatban , és OAuth-jogkivonat beszerzése gépről gépre folyamatba a hitelesítési dokumentációban.
Előfeltételek:
- Rendelkeznie kell
CREATEésCREATE ROLEengedéllyel az adatbázison - Azure Databricks-identitásként kell hitelesítenie magát érvényes OAuth tokennel.
- Natív Postgres-hitelesített munkamenetek nem hozhatnak létre OAuth-szerepköröket
OAuth-szerepkör létrehozása:
Hozza létre a bővítményt
databricks_auth. Minden Postgres-adatbázisnak saját kiterjesztéssel kell rendelkeznie.CREATE EXTENSION IF NOT EXISTS databricks_auth;databricks_create_roleA függvény használatával hozzon létre egy Postgres-szerepkört az Azure Databricks-identitáshoz:SELECT databricks_create_role('identity_name', 'identity_type');Azure Databricks-felhasználó esetén:
SELECT databricks_create_role('myuser@databricks.com', 'USER');Azure Databricks szolgáltatásfő esetén:
SELECT databricks_create_role('8c01cfb1-62c9-4a09-88a8-e195f4b01b08', 'SERVICE_PRINCIPAL');Azure Databricks-csoport esetén:
SELECT databricks_create_role('My Group Name', 'GROUP');A csoportnév megkülönbözteti a kis- és nagybetűket, és pontosan meg kell egyeznie az Azure Databricks-munkaterületen megjelenő névvel. Amikor létrehoz egy Postgres-szerepkört egy csoporthoz, az adott Databricks-csoport bármely közvetlen vagy közvetett tagja (felhasználó vagy szolgáltatásnév) hitelesítheti a Postgres-et csoportszerepkörként az egyéni OAuth-jogkivonatával. Ez lehetővé teszi, hogy a Postgres csoportszintjén kezelje az engedélyeket az egyes felhasználók engedélyei helyett.
Adjon adatbázis-engedélyeket az újonnan létrehozott szerepkörnek.
A databricks_create_role() függvény csak engedéllyel hoz létre Postgres-szerepkört LOGIN . A szerepkör létrehozása után meg kell adnia a megfelelő adatbázis-jogosultságokat és engedélyeket az adott adatbázisokhoz, sémákhoz vagy táblákhoz, amelyekhez a felhasználónak hozzá kell férnie. Útmutató: Engedélyek kezelése
Csoportalapú hitelesítés
Amikor Postgres-szerepkört hoz létre egy Azure Databricks-csoporthoz, engedélyezi a csoportalapú hitelesítést. Ez lehetővé teszi, hogy az Azure Databricks-csoport bármely tagja hitelesítse magát a Postgresben a csoport szerepkörével, egyszerűsítve az engedélykezelést.
Hogyan működik:
- Hozzon létre egy Postgres-szerepkört egy Databricks-csoporthoz
databricks_create_role('Group Name', 'GROUP')használatával. - Adjon adatbázis-engedélyeket a csoportszerepkörnek a Postgresben. Lásd: Engedélyek kezelése.
- A Databricks-csoport bármely közvetlen vagy közvetett tagja (felhasználó vagy szolgáltatásnév) csatlakozhat a Postgreshez az egyéni OAuth-jogkivonatával.
- Csatlakozáskor a tag csoportszerepkörként hitelesíti magát, és örökli az adott szerepkörhöz adott összes engedélyt.
Hitelesítési folyamat:
Amikor egy csoporttag csatlakozik, a csoport Postgres-szerepkörének nevét adja meg felhasználónévként, a saját OAuth-jogkivonatát pedig jelszóként:
export PGPASSWORD='<OAuth token of a group member>'
export GROUP_ROLE_NAME='<pg-case-sensitive-group-role-name>'
psql -h $HOSTNAME -p 5432 -d databricks_postgres -U $GROUP_ROLE_NAME
Fontos szempontok:
- Csoporttagság ellenőrzése: A csoporttagság érvényesítése csak hitelesítési időpontban történik. Ha a rendszer eltávolít egy tagot az Azure Databricks-csoportból a kapcsolat létrehozása után, a kapcsolat aktív marad. A rendszer elutasítja az eltávolított tagok új csatlakozási kísérleteit.
- Munkaterület hatóköre: A csoportalapú hitelesítés csak a projekthez tartozó Azure Databricks-munkaterülethez rendelt csoportokat támogatja. A csoportok munkaterülethez rendeléséről a Csoportok kezelése című témakörben olvashat.
-
Kis- és nagybetűk érzékenysége: A
databricks_create_role()használata során a csoportnévnek pontosan meg kell egyeznie az Azure Databricks-munkaterületen megjelenő csoportnévvel, beleértve a kis- és nagybetűket is. - Engedélykezelés: A Postgres csoportszintű engedélyeinek kezelése hatékonyabb, mint az egyéni felhasználói engedélyek kezelése. Amikor engedélyeket ad a csoportszerepkörnek, az összes jelenlegi és jövőbeli csoporttag automatikusan örökli ezeket az engedélyeket.
Megjegyzés:
A szerepkörnevek nem haladhatják meg a 63 karaktert, és egyes nevek nem engedélyezettek. További információ: Szerepkörök kezelése
Natív Postgres-jelszószerepkör létrehozása
Natív Postgres-jelszószerepköröket a Lakebase felhasználói felületén vagy a standard SQL-parancsokkal hozhat létre.
A felhasználói felület használata:
- A Lakebase alkalmazásban lépjen az ág áttekintési lapjára, majd az ág Szerepkörök & adatbázisok lapjára.
- Kattintson a Szerepkör hozzáadása gombra, és adjon meg egy szerepkörnevet (bármely érvényes Postgres-szerepkörnevet).
- Kattintson a Létrehozás gombra.
- Másolja ki a létrehozott jelszót, és adja meg biztonságosan a szerepkört használó felhasználónak.
A Lakebase felhasználói felülete 60 bites entrópiával automatikusan létrehoz egy biztonságos jelszót. A felhasználói felületen létrehozott szerepkörök automatikusan tagságot kapnak a databricks_superuser szerepkörben, amely széles körű adatbázis-jogosultságokat biztosít.
Az SQL használata:
Natív Postgres-jelszószerepköröket is létrehozhat szabványos Postgres SQL-parancsokkal:
CREATE ROLE role_name WITH LOGIN PASSWORD 'your_secure_password';
Az SQL-szerepkörök létrehozásakor a jelszónak legalább 12 karakterből kell állnia, kisbetűk, nagybetűk, számok és szimbólumkarakterek kombinációjával. A felhasználó által megadott jelszavakat a rendszer a létrehozáskor érvényesíti a 60 bites entrópia biztosítása érdekében.
Postgres-szerepkörök megtekintése
UI
A projekt összes Postgres-szerepkörének megtekintéséhez lépjen az ág Szerepkörök & adatbázisok lapjára a Lakebase alkalmazásban. A rendszerszerepkörök kivételével az ágban létrehozott összes szerepkör szerepel a listán, beleértve a jelszóhitelesítéssel rendelkező natív Postgres-szerepköröket is.
PostgreSQL
Az összes szerepkör megtekintése paranccsal \du :
Bármely Postgres-ügyfél (például ) vagy a Lakebase SQL-szerkesztő metaparancsával megtekintheti az összes Postgres-szerepkört, beleértve a \dupsql is:
\du
List of roles
Role name | Attributes
-----------------------------+------------------------------------------------------------
cloud_admin | Superuser, Create role, Create DB, Replication, Bypass RLS
my.user@databricks.com | Create role, Create DB, Bypass RLS
databricks_control_plane | Superuser
databricks_gateway |
databricks_monitor |
databricks_reader_12345 | Create role, Create DB, Replication, Bypass RLS
databricks_replicator | Replication
databricks_superuser | Create role, Create DB, Cannot login, Bypass RLS
databricks_writer_12345 | Create role, Create DB, Replication, Bypass RLS
Ez megjeleníti az összes szerepkört és attribútumukat (Superuser, Create role, Create DB stb.).
Postgres-szerepkör törlése
A Databricks identitásalapú és a natív Postgres-jelszószerepköröket is elvetheti.
UI
A szerepkörök törlése olyan állandó művelet, amelyet nem lehet visszavonni. Nem törölhet olyan szerepkört, amely egy adatbázis tulajdonosa. Az adatbázist törölni kell, mielőtt törölnénk az adatbázist tulajdonoló szerepkört.
Bármely Postgres-szerepkör törlése a felhasználói felületen:
- Lépjen az ág Szerepkörök és adatbázisok lapjára a Lakebase-alkalmazásban.
- Válassza a Szerepkör törlése lehetőséget a szerepkör menüjében, és erősítse meg a törlést.
PostgreSQL
Bármely Postgres-szerepkört elvethet szabványos Postgres-parancsokkal. További részletekért tekintse meg a Szerepkörök elvetéséről szóló PostgreSQL-dokumentációt.
Szerepkör eltávolítása:
DROP ROLE role_name;
Miután elvetett egy Azure Databricks-identitásalapú szerepkört, az identitás nem hitelesíthető a Postgresben OAuth-jogkivonatokkal, amíg új szerepkört nem hoz létre.
Előre létrehozott szerepkörök
A projekt létrehozása után az Azure Databricks automatikusan létrehozza a Postgres-szerepköröket a projektfelügyelethez és az első lépésekhez.
| Role | Description | Örökölt jogosultságok |
|---|---|---|
<project_owner_role> |
A projekt létrehozójának Azure Databricks-identitása (például my.user@databricks.com). Ez a szerepkör az alapértelmezett databricks_postgres adatbázis tulajdonosa, és bejelentkezhet és felügyelheti a projektet. |
A databricks_superuser |
databricks_superuser |
Belső rendszergazdai szerepkör. A projekten belüli hozzáférés konfigurálására és kezelésére szolgál. Ez a szerepkör széles körű jogosultságokkal rendelkezik. | Örökli a pg_read_all_data, pg_write_all_data és pg_monitor osztályoktól. |
További információ a szerepkörök konkrét képességeiről és jogosultságairól: Előre létrehozott szerepkör-képességek
Az Azure Databricks által létrehozott rendszerszerepkörök
Az Azure Databricks a belső szolgáltatásokhoz szükséges következő rendszerszerepköröket hozza létre. Ezeket a szerepköröket úgy tekintheti meg, ha kiad egy \du parancsot a psql.
| Role | Cél |
|---|---|
cloud_admin |
Felhőinfrastruktúra-kezeléshez használt superuser szerepkör |
databricks_control_plane |
A belső Databricks-összetevők által a felügyeleti műveletekhez használt superuser szerepkör |
databricks_monitor |
A belső metrika gyűjtési szolgáltatások használják |
databricks_replicator |
Adatbázis-replikációs műveletekhez használatos |
databricks_writer_<dbid> |
Szinkronizált táblák létrehozásához és kezeléséhez használt adatbázisonkénti szerepkör |
databricks_reader_<dbid> |
Adatbázisonkénti szerepkör a Unity-katalógusban regisztrált táblák olvasásához |
databricks_gateway |
A felügyelt adatszolgáltatási szolgáltatások belső kapcsolataihoz használatos |
A szerepkörök, jogosultságok és szerepkör-tagságok működéséről a Postgres dokumentációjában az alábbi forrásokból tájékozódhat: