Oprávnění a zabezpečitelné objekty v metastoru Hive

Platí pro:zaškrtnutá možnost Ano , kontrola Databricks SQL označená ano Databricks Runtime

Oprávnění je právo udělené objektu zabezpečení k provozu se zabezpečitelným objektem v metastoru.

Model oprávnění a zabezpečitelné objekty se liší v závislosti na tom, jestli používáte metastore katalogu Unity, nebo starší metastore Hive. Tento článek popisuje model oprávnění pro starší verzi metastoru Hive. Pokud používáte katalog Unity, přečtěte si téma Oprávnění a zabezpečitelné objekty v katalogu Unity.

Zabezpečitelné objekty v metastoru Hive

Zabezpečitelný objekt je objekt definovaný v metastoru, ke kterému lze objektu zabezpečení udělit oprávnění.

Pokud chcete spravovat oprávnění k libovolnému objektu, musíte být jeho vlastníkem nebo správcem.

Syntaxe

  securable_object
    { ANY FILE |
      CATALOG [ catalog_name ] |
      { SCHEMA | DATABASE } schema_name |
      FUNCTION function_name |
      [ TABLE ] table_name |
      VIEW view_name
      }

Parametry

  • ANY FILE

    Řídí přístup k podkladovému systému souborů.

  • CATALOGcatalog_name

    Řídí přístup k celému katalogu dat.

  • { SCHEMA | DATABASE }Schema_name

    Řídí přístup ke schématu.

  • FUNCTIONfunction_name

    Řídí přístup k pojmenované funkci.

  • [ TABLE ]Table_name

    Řídí přístup ke spravované nebo externí tabulce.

  • VIEWview_name

    Řídí přístup k zobrazením SQL.

Model dědičnosti

Zabezpečitelné objekty v metastoru Hive jsou hierarchické a oprávnění se dědí dolů. To znamená, že udělení nebo odepření oprávnění pro CATALOG automaticky udělí nebo odepře oprávnění všem schématům v katalogu. Podobně oprávnění udělená objektu schématu dědí všechny objekty v daném schématu. Tento vzor platí pro všechny zabezpečitelné objekty.

Pokud uživateli odepřete oprávnění k tabulce, uživatel neuvidí tabulku tím, že se pokusí vypsat všechny tabulky ve schématu. Pokud odepřete oprávnění uživatele ke schématu, uživatel neuvidí, že schéma existuje, a pokusí se vypsat všechna schémata v katalogu.

Typy oprávnění

Následující tabulka ukazuje, která oprávnění jsou přidružena ke kterým zabezpečitelným objektům.

Typ oprávnění ANONYMNÍ FUNKCE LIBOVOLNÝ SOUBOR KATALOGU SCHÉMATU FUNKCE TABULKA PROHLÉDNI
VYTVOŘIT Ano Ano
UPRAVIT Ano Ano Ano Ano
READ_METADATA Ano Ano Ano Ano
VYBERTE Ano Ano Ano Ano Ano Ano Ano
POUŽITÍ Ano Ano
  • ALL PRIVILEGES

    Používá se k udělení nebo odvolání všech oprávnění platných pro zabezpečitelné a jeho podřízené objekty bez jejich explicitního zadání. Tím se rozbalí všechna dostupná oprávnění v době, kdy se provádějí kontroly oprávnění.

  • CREATE

    Vytvořte objekty v katalogu nebo schématu.

  • MODIFY

    KOPÍROVAT DO, AKTUALIZOVATODSTRANIT, VLOŽIT nebo SLOUČIT DO tabulky.

    Pokud je hive_metastore securable_object nebo schéma v rámci něj, udělí se udělení MODIFY u MODIFY všech aktuálních a budoucích tabulek a zobrazení v rámci zabezpečitelného objektu.

  • READ_METADATA

    Zjistěte zabezpečitelný objekt v show a vyslýcháte ho v DESCRIBE.

    Pokud je zabezpečitelným objektem hive_metastore katalog nebo schéma v něm, udělí se udělení READ_METADATA u READ_METADATA všech aktuálních a budoucích tabulek a zobrazení v rámci zabezpečitelného objektu.

  • READ FILES

    Dotazujte se na soubory přímo pomocí přihlašovacích údajů úložiště nebo externího umístění.

  • SELECT

    Dotaz na tabulku nebo zobrazení, vyvolání uživatelem definované nebo anonymní funkce nebo výběr možnosti ANY FILE. Uživatel potřebuje SELECT tabulku, zobrazení nebo funkci a také USAGE schéma a katalog objektu.

    Je-li zabezpečitelným objektem hive_metastore nebo schéma v něm, udělí se udělení SELECT u SELECT všech aktuálních a budoucích tabulek a zobrazení v rámci zabezpečitelného objektu.

  • USAGE

    Povinné, ale není dostatečné k odkazování na objekty v katalogu nebo schématu. Objekt zabezpečení musí mít také oprávnění k jednotlivým zabezpečitelným objektům.

  • WRITE FILES

    Přímo soubory COPY INTO , které se řídí přihlašovacími údaji úložiště nebo externím umístěním.

Příklady

-- Grant a privilege to the user alf@melmak.et
> GRANT SELECT ON TABLE t TO `alf@melmak.et`;

-- Revoke a privilege from the general public group.
> REVOKE USAGE ON SCHEMA some_schema FROM `alf@melmak.et`;