Sdílet prostřednictvím


Správa oprávnění v katalogu Unity

Tento článek vysvětluje, jak řídit přístup k datům a dalším objektům v katalogu Unity. Informace o tom, jak se tento model liší od řízení přístupu v metastoru Hive, najdete v tématu Práce s katalogem Unity a starším metastorem Hive.

Kdo může spravovat oprávnění?

Uživatelé zpočátku nemají přístup k datům v metastoru. Správci účtů Azure Databricks, správci pracovních prostorů a správci metastoru mají výchozí oprávnění ke správě katalogu Unity. Podívejte se na oprávnění správce v katalogu Unity.

Všechny zabezpečitelné objekty v katalogu Unity mají vlastníka. Vlastníci objektů mají všechna oprávnění k danému objektu, včetně možnosti udělit oprávnění jiným objektům zabezpečení. Viz Správa vlastnictví objektů katalogu Unity.

Oprávnění může udělit buď správce metastoru, vlastník objektu, nebo vlastník katalogu či schématu, které objekt obsahuje. Správci účtu můžou také udělit oprávnění přímo v metastoru.

Oprávnění katalogu pracovních prostorů

Pokud byl váš pracovní prostor pro katalog Unity povolen automaticky, pracovní prostor se ve výchozím nastavení připojí k metastoru a vytvoří se pro váš pracovní prostor v metastoru. Správci pracovního prostoru jsou výchozími vlastníky katalogu pracovních prostorů. Jako vlastníci můžou spravovat oprávnění v katalogu pracovních prostorů a všech podřízených objektech.

Všichni uživatelé pracovního prostoru obdrží USE CATALOG oprávnění v katalogu pracovních prostorů. Uživatelé pracovního prostoru také obdrží USE SCHEMAoprávnění , , CREATE TABLE, CREATE FUNCTIONCREATE VOLUMECREATE MODELa CREATE MATERIALIZED VIEW oprávnění ke schématu default v katalogu.

Další informace naleznete v tématu Automatické povolení katalogu Unity.

Model dědičnosti

Zabezpečitelné objekty v katalogu Unity jsou hierarchické a oprávnění se dědí směrem dolů. Objekt nejvyšší úrovně, ze kterého se oprávnění dědí, je katalog. To znamená, že přidělení oprávnění v katalogu nebo schématu automaticky uděluje toto oprávnění všem současným i budoucím objektům v rámci katalogu nebo schématu. Pokud například uživateli udělíte SELECT oprávnění k katalogu, bude moct tento uživatel vybrat (číst) všechny tabulky a zobrazení v tomto katalogu. Oprávnění udělená v metastoru katalogu Unity se nedědí.

Hierarchie objektů katalogu Unity

Vlastníci objektu mají automaticky udělená všechna oprávnění k danému objektu. Vlastníci objektů navíc můžou udělit oprávnění k samotnému objektu a ke všem jeho podřízeným objektům. To znamená, že vlastníci schématu nemají automaticky všechna oprávnění k tabulkám ve schématu, ale mohou jim udělit oprávnění k tabulkám ve schématu.

Poznámka:

Pokud jste metastore katalogu Unity vytvořili ve verzi Public Preview (před 25. srpnem 2022), možná jste na modelu dřívějších oprávnění, který aktuální model dědičnosti nepodporuje. Pokud chcete získat dědičnost oprávnění, můžete upgradovat na Model oprávnění verze 1.0. Viz Upgrade na dědičnost oprávnění.

Zobrazení, udělení a odvolání oprávnění

Oprávnění pro objekty metastoru můžete spravovat pomocí příkazů SQL, rozhraní příkazového řádku Databricks, poskytovatele Terraformu Databricks nebo Průzkumníka katalogu.

V následujících příkazech SQL nahraďte tyto zástupné hodnoty:

  • <privilege-type> je typ oprávnění katalogu Unity. Viz Typy oprávnění.
  • <securable-type>: Typ zabezpečitelného objektu, například CATALOG nebo TABLE. Zobrazit zabezpečitelné objekty
  • <securable-name>: Název zabezpečitelného. Pokud je METASTOREzabezpečitelný typ , nezadávejte zabezpečitelný název. Předpokládá se, že se jedná o metastor připojený k pracovnímu prostoru.
  • <principal> je uživatel, instanční objekt (reprezentovaný hodnotou applicationId) nebo skupina. Musíte uzavřít uživatele, instanční objekty a názvy skupin, které obsahují speciální znaky v zpětných znacích (` `). Viz objekt zabezpečení.

Zobrazení udělení u objektů v metastoru katalogu Unity

Požadovaná oprávnění:

  • Správci metastoru, vlastník objektu nebo vlastník katalogu nebo schématu, který objekt obsahuje, můžou zobrazit všechny granty objektu.
  • Pokud nemáte výše uvedená oprávnění, můžete u objektu zobrazit pouze vlastní granty.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na Ikona katalogu Katalog.
  2. Vyberte objekt, například katalog, schéma, tabulku nebo zobrazení.
  3. Přejděte na kartu Oprávnění .

SQL

V poznámkovém bloku nebo editoru dotazů SQL spusťte následující příkaz SQL. U konkrétního objektu zabezpečení můžete zobrazit granty nebo můžete zobrazit všechny granty pro zabezpečitelný objekt.

  SHOW GRANTS [principal] ON  <securable-type> <securable-name>

Například následující příkaz zobrazí všechny granty schématu pojmenovaného výchozí v nadřazeném katalogu s názvem main:

  SHOW GRANTS ON SCHEMA main.default;

Příkaz vrátí:

  principal     actionType     objectType objectKey
  ------------- -------------  ---------- ------------
  finance-team   CREATE TABLE  SCHEMA     main.default
  finance-team   USE SCHEMA    SCHEMA     main.default

Zobrazení mého udělení u objektů v metastoru katalogu Unity

Požadovaná oprávnění: U objektu můžete vždy zobrazit vlastní granty.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na Ikona katalogu Katalog.
  2. Vyberte objekt, například katalog, schéma, tabulku nebo zobrazení.
  3. Přejděte na kartu Oprávnění . Pokud nejste vlastníkem objektu nebo správcem metastoru, můžete u objektu zobrazit pouze své vlastní granty.

SQL

Spuštěním následujícího příkazu SQL v poznámkovém bloku nebo editoru dotazů SQL zobrazte udělení u objektu.

  SHOW GRANTS `<user>@<domain-name>` ON  <securable-type> <securable-name>

Udělení oprávnění k objektům v metastoru katalogu Unity

Požadovaná oprávnění: správce metastoru, vlastník objektu nebo vlastník katalogu nebo schématu, který objekt obsahuje.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na Ikona katalogu Katalog.
  2. Vyberte objekt, například katalog, schéma, tabulku nebo zobrazení.
  3. Přejděte na kartu Oprávnění .
  4. Klikněte na Udělit.
  5. Zadejte e-mailovou adresu uživatele nebo jména skupiny.
  6. Vyberte oprávnění, která chcete udělit.
  7. Klikněte na OK.

SQL

V poznámkovém bloku nebo editoru dotazů SQL spusťte následující příkaz SQL.

  GRANT <privilege-type> ON <securable-type> <securable-name> TO <principal>

Následující příkaz například udělí skupině s názvem finance-team přístup k vytvoření tabulek ve schématu s názvem default s nadřazeným katalogem s názvem main:

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

Všimněte si, že registrované modely jsou typem funkce. Pokud chcete udělit oprávnění k modelu, musíte použít GRANT ON FUNCTION. Pokud například chcete skupině ml-team-acme EXECUTE udělit oprávnění k modelu prod.ml_team.iris_model, použili byste:

  GRANT EXECUTE ON FUNCTION prod.ml_team.iris_model TO `ml-team-acme`;

Odvolání oprávnění k objektům v metastoru katalogu Unity

Požadovaná oprávnění: správce metastoru, vlastník objektu nebo vlastník katalogu nebo schématu, který objekt obsahuje.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na Ikona katalogu Katalog.
  2. Vyberte objekt, například katalog, schéma, tabulku nebo zobrazení.
  3. Přejděte na kartu Oprávnění .
  4. Vyberte oprávnění udělená uživateli, instančnímu objektu nebo skupině.
  5. Klikněte na Tlačítko Odvolat.
  6. Potvrďte to kliknutím na tlačítko Odvolat.

SQL

V poznámkovém bloku nebo editoru dotazů SQL spusťte následující příkaz SQL.

  REVOKE <privilege-type> ON <securable-type> <securable-name> TO <principal>

Následující příkaz například odvolá přístup skupiny s názvem finance-team k vytvoření tabulek ve schématu s názvem default s nadřazeným katalogem s názvem main:

  REVOKE CREATE TABLE ON SCHEMA main.default TO `finance-team`;

Zobrazení grantů na metastoru

Požadovaná oprávnění: Správce metastoru nebo správce účtu. Můžete si také prohlédnout vlastní granty na metastoru.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na Ikona katalogu Katalog.
  2. Vedle popisku stránky Průzkumník katalogu klikněte na ikonu vedle názvu metastoru.
  3. Přejděte na kartu Oprávnění .

SQL

V poznámkovém bloku nebo editoru dotazů SQL spusťte následující příkaz SQL. U konkrétního objektu zabezpečení můžete zobrazit granty nebo můžete zobrazit všechny granty na metastoru.

  SHOW GRANTS [principal] ON METASTORE

Udělení oprávnění k metastoru

Požadovaná oprávnění: Správce metastoru nebo správce účtu.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na Ikona katalogu Katalog.
  2. Vedle popisku stránky Průzkumník katalogu klikněte na ikonu vedle názvu metastoru.
  3. Na kartě Oprávnění klikněte na Udělit.
  4. Zadejte e-mailovou adresu uživatele nebo jména skupiny.
  5. Vyberte oprávnění, která chcete udělit.
  6. Klikněte na OK.

SQL

  1. V poznámkovém bloku nebo editoru dotazů SQL spusťte následující příkaz SQL.

    GRANT <privilege-type> ON METASTORE TO <principal>;
    

    Když udělíte oprávnění k metastoru, nezahrnete název metastoru, protože se předpokládá, že metastor připojený k vašemu pracovnímu prostoru.

Odvolání oprávnění k metastoru

Požadovaná oprávnění: Správce metastoru nebo správce účtu.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na Ikona katalogu Katalog.
  2. Vedle popisku stránky Průzkumník katalogu klikněte na ikonu vedle názvu metastoru.
  3. Na kartě Oprávnění vyberte uživatele nebo skupinu a klikněte na Tlačítko Odvolat.
  4. Potvrďte to kliknutím na tlačítko Odvolat.

SQL

  1. V poznámkovém bloku nebo editoru dotazů SQL spusťte následující příkaz SQL.

    REVOKE <privilege-type> ON METASTORE FROM <principal>;
    

    Když odvoláte oprávnění k metastoru, nezahrnete název metastoru, protože se předpokládá, že metastor připojený k vašemu pracovnímu prostoru.