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 Cataloggebruikt, 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 gegevens catalog.

  • { SCHEMA | DATABASE } schema_name

    Hiermee regelt u de toegang tot een schema.

  • FUNCTION function_name

    Hiermee bepaalt u de toegang tot een benoemde functie.

  • [ TABLE ] table_name

    Hiermee bepaal je de toegang tot een beheerd of extern table.

  • VIEW view_name

    Beheert de toegang tot SQL views.

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 de bevoegdheid verleent of weigert voor alle schema's in de catalog. Op dezelfde manier worden bevoegdheden die zijn verleend voor een schema-object overgenomen door alle objecten in die schema. Dit patroon geldt voor alle beveiligbare objecten.

Als u een gebruikerbevoegdheden voor een tabledeny, kan de gebruiker de table niet zien door alle tables in de schemate list. Als u gebruikersprivileges op een schemadeny, kan de gebruiker niet zien dat de schema bestaat door te proberen alle schema's in de catalogte list.

Typen bevoegdheden

In de volgende table 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 voor het grant of revoke van alle bevoegdheden die van toepassing zijn op het beveiligbare object en de onderliggende objecten zonder deze expliciet op te geven. Dit wordt uitgebreid naar alle beschikbare bevoegdheden op het moment dat machtigingen worden gecontroleerd.

  • CREATE

    Objecten aanmaken binnen catalog of schema.

  • MODIFY

    COPY INTO, UPDATEDELETE, INSERTof MERGE INTO de table.

    Als de securable_object de hive_metastore of een schema erin is, zal het verlenen van MODIFYgrantMODIFY op alle huidige en toekomstige tables en views binnen het beveiligbare object.

  • READ_METADATA

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

    Als het beveiligbare object de hive_metastorecatalog of een schema daarin is, zal het verlenen van READ_METADATAgrantREAD_METADATA op alle huidige en toekomstige tables en views 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 table of weergave, een door de gebruiker gedefinieerde of anonieme functie aanroepen, of selectANY FILE. De gebruiker heeft SELECT nodig in de table, weergave of functie, evenals USAGE op de schema en catalogvan het object.

    Als het beveiligbare object de hive_metastore of een schema daarin is, zal het toekennen van SELECT ervoor zorgen dat grantSELECT op alle huidige en toekomstige tables en views binnen het beveiligbare object van toepassing is.

  • USAGE

    Vereist, maar niet voldoende om naar objecten in een catalog of schemate 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`;