Share via


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 Rendszergazda jogosultságokat 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: Metaadattár-rendszergazda, az objektum tulajdonosa, az objektumot tartalmazó katalógus vagy séma tulajdonosa. Saját támogatásokat is megtekinthet.

Katalóguskezelő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemreKataló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

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 elemreKataló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`;

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 elemreKataló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 elemreKataló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 elemreKataló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 elemreKataló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 TO <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.