Megosztás a következőn keresztül:


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 SCHEMAkataló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.

Unity Catalog objektumhierarchia

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ául CATALOG vagy TABLE. Lásd: Biztonságos objektumok
  • <securable-name>: A biztonságos személy neve. Ha a biztonságos típus az METASTORE, 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ő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemre Katalógus ikon .
  2. Jelölje ki az objektumot, például katalógust, sémát, táblázatot vagy nézetet.
  3. 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ő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemre Katalógus ikon .
  2. Jelölje ki az objektumot, például katalógust, sémát, táblázatot vagy nézetet.
  3. 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ő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemre Katalógus ikon .
  2. Jelölje ki az objektumot, például katalógust, sémát, táblázatot vagy nézetet.
  3. Lépjen az Engedélyek lapra.
  4. Kattintson a Grant gombra.
  5. Adja meg egy felhasználó e-mail-címét vagy egy csoport nevét.
  6. Válassza ki a megadni kívánt engedélyeket.
  7. 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ő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemre Katalógus ikon .
  2. Jelölje ki az objektumot, például katalógust, sémát, táblázatot vagy nézetet.
  3. Lépjen az Engedélyek lapra.
  4. Válasszon ki egy felhasználónak, szolgáltatásnévnek vagy csoportnak adott jogosultságot.
  5. Kattintson a Visszavonás gombra.
  6. 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ő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemre Katalógus ikon .
  2. A Katalóguskezelő oldalfelirata mellett kattintson a metaadattár neve melletti ikonra.
  3. 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ő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemre Katalógus ikon .
  2. A Katalóguskezelő oldalfelirata mellett kattintson a metaadattár neve melletti ikonra.
  3. Az Engedélyek lapon kattintson az Engedélyezés gombra.
  4. Adja meg egy felhasználó e-mail-címét vagy egy csoport nevét.
  5. Válassza ki a megadni kívánt engedélyeket.
  6. Kattintson az OK gombra.

SQL

  1. 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ő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemre Katalógus ikon .
  2. A Katalóguskezelő oldalfelirata mellett kattintson a metaadattár neve melletti ikonra.
  3. Az Engedélyek lapon válasszon ki egy felhasználót vagy csoportot, és kattintson a Visszavonás gombra.
  4. A megerősítéshez kattintson a Visszavonás gombra.

SQL

  1. 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.