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 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_nameHiermee bepaalt u de toegang tot de volledige gegevenscatalogus.
{ SCHEMA | DATABASE }
schema_nameHiermee beheert u de toegang tot een schema.
FUNCTION
function_nameHiermee bepaalt u de toegang tot een benoemde functie.
[ TABLE ]
table_nameHiermee bepaalt u de toegang tot een beheerde of externe tabel.
VIEW
view_nameHiermee 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 vanMODIFY
daarmee ookMODIFY
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, verleentREAD_METADATA
READ_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 FILE
selecteren. De gebruiker heeftSELECT
nodig voor de tabel, weergave of functie, evenalsUSAGE
in het schema en de catalogus van het object.Als het beveiligbare object de
hive_metastore
of een schema hierin is, verleentSELECT
SELECT
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`;