Bevoegdheden en beveiligbare objecten in de Hive-metastore
Van toepassing op: Databricks Databricks Runtime
Een bevoegdheid is een recht dat wordt verleend aan een principal om te werken op een beveiligbaar object in de metastore.
Het bevoegdhedenmodel 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 waarvoor 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 beheert u de toegang tot het onderliggende bestandssysteem.
CATALOG
catalog_nameHiermee beheert u de toegang tot de volledige gegevenscatalogus.
{ SCHEMA | DATABASE }
schema_nameHiermee beheert u de toegang tot een schema.
FUNCTION
function_nameHiermee beheert u de toegang tot een benoemde functie.
[ TABLE ]
Table_nameHiermee beheert 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 de bevoegdheid verleent of weigert aan alle schema's in de catalogus. Op dezelfde manier worden bevoegdheden voor een schemaobject overgenomen door alle objecten in dat schema. Dit patroon geldt voor alle beveiligbare objecten.
Als u gebruikersbevoegdheden voor een tabel weigert, kan de gebruiker de tabel niet zien door te proberen alle tabellen in het schema weer te geven. Als u gebruikersbevoegdheden voor een schema weigert, kan de gebruiker niet zien dat het schema bestaat door alle schema's in de catalogus weer te geven.
Machtigingstypen
In de volgende tabel ziet u welke bevoegdheden zijn gekoppeld aan welke beveiligbare objecten.
Bevoegdheidstype | ANONIEME FUNCTIE | ELK BESTAND | CATALOGUS | SCHEMA | FUNCTIE | TABEL | BEKIJKEN | |
---|---|---|---|---|---|---|---|---|
MAKEN | Ja | Ja | ||||||
WIJZIGEN | Ja | Ja | Ja | Ja | ||||
READ_METADATA | Ja | Ja | Ja | Ja | ||||
SELECTEER | 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 beveiligbare 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
Maak objecten in de catalogus of het schema.
MODIFY
COPY INTO, DELETE BIJWERKEN, INVOEGEN of SAMENVOEGEN IN de tabel.
Als de securable_object de
hive_metastore
of een schema daarin is, wordt toekenningMODIFY
verleendMODIFY
voor alle huidige en toekomstige tabellen en weergaven binnen het beveiligbare object.READ_METADATA
Het beveiligbare object detecteren in SHOW en het object ondervragen in DESCRIBE
Als het beveiligbare object de
hive_metastore
catalogus of een schema daarin is,READ_METADATA
worden alle huidige en toekomstige tabellen en weergaven binnen het beveiligbare object verleendREAD_METADATA
.READ FILES
Query's uitvoeren op bestanden rechtstreeks met behulp van de opslagreferentie of externe locatie.
SELECT
Voer een query uit voor een tabel of weergave, roep een door de gebruiker gedefinieerde of anonieme functie aan of selecteer
ANY FILE
. De gebruiker moetSELECT
beschikken over de tabel, weergave of functie, evenalsUSAGE
over het schema en de catalogus van het object.Als het beveiligbare object de
hive_metastore
of een schema daarin is,SELECT
worden alle huidige en toekomstige tabellen en weergaven binnen het beveiligbare object verleendSELECT
.USAGE
Vereist, maar niet voldoende om te verwijzen naar objecten in een catalogus of schema. De principal moet ook bevoegdheden hebben voor de afzonderlijke beveiligbare objecten.
WRITE FILES
Kopieer rechtstreeks NAAR bestanden die worden beheerd door de opslagreferentie 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`;