Sdílet prostřednictvím


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

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Oprávnění je právo udělené objektu zabezpečení pro provoz na zabezpečitelném objektu v metastoru.

Model oprávnění a objekty k zabezpečení se liší podle toho, zda používáte metastore Unity Catalog nebo starší metastore Hive. Tento článek popisuje model oprávnění pro starší metastore Hive. Pokud používáte katalog Unity, viz Oprávnění a zabezpečené objekty vkatalogu Unity.

Zabezpečitelné objekty v metastoru Hive

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

Pokud chcete spravovat oprávnění pro libovolný objekt, 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 základní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í směrem dolů. To znamená, že udělení nebo zamítnutí oprávnění pro CATALOG automaticky udělí nebo odepře oprávnění všem schématům v katalogu. Podobně jsou oprávnění udělená objektem schématu zděděna všemi 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 nemůže zobrazit tabulku tím, že se pokusí zobrazit seznam všech tabulek ve schématu. Pokud uživateli odepřete oprávnění ke schématu, uživatel neuvidí, že schéma existuje, když se pokusí vypsat všechna schémata v katalogu.

Typy oprávnění

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

Typ oprávnění ANONYMNÍ FUNKCE LIBOVOLNÝ SOUBOR CATALOG SCHEMA FUNCTION TABLE ZOBRAZIT
CREATE Ano Ano
UPRAVIT Ano Ano Ano Ano
READ_METADATA Ano Ano Ano Ano
SELECT Ano Ano Ano Ano Ano Ano Ano
VYUŽITÍ Ano Ano
  • ALL PRIVILEGES

    Slouží k udělení nebo odvolání všech oprávnění platných pro zabezpečitelný objekt a jeho podřízené objekty bez explicitního zadání. Tím se rozšíří na všechna dostupná oprávnění v době kontroly oprávnění.

  • CREATE

    Vytvořte objekty v katalogu nebo schématu.

  • MODIFY

    COPY INTO, UPDATEDELETE, INSERTnebo MERGE INTO tabulky.

    Pokud je "securable_object" hive_metastore nebo obsahuje schéma, udělení MODIFY zajistí, že MODIFY bude uděleno všem současným a budoucím tabulkám a zobrazením v rámci zabezpečitelného objektu.

  • READ_METADATA

    Objevte zabezpečitelný objekt v show a interrogate objekt v DESCRIBE

    Pokud je zabezpečitelným objektem katalog hive_metastore nebo schéma v něm, udělení READ_METADATA udělí READ_METADATA pro všechny aktuální a budoucí tabulky 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

    Dotazování na tabulku nebo zobrazení, vyvolání uživatelem definované nebo anonymní funkce nebo výběr ANY FILE. Uživatel potřebuje SELECT v tabulce, zobrazení nebo funkci a také USAGE ve schématu a katalogu objektu.

    Pokud je zabezpečitelným objektem hive_metastore nebo schéma v něm, udělení SELECT udělí SELECT všem aktuálním a budoucím tabulkám a zobrazením v rámci zabezpečitelného objektu.

  • USAGE

    Povinné, ale nestačí odkazovat na žádné 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

    Soubory COPY INTO, které se přímo ří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`;