Delen via


Bevoegdheden en beveiligbare objecten in de Hive-metastore

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Een bevoegdheid is een recht dat aan een principal wordt verleend om te werken op een beveiligbaar object in de metastore.

Het bevoegdheidsmodel en beveiligbare objecten verschillen, afhankelijk van of u een Unity Catalog-metastore of de verouderde Hive-metastore gebruikt. In dit artikel wordt het bevoegdheidsmodel voor de verouderde Hive-metastore beschreven. Als u Unity Catalog gebruikt, raadpleegt u Bevoegdheden en beveiligbare objecten in Unity Catalog.

Beveiligbare objecten in de Hive-metastore

Een beveiligbaar object is een object dat is gedefinieerd in de metastore waarop bevoegdheden kunnen worden verleend aan een principal.

Als u bevoegdheden voor een object wilt beheren, moet u de eigenaar of beheerder zijn.

Syntaxis

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

Parameters

  • ANY FILE

    Hiermee bepaalt u de toegang tot het onderliggende bestandssysteem.

  • CATALOG catalog_name

    Hiermee bepaalt u de toegang tot de volledige gegevenscatalogus.

  • { SCHEMA | DATABASE } schema_name

    Hiermee beheert u de toegang tot een schema.

  • FUNCTION function_name

    Hiermee bepaalt u de toegang tot een benoemde functie.

  • [ TABLE ] table_name

    Hiermee bepaalt u de toegang tot een beheerde of externe tabel.

  • VIEW view_name

    Hiermee beheert u de toegang tot SQL-weergaven.

Overnamemodel

Beveiligbare objecten in de Hive-metastore zijn hiƫrarchisch en bevoegdheden worden naar beneden overgenomen. Dit betekent dat het verlenen of weigeren van een bevoegdheid op de CATALOG automatisch verleent of weigert de bevoegdheid voor alle schema's in de catalogus. Op dezelfde manier worden bevoegdheden die zijn verleend voor een schemaobject overgenomen door alle objecten in dat schema. Dit patroon geldt voor alle beveiligbare objecten.

Als u een gebruiker privileges op een tabel ontzegt, kan de gebruiker de tabel niet zien door te proberen alle tabellen in het schema weer te geven. Als u een gebruiker privileges op een schema weigert, kan de gebruiker niet zien dat het schema bestaat door te proberen alle schema's in de catalogus op te sommen.

Typen bevoegdheden

In de volgende tabel ziet u welke bevoegdheden zijn gekoppeld aan welke beveiligbare objecten.

Type bevoegdheid ANONIEME FUNCTIE ELK BESTAND CATALOG SCHEMA FUNCTIE TABLE WEERGAVE
CREATE Ja Ja
MODIFICEREN Ja Ja Ja Ja
READ_METADATA Ja Ja Ja Ja
SELECT Ja Ja Ja Ja Ja Ja Ja
GEBRUIK Ja Ja
  • ALL PRIVILEGES

    Wordt gebruikt om alle bevoegdheden toe te kennen of in te trekken die van toepassing zijn op de beveiligde en gerelateerde objecten zonder deze expliciet op te geven. Dit wordt uitgebreid naar alle beschikbare bevoegdheden op het moment dat machtigingen worden gecontroleerd.

  • CREATE

    Objecten maken in de catalogus of het schema.

  • MODIFY

    COPY INTO, UPDATEVERWIJDER, INSERTof MERGE INTO de tabel.

    Als het beveiligbare object het hive_metastore is of een schema daarin, verleent het toekennen van MODIFY daarmee ook MODIFY aan zowel huidige als toekomstige tabellen en weergaven binnen het beveiligbare object.

  • READ_METADATA

    Ontdek het beveiligbare object in SHOW en onderschrijf het object in DESCRIBE

    Als het beveiligbare object de hive_metastore catalogus of een schema hierin is, verleent READ_METADATAREAD_METADATA aan alle huidige en toekomstige tabellen en weergaven binnen het beveiligbare object.

  • READ FILES

    Query's uitvoeren op bestanden rechtstreeks met behulp van de opslagreferentie of externe locatie.

  • SELECT

    Een query uitvoeren op een tabel of weergave, een door de gebruiker gedefinieerde of anonieme functie aanroepen of ANY FILEselecteren. De gebruiker heeft SELECT nodig voor de tabel, weergave of functie, evenals USAGE in het schema en de catalogus van het object.

    Als het beveiligbare object de hive_metastore of een schema hierin is, verleent SELECTSELECT aan alle huidige en toekomstige tabellen en weergaven binnen het beveiligbare object.

  • USAGE

    Vereist, maar niet voldoende om naar objecten in een catalogus of schema te verwijzen. De principal moet ook bevoegdheden hebben voor de afzonderlijke beveiligbare objecten.

  • WRITE FILES

    Rechtstreeks COPY INTO bestanden die worden beheerd door de opslagreferenties of externe locatie.

Voorbeelden

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