Bevoegdheden en beveiligbare objecten in de Hive-metastore
Van toepassing op: Databricks SQL 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_nameHiermee bepaalt u de toegang tot de volledige gegevens catalog.
{ SCHEMA | DATABASE }
schema_nameHiermee regelt u de toegang tot een schema.
FUNCTION
function_nameHiermee bepaalt u de toegang tot een benoemde functie.
[ TABLE ]
table_nameHiermee bepaal je de toegang tot een beheerd of extern table.
VIEW
view_nameBeheert 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 vanMODIFY
grantMODIFY
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_metastore
catalog of een schema daarin is, zal het verlenen vanREAD_METADATA
grantREAD_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 select
ANY FILE
. De gebruiker heeftSELECT
nodig in de table, weergave of functie, evenalsUSAGE
op de schema en catalogvan het object.Als het beveiligbare object de
hive_metastore
of een schema daarin is, zal het toekennen vanSELECT
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`;