Privilegier och skyddsbara objekt i Hive-metaarkivet

Gäller för:check markerad ja Databricks SQL-kontroll markerad ja Databricks Runtime

En behörighet är en rättighet som beviljas ett huvudnamn att arbeta med ett skyddsbart objekt i metaarkivet.

Behörighetsmodellen och skyddsbara objekt varierar beroende på om du använder ett Unity Catalog-metaarkiv eller det äldre Hive-metaarkivet. Den här artikeln beskriver privilegiemodellen för det äldre Hive-metaarkivet. Om du använder Unity Catalog läser du Behörigheter och skyddsbara objekt i Unity Catalog.

Skyddsbara objekt i Hive-metaarkivet

Ett skyddsbart objekt är ett objekt som definierats i metaarkivet där behörigheter kan beviljas till ett huvudnamn.

Om du vill hantera behörigheter för alla objekt måste du vara dess ägare eller administratör.

Syntax

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

Parametrar

  • ANY FILE

    Styr åtkomsten till det underliggande filsystemet.

  • CATALOGcatalog_name

    Styr åtkomsten till hela datakatalogen.

  • { SCHEMA | DATABASE }schema_name

    Styr åtkomsten till ett schema.

  • FUNCTIONfunction_name

    Styr åtkomsten till en namngiven funktion.

  • [ TABLE ]Table_name

    Styr åtkomsten till en hanterad eller extern tabell.

  • VIEWview_name

    Styr åtkomsten till SQL-vyer.

Arvsmodell

Skyddsbara objekt i Hive-metaarkivet är hierarkiska och privilegier ärvs nedåt. Det innebär att bevilja eller neka en behörighet för CATALOG automatiskt beviljar eller nekar behörigheten till alla scheman i katalogen. På samma sätt ärvs behörigheter som beviljas för ett schemaobjekt av alla objekt i schemat. Det här mönstret gäller för alla skyddsbara objekt.

Om du nekar en användarbehörighet i en tabell kan användaren inte se tabellen genom att försöka lista alla tabeller i schemat. Om du nekar en användare behörighet i ett schema kan användaren inte se att schemat finns genom att försöka lista alla scheman i katalogen.

Behörighetstyper

I följande tabell visas vilka behörigheter som är associerade med vilka skyddsbara objekt.

Behörighetstyp ANONYM FUNKTION VALFRI FIL KATALOG SCHEMAT FUNKTION TABELL VISA
SKAPA Ja Ja
ÄNDRA Ja Ja Ja Ja
READ_METADATA Ja Ja Ja Ja
VÄLJ Ja Ja Ja Ja Ja Ja Ja
ANVÄNDNING Ja Ja
  • ALL PRIVILEGES

    Används för att bevilja eller återkalla alla behörigheter som gäller för skyddsbara objekt och dess underordnade objekt utan att uttryckligen ange dem. Detta utökar till alla tillgängliga behörigheter när behörighetskontroller görs.

  • CREATE

    Skapa objekt i katalogen eller schemat.

  • MODIFY

    KOPIERA TILL, UPPDATERATA BORT, INFOGA ELLER SAMMANFOGA TILL tabellen.

    Om securable_object är eller ett hive_metastore schema inom det, beviljar MODIFYMODIFY beviljandet för alla aktuella och framtida tabeller och vyer i det skyddsbara objektet.

  • READ_METADATA

    Identifiera det skyddsbara objektet i SHOW och förhör objektet i DESCRIBE

    Om det skyddsbara objektet är hive_metastore katalogen eller ett schema inom den beviljar READ_METADATAREAD_METADATA beviljandet för alla aktuella och framtida tabeller och vyer i det skyddsbara objektet.

  • READ FILES

    Fråga filer direkt med lagringsautentiseringsuppgifterna eller den externa platsen.

  • SELECT

    Fråga en tabell eller vy, anropa en användardefinierad eller anonym funktion eller välj ANY FILE. Användaren behöver SELECT i tabellen, vyn eller funktionen samt USAGE i objektets schema och katalog.

    Om det skyddsbara objektet är hive_metastore eller ett schema inom det beviljar SELECTSELECT beviljandet för alla aktuella och framtida tabeller och vyer i det skyddsbara objektet.

  • USAGE

    Krävs, men inte tillräckligt för att referera till några objekt i en katalog eller ett schema. Huvudkontot måste också ha behörighet för de enskilda skyddsbara objekten.

  • WRITE FILES

    Kopiera direkt TILL filer som styrs av lagringsautentiseringsuppgifterna eller den externa platsen.

Exempel

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