Jogosultságok kezelése a Unity Catalogban
Ez a cikk azt ismerteti, hogyan szabályozhatja az adatokhoz és más objektumokhoz való hozzáférést a Unity Catalogban. Ha szeretné megtudni, hogy ez a modell miben különbözik a Hive-metaadattár hozzáférés-vezérlésétől, olvassa el a Unity-katalógus és az örökölt Hive-metaadattár használatát ismertető témakört.
Ki kezelheti a jogosultságokat?
A felhasználók kezdetben nem férnek hozzá a metaadattárban lévő adatokhoz. Az Azure Databricks-fiókgazdák, munkaterület-rendszergazdák és metaadattár-rendszergazdák alapértelmezett jogosultságokkal rendelkeznek a Unity Catalog kezeléséhez. Lásd: Rendszergazdai jogosultságok a Unity Katalógusban.
A Unity Catalog minden biztonságos objektumának tulajdonosa van. Az objektumtulajdonosok minden jogosultsággal rendelkeznek az objektumon, beleértve a jogosultságok más tagoknak való megadását is. Lásd: Unity Catalog-objektumok tulajdonjogának kezelése.
Jogosultságokat a metaadattár-rendszergazda, egy objektum tulajdonosa, vagy az objektumot tartalmazó katalógus vagy séma tulajdonosa adhat. A fiókadminisztrátorok közvetlenül a metaadattárban is biztosíthatnak jogosultságokat.
Munkaterület-katalógus jogosultságai
Ha a munkaterület automatikusan engedélyezve lett a Unity Cataloghoz, a munkaterület alapértelmezés szerint egy metaadattárhoz van csatolva, és létrejön egy munkaterület-katalógus a munkaterülethez a metaadattárban. A munkaterület-rendszergazdák a munkaterület-katalógus alapértelmezett tulajdonosai. Tulajdonosként kezelhetik a jogosultságokat a munkaterület-katalógusban és az összes gyermekobjektumban.
Minden munkaterület-felhasználó megkapja a jogosultságot USE CATALOG
a munkaterület-katalógusban. A munkaterület felhasználói a USE SCHEMA
katalógus sémáján is megkapják a default
, CREATE TABLE
, CREATE VOLUME
, CREATE MODEL
, CREATE FUNCTION
és CREATE MATERIALIZED VIEW
jogosultságokat.
További információ: A Unity Katalógus automatikus engedélyezése.
Öröklési modell
A Unity Catalog biztonságos objektumai hierarchikusak, a jogosultságok pedig lefelé öröklődnek. A legmagasabb szintű objektum, amelyről a jogosultságok öröklődnek, a katalógus. Ez azt jelenti, hogy egy katalógus vagy séma jogosultságának megadása automatikusan megadja a jogosultságot a katalógusban vagy sémában lévő összes jelenlegi és jövőbeli objektumnak. Ha például jogosultságot ad egy felhasználónak SELECT
egy katalógusban, akkor az adott felhasználó kiválaszthatja (elolvashatja) a katalógus összes tábláját és nézetét. A Unity Catalog metaadattárában megadott jogosultságok nem öröklődnek.
Egy objektum tulajdonosai automatikusan megkapják az adott objektumra vonatkozó összes jogosultságot. Emellett az objektumtulajdonosok jogosultságokat adhatnak az objektumra és az összes gyermekobjektumra. Ez azt jelenti, hogy a séma tulajdonosai nem rendelkeznek automatikusan a séma tábláinak összes jogosultságával, de jogosultságokat adhatnak maguknak a séma tábláihoz.
Feljegyzés
Ha a Unity Catalog metaadattárát a nyilvános előzetes verzióban (2022. augusztus 25. előtt) hozta létre, előfordulhat, hogy egy korábbi jogosultsági modellben van, amely nem támogatja az aktuális öröklési modellt. A privilege model 1.0-s verziójára frissítve lekérheti a jogosultságöröklést. Lásd: Frissítés jogosultságöröklésre.
Jogosultságok megjelenítése, megadása és visszavonása
A metaadattár-objektumok jogosultságait SQL-parancsokkal, a Databricks parancssori felülettel, a Databricks Terraform-szolgáltatóval vagy a Catalog Explorerrel kezelheti.
Az alábbi SQL-parancsokban cserélje le a következő helyőrző értékeket:
<privilege-type>
Unity Catalog-jogosultságtípus. Lásd: Jogosultságtípusok.<securable-type>
: A biztonságos objektum típusa, példáulCATALOG
vagyTABLE
. Lásd: Biztonságos objektumok<securable-name>
: A biztonságos személy neve. Ha a biztonságos típus azMETASTORE
, ne adja meg a biztonságos nevet. A rendszer feltételezi, hogy a munkaterülethez csatolt metaadattár.<principal>
egy felhasználó, szolgáltatásnév (amelyet az applicationId értéke jelöl) vagy csoport. Olyan felhasználókat, szolgáltatásneveket és csoportneveket kell tartalmaznia, amelyek speciális karaktereket tartalmaznak a háttérrendszerekben (` `
). Lásd: Egyszerű.
Támogatások megjelenítése objektumokon a Unity Catalog metaadattárában
Szükséges engedélyek:
- A metaadattár rendszergazdái, az objektum tulajdonosa vagy az objektumot tartalmazó katalógus vagy séma tulajdonosa minden támogatást láthat az objektumon.
- Ha nem rendelkezik a fenti engedélyekkel, csak a saját támogatásait tekintheti meg az objektumon.
Katalóguskezelő
- Az Azure Databricks-munkaterületen kattintson a Katalógus elemre .
- Jelölje ki az objektumot, például katalógust, sémát, táblázatot vagy nézetet.
- Lépjen az Engedélyek lapra.
SQL
Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy egy SQL-lekérdezésszerkesztőben. Megjeleníthet támogatásokat egy adott tagon, vagy megjelenítheti az összes támogatást egy biztonságos objektumon.
SHOW GRANTS [principal] ON <securable-type> <securable-name>
Az alábbi parancs például az alapértelmezettként elnevezett sémában lévő összes támogatást megjeleníti a főként elnevezett szülőkatalógusban:
SHOW GRANTS ON SCHEMA main.default;
A parancs a következőt adja vissza:
principal actionType objectType objectKey
------------- ------------- ---------- ------------
finance-team CREATE TABLE SCHEMA main.default
finance-team USE SCHEMA SCHEMA main.default
Támogatásaim megjelenítése objektumokon a Unity Catalog metaadattárában
Szükséges engedélyek: Mindig megtekintheti a saját támogatásait egy objektumon.
Katalóguskezelő
- Az Azure Databricks-munkaterületen kattintson a Katalógus elemre .
- Jelölje ki az objektumot, például katalógust, sémát, táblázatot vagy nézetet.
- Lépjen az Engedélyek lapra. Ha ön nem objektumtulajdonos vagy metaadattár-rendszergazda, csak a saját támogatásait tekintheti meg az objektumon.
SQL
Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy egy SQL-lekérdezésszerkesztőben, hogy megjelenítse a támogatásokat egy objektumon.
SHOW GRANTS `<user>@<domain-name>` ON <securable-type> <securable-name>
Engedélyek megadása objektumokhoz egy Unity Catalog-metaadattárban
Szükséges engedélyek: Metaadattár-rendszergazda, az objektum tulajdonosa vagy az objektumot tartalmazó katalógus vagy séma tulajdonosa.
Katalóguskezelő
- Az Azure Databricks-munkaterületen kattintson a Katalógus elemre .
- Jelölje ki az objektumot, például katalógust, sémát, táblázatot vagy nézetet.
- Lépjen az Engedélyek lapra.
- Kattintson a Grant gombra.
- Adja meg egy felhasználó e-mail-címét vagy egy csoport nevét.
- Válassza ki a megadni kívánt engedélyeket.
- Kattintson az OK gombra.
SQL
Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy egy SQL-lekérdezésszerkesztőben.
GRANT <privilege-type> ON <securable-type> <securable-name> TO <principal>
Az alábbi parancs például egy pénzügyi csoportnak nevezett csoportnak biztosít hozzáférést az alapértelmezett nevű sémában lévő táblák létrehozásához a fő nevű szülőkatalógussal:
GRANT CREATE TABLE ON SCHEMA main.default TO `finance-team`;
GRANT USE SCHEMA ON SCHEMA main.default TO `finance-team`;
GRANT USE CATALOG ON CATALOG main TO `finance-team`;
Vegye figyelembe, hogy a regisztrált modellek egyfajta függvények. Ha jogosultságot szeretne biztosítani egy modellen, a következőt kell használnia GRANT ON FUNCTION
: . Ha például a csoportnak ml-team-acme
meg szeretné adni a EXECUTE
jogosultságot a modellen prod.ml_team.iris_model
, használja a következőt:
GRANT EXECUTE ON FUNCTION prod.ml_team.iris_model TO `ml-team-acme`;
Engedélyek visszavonása egy Unity Catalog-metaadattár objektumaihoz
Szükséges engedélyek: Metaadattár-rendszergazda, az objektum tulajdonosa vagy az objektumot tartalmazó katalógus vagy séma tulajdonosa.
Katalóguskezelő
- Az Azure Databricks-munkaterületen kattintson a Katalógus elemre .
- Jelölje ki az objektumot, például katalógust, sémát, táblázatot vagy nézetet.
- Lépjen az Engedélyek lapra.
- Válasszon ki egy felhasználónak, szolgáltatásnévnek vagy csoportnak adott jogosultságot.
- Kattintson a Visszavonás gombra.
- A megerősítéshez kattintson a Visszavonás gombra.
SQL
Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy egy SQL-lekérdezésszerkesztőben.
REVOKE <privilege-type> ON <securable-type> <securable-name> TO <principal>
A következő parancs például visszavon egy pénzügyi csapatnak nevezett csoportot, hogy egy alapértelmezett nevű sémában hozzon létre táblákat a fő nevű szülőkatalógussal:
REVOKE CREATE TABLE ON SCHEMA main.default TO `finance-team`;
Támogatások megjelenítése metaadattárban
Szükséges engedélyek: Metaadattár-rendszergazda vagy fiókadminisztrátor. A saját támogatásait egy metaadattárban is megtekintheti.
Katalóguskezelő
- Az Azure Databricks-munkaterületen kattintson a Katalógus elemre .
- A Katalóguskezelő oldalfelirata mellett kattintson a metaadattár neve melletti ikonra.
- Lépjen az Engedélyek lapra.
SQL
Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy egy SQL-lekérdezésszerkesztőben. Megjeleníthet támogatásokat egy adott tagon, vagy megjelenítheti az összes támogatást egy metaadattárban.
SHOW GRANTS [principal] ON METASTORE
Engedélyek megadása metaadattárban
Szükséges engedélyek: Metaadattár-rendszergazda vagy fiókadminisztrátor.
Katalóguskezelő
- Az Azure Databricks-munkaterületen kattintson a Katalógus elemre .
- A Katalóguskezelő oldalfelirata mellett kattintson a metaadattár neve melletti ikonra.
- Az Engedélyek lapon kattintson az Engedélyezés gombra.
- Adja meg egy felhasználó e-mail-címét vagy egy csoport nevét.
- Válassza ki a megadni kívánt engedélyeket.
- Kattintson az OK gombra.
SQL
Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy egy SQL-lekérdezésszerkesztőben.
GRANT <privilege-type> ON METASTORE TO <principal>;
Ha jogosultságokat ad meg egy metaadattárhoz, nem adja meg a metaadattár nevét, mert a munkaterülethez csatolt metaadattár feltételezve van.
Metaadattár engedélyeinek visszavonása
Szükséges engedélyek: Metaadattár-rendszergazda vagy fiókadminisztrátor.
Katalóguskezelő
- Az Azure Databricks-munkaterületen kattintson a Katalógus elemre .
- A Katalóguskezelő oldalfelirata mellett kattintson a metaadattár neve melletti ikonra.
- Az Engedélyek lapon válasszon ki egy felhasználót vagy csoportot, és kattintson a Visszavonás gombra.
- A megerősítéshez kattintson a Visszavonás gombra.
SQL
Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy egy SQL-lekérdezésszerkesztőben.
REVOKE <privilege-type> ON METASTORE FROM <principal>;
Ha visszavonja a jogosultságokat egy metaadattárban, nem adja meg a metaadattár nevét, mert a munkaterülethez csatolt metaadattár feltételezve van.