Hantera behörigheter i Unity Catalog

Den här sidan beskriver hur du beviljar, återkallar och inspekterar behörigheter för skyddsbara objekt i Unity Catalog och hur du hanterar objektägarskap. Konceptuell bakgrund om behörighetsmodellen, arv av privilegier och ägarskap finns i Begrepp för enhetskatalogens behörighetsmodell.

Vem kan hantera privilegier?

Inledningsvis har användarna ingen åtkomst till data i ett metaarkiv. Azure Databricks-kontoadministratörer, arbetsyteadministratörer och metaarkivadministratörer har standardbehörighet för att hantera Unity Catalog. Se administratörsbehörigheter i Unity Catalog.

Alla skyddsbara objekt i Unity Catalog har en ägare. Objektägare har alla behörigheter på objektet, inklusive möjligheten att bevilja behörigheter till andra användare. Ägare kan ge andra användare MANAGE behörighet för objektet, vilket gör det möjligt för användare att hantera behörigheter för objektet. Se Hantera objektägarskap.

Behörigheter kan beviljas av något av följande:

  • Objektets ägare.
  • Ägaren till katalogen eller schemat som innehåller objektet.
  • En användare med MANAGE behörighet för objektet.
  • En metaarkivadministratör.

Kontoadministratörer kan också bevilja behörigheter direkt i ett metaarkiv.

katalogbehörigheter för arbetsyta

Om din arbetsyta aktiverades automatiskt för Unity Catalog kopplas arbetsytan till ett metaarkiv som standard och en arbetsytekatalog skapas för arbetsytan i metaarkivet. Arbetsyteadministratörer är standardägare för arbetsytekatalogen. Som ägare kan de hantera behörigheter i arbetsytekatalogen och alla underordnade objekt.

Alla arbetsyteanvändare får USE CATALOG behörighet i arbetsytekatalogen. Arbetsyteanvändare får också behörigheterna USE SCHEMA, CREATE TABLE, CREATE VOLUME, CREATE MODEL, CREATE FUNCTIONoch CREATE MATERIALIZED VIEW för schemat default i katalogen.

Mer information finns i Komma igång med Unity Catalog.

Visa, bevilja och återkalla behörigheter

Du kan hantera behörigheter för metaarkivobjekt med hjälp av SQL-kommandon, Databricks CLI, Databricks Terraform-providerneller Katalogutforskaren.

I SQL-kommandona som följer ersätter du dessa platshållarvärden:

  • <privilege-type> är en behörighetstyp för Unity Catalog. Se Behörighetstyper.
  • <securable-type>: Typen av skyddsbart objekt, till exempel CATALOG eller TABLE. Se Skyddsbara objekt
  • <securable-name>: Namnet på säkerhetsobjektet. Om den skyddsbara typen är METASTORE, ska du inte ange namnet på det skyddbara objektet. Det antas vara metaarkivet som är kopplat till arbetsytan.
  • <principal> är en användare, tjänstens huvudnamn (representeras av dess applicationId-värde) eller grupp. Du måste omsluta användare, tjänstens huvudnamn och gruppnamn som innehåller specialtecken i backticks (` `). Se Huvudnamn.

Visa bidrag för ett objekt

Anmärkning

För närvarande kan användare med MANAGE-behörighet på ett objekt inte visa alla behörigheter för det objektet i INFORMATION_SCHEMA. I stället visar INFORMATION_SCHEMA endast sina egna bidrag för objektet. Det här beteendet kommer att korrigeras i framtiden.

Användare med MANAGE behörighet kan visa alla bidrag för ett objekt med hjälp av SQL-kommandon eller Katalogutforskaren. Se Hantera privilegier i Unity Catalog.

Behörigheter som krävs:

  • Metaarkivadministratörer, användare med MANAGE behörighet för objektet, objektets ägare eller ägaren av katalogen eller schemat som innehåller objektet kan se alla bidrag för objektet.
  • Om du inte har ovanstående behörigheter kan du bara visa dina egna rättigheter på objektet.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.
  2. Välj objektet, till exempel en katalog, ett schema, en tabell eller en vy.
  3. Gå till fliken Behörigheter .

SQL

Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare. Du kan visa bidrag för ett specifikt huvudnamn, eller så kan du visa alla bidrag för ett skyddsbart objekt.

  SHOW GRANTS [principal] ON  <securable-type> <securable-name>

Följande kommando visar till exempel alla tilldelningar i ett schema med namnet standard i den överordnade katalogen med namnet huvud:

  SHOW GRANTS ON SCHEMA main.default;

Kommandot returnerar:

  principal     actionType     objectType objectKey
  ------------- -------------  ---------- ------------
  finance-team   CREATE TABLE  SCHEMA     main.default
  finance-team   USE SCHEMA    SCHEMA     main.default

Visa mina bidrag för ett objekt

Behörigheter som krävs: Du kan alltid visa dina egna tilldelningar för ett objekt.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.
  2. Välj objektet, till exempel en katalog, ett schema, en tabell eller en vy.
  3. Gå till fliken Behörigheter . Om du inte är objektägare eller metaarkivadministratör kan du bara visa dina egna bidrag för objektet.

SQL

Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare för att visa dina bidrag för ett objekt.

  SHOW GRANTS `<user>@<domain-name>` ON  <securable-type> <securable-name>

Bevilja behörigheter för ett objekt

behörigheter som krävs: metaarkivadministratör, MANAGE behörighet för objektet, ägaren av objektet eller ägaren av katalogen eller schemat som innehåller objektet.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.
  2. Välj objektet, till exempel en katalog, ett schema, en tabell eller en vy.
  3. Gå till fliken Behörigheter .
  4. Klicka på Bevilja.
  5. Ange e-postadressen för en användare eller namnet på en grupp.
  6. Välj de behörigheter som ska beviljas.
  7. Klicka på OK.

SQL

Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare.

  GRANT <privilege-type> ON <securable-type> <securable-name> TO <principal>

Följande kommando ger till exempel en grupp med namnet ekonomiteam åtkomst för att skapa tabeller i ett schema med namnet standard med den överordnade katalogen med namnet main:

  GRANT CREATE TABLE ON SCHEMA main.default TO `finance-team`;
  GRANT USE SCHEMA ON SCHEMA main.default TO `finance-team`;
  GRANT USE CATALOG ON CATALOG main TO `finance-team`;

Observera att registrerade modeller är en typ av funktion. Om du vill bevilja en behörighet för en modell måste du använda GRANT ON FUNCTION. Om du till exempel vill ge gruppen ml-team-acmeEXECUTE behörigheten för modellen prod.ml_team.iris_modelanvänder du:

  GRANT EXECUTE ON FUNCTION prod.ml_team.iris_model TO `ml-team-acme`;

Återkalla behörigheter för ett objekt

behörigheter som krävs: metaarkivadministratör, MANAGE behörighet för objektet, ägaren av objektet eller ägaren av katalogen eller schemat som innehåller objektet.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.
  2. Välj objektet, till exempel en katalog, ett schema, en tabell eller en vy.
  3. Gå till fliken Behörigheter .
  4. Välj en behörighet som har beviljats en användare, ett tjänstens huvudkonto eller en grupp.
  5. Klicka på Återkalla.
  6. Bekräfta genom att klicka på Återkalla.

SQL

Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare.

  REVOKE <privilege-type> ON <securable-type> <securable-name> FROM <principal>

Följande kommando återkallar till exempel en grupp med namnet ekonomiteam åtkomst för att skapa tabeller i ett schema med namnet standard med den överordnade katalogen med namnet main:

  REVOKE CREATE TABLE ON SCHEMA main.default FROM `finance-team`;

En REVOKE förklaring lyckas även om de angivna behörigheterna inte beviljades i början. Det säkerställer att behörigheterna inte är närvarande, oavsett deras tidigare tillstånd.

Visa bidrag i ett metaarkiv

Behörigheter som krävs: Metaarkivadministratör eller kontoadministratör. Du kan också visa dina egna bidrag i ett metaarkiv.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.
  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen. kugghjulsikonen och väljer Metaarkiv.
  3. Klicka på fliken Behörigheter .

SQL

Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare. Du kan visa bidrag för ett specifikt huvudnamn eller visa alla bidrag i ett metaarkiv.

  SHOW GRANTS [principal] ON METASTORE

Bevilja behörigheter för ett metaarkiv

Behörigheter som krävs: Metaarkivadministratör eller kontoadministratör.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.
  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen. kugghjulsikonen och väljer Metaarkiv.
  3. På fliken Behörigheter klickar du på Bevilja.
  4. Ange e-postadressen för en användare eller namnet på en grupp.
  5. Välj de behörigheter som ska beviljas.
  6. Klicka på OK.

SQL

  1. Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare.

    GRANT <privilege-type> ON METASTORE TO <principal>;
    

    När du beviljar behörigheter på ett metaarkiv, inkluderas inte metaarkivets namn, eftersom det metaarkiv som är kopplat till din arbetsyta antas automatiskt.

Återkalla behörigheter för ett metaarkiv

Behörigheter som krävs: Metaarkivadministratör eller kontoadministratör.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.
  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen. kugghjulsikonen och väljer Metaarkiv.
  3. På fliken Behörigheter väljer du en användare eller grupp och klickar på Återkalla.
  4. Bekräfta genom att klicka på Återkalla.

SQL

  1. Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare.

    REVOKE <privilege-type> ON METASTORE FROM <principal>;
    

    När du återkallar behörigheter för ett metaarkiv inkluderar du inte metaarkivets namn eftersom metaarkivet som är kopplat till arbetsytan antas.

Hantera objektägarskap

Visa ett objekts ägare

Du kan använda Catalog Explorer - eller SQL-instruktioner för att visa ett objekts ägare.

Behörigheter som krävs: Alla användare med BROWSE behörighet för objektet eller en överordnad till objektet kan visa objektets ägare.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.

  2. Välj objektet, till exempel en katalog, ett schema, en tabell, en vy, en volym, en extern plats eller lagringsautentiseringsuppgifter.

    Hur du navigerar till objektet beror på objektet. Kataloger, scheman och innehållet i scheman (till exempel tabeller och volymer) kan väljas i det vänstra fönstret Katalog. Du hittar andra objekt, till exempel externa platser eller Delta Sharing-delningar, genom att klicka på kugghjulsikonen. ovanför fönstret Katalog och välja objektkategori från menyn.

    För de flesta objekt visas ägaren på fliken Översikt på objektinformationssidan. För vissa objekt, till exempel externa platser, visas det överst på objektinformationssidan.

SQL

Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare. Ersätt platshållarvärdena:

  • <securable-type>: Typ av säkerhetsobjekt, till exempel CATALOG eller TABLE.
  • <catalog>: Den överordnade katalogen där du visar ett schema eller innehållet i ett schema.
  • <schema>: Det överordnade schemat om du visar innehållet i ett schema, till exempel en tabell eller vy.
  • <securable-name>: Namnet på det skyddsbara objektet.
DESCRIBE <securable-type> EXTENDED <catalog>.<schema>.<securable-name>;

Överför projektägarskap

Du kan använda Catalog Explorer - eller SQL-instruktioner för att överföra ett objekts ägare.

Behörigheter som krävs: Du kan överföra objektägarskapet om du är den aktuella ägaren, en metaarkivadministratör, containerns ägare (katalogen för ett schema, schemat för en tabell) eller en användare med MANAGE behörighet för objektet. Deltadelningsresursobjekt är ett undantag: endast en metaarkivadministratör kan överföra ägarskapet för resursen.

För att förhindra behörighetseskaleringar kan endast en metaarkivadministratör överföra ägarskapet för en vy, funktion eller modell till alla användare, tjänstens huvudnamn eller grupper i kontot. Aktuella ägare och användare med MANAGE behörighet är begränsade till att överföra ägarskapet till sitt användarnamn eller till en grupp som de är medlemmar i.

Tips/Råd

Överföring av ägarskapet för en vy eller måttvy till en grupp möjliggör samarbetsredigering. När en grupp äger en vy eller måttvy kan alla gruppmedlemmar redigera dess definition medan dataåtkomsten fortfarande är begränsad till vad gruppen har behörighet att se. Detaljerad vägledning finns i Aktivera samarbetsredigering.

Anmärkning

Materialiserade vyer och strömmande tabeller som skapats med Databricks SQL kan överföra ägarskapet. Mer information finns i Ändra ägare till en materialiserad vy och Ändra ägare till en strömmande tabell.

Materialiserade vyer och strömmande tabeller som skapats med Lakeflow Spark Deklarativa Pipelines kan inte överföra ägarskap direkt. Ändra i stället den kör som-användare av pipelinen som äger datauppsättningarna. Vid nästa uppdatering kommer ägaren att uppdateras till kör-som användare. Se Ange användare att köra som.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.

  2. Välj objektet, till exempel en katalog, ett schema, en tabell, en vy, en extern plats eller lagringsautentiseringsuppgifter.

    Hur du navigerar till objektet beror på objektet. Kataloger, scheman och innehållet i scheman (till exempel tabeller och volymer) kan väljas i det vänstra fönstret Katalog. Du hittar andra objekt, till exempel externa platser eller Delta Sharing-delningar, genom att klicka på kugghjulsikonen. ovanför fönstret Katalog och välja objektkategori från menyn.

    För de flesta objekt visas ägaren på fliken Översikt på objektinformationssidan. För vissa objekt, till exempel externa platser, visas det överst på objektinformationssidan.

  3. Klicka på redigeringsikonen Edit icon bredvid Ägaren.

  4. Sök efter och välj en grupp, användare eller tjänstens huvudnamn.

  5. Klicka på Spara.

SQL

Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare. Ersätt platshållarvärdena:

  • <securable-type>: Typen av skyddsbart objekt, till exempel CATALOG eller TABLE. METASTORE stöds inte som ett skyddsbart objekt i det här kommandot.
  • <securable-name>: Namnet på säkerhetsobjektet. Om du ändrar ett schema eller innehållet i ett schema måste du använda det fullständiga namnområdet på tre nivåer (catalog.schema.object), såvida du inte redan har angett den överordnade katalogen och/eller schemat.
  • <principal> är en användare, tjänstens huvudnamn (representeras av dess applicationId-värde) eller grupp. Du måste omsluta användare, tjänstens huvudnamn och gruppnamn som innehåller specialtecken i backticks (` `). Se Huvudnamn.
ALTER <securable-type> <securable-name> OWNER TO <principal>;

Om du till exempel vill överföra ägarskapet för tabellen orders till gruppen accounting:

ALTER TABLE mycatalog.myschema.orders OWNER TO `accounting`;