Oprávnění a zabezpečitelné objekty v metastoru Hive
Platí pro: , kontrola Databricks SQL 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ů.
CATALOG
catalog_nameŘídí přístup k celému katalogu dat.
{ SCHEMA | DATABASE }
Schema_nameŘídí přístup ke schématu.
FUNCTION
function_nameŘídí přístup k pojmenované funkci.
[ TABLE ]
Table_nameŘídí přístup ke spravované nebo externí tabulce.
VIEW
view_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
uMODIFY
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
uREAD_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řebujeSELECT
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
uSELECT
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`;