Hantera identiteter, behörigheter och behörigheter för Databricks-jobb
Den här artikeln innehåller rekommendationer och instruktioner för hantering av identiteter, behörigheter och behörigheter för Databricks-jobb.
Kommentar
Hemligheter redigeras inte från ett klusters Spark-drivrutinslogg stdout
och stderr
-strömmar. För att skydda känsliga data kan Spark-drivrutinsloggar som standard endast visas av användare med CAN MANAGE-behörighet för jobb, åtkomstläge för en användare och kluster för delat åtkomstläge. Om du vill tillåta användare med behörigheten CAN ATTACH TO eller CAN RESTART att visa loggarna i dessa kluster anger du följande Spark-konfigurationsegenskap i klusterkonfigurationen: spark.databricks.acl.needAdminPermissionToViewLogs false
.
På kluster för delat åtkomstläge utan isolering kan Spark-drivrutinsloggarna visas av användare med behörigheten KAN KOPPLA TILL eller KAN HANTERA. Om du vill begränsa vem som kan läsa loggarna till endast användare med behörigheten CAN MANAGE anger du spark.databricks.acl.needAdminPermissionToViewLogs
till true
.
Se Spark-konfiguration för att lära dig hur du lägger till Spark-egenskaper i en klusterkonfiguration.
Standardbehörigheter för jobb
Jobb har följande behörigheter inställda som standard:
- Skaparen av jobbet beviljas behörigheten IS OWNER.
- Arbetsyteadministratörer beviljas behörigheten CAN MANAGE.
- Skaparen av jobbet har angetts för Kör som.
Administratörsbehörigheter för jobb
Som standard kan arbetsyteadministratörer ändra jobbägaren eller Kör som konfiguration till valfri användare eller tjänsthuvudnamn på arbetsytan. Kontoadministratörer kan konfigurera inställningen RestrictWorkspaceAdmins
för att ändra det här beteendet. Se Begränsa administratörer för arbetsytor.
Hur interagerar jobb med behörigheter för Unity Catalog?
Jobb körs som användarens identitet i inställningen Kör som . Den här identiteten utvärderas mot behörighetsbidrag för följande:
- Unity Catalog-hanterade tillgångar, inklusive tabeller, volymer, modeller och vyer.
- Åtkomstkontrollistor för äldre tabeller (ACL: er) för tillgångar som registrerats i det äldre Hive-metaarkivet.
- ACL:er för beräkning, notebook-filer, frågor och andra arbetsytetillgångar.
- Databricks-hemligheter. Se Hemlig hantering.
Kommentar
Unity Catalog-bidrag och äldre tabell-ACL:er kräver kompatibla beräkningsåtkomstlägen. Se Konfigurera beräkning för jobb.
SQL-uppgifter och -behörigheter
Filuppgiften är den enda SQL-uppgiftstypen som respekterar Kör som-identitet helt.
SQL-frågor, aviseringar och äldre instrumentpanelsuppgifter respekterar konfigurerade delningsinställningar.
- Kör som ägare: Körningar av den schemalagda SQL-aktiviteten använder alltid identiteten för ägaren av den konfigurerade SQL-tillgången.
- Kör som visningsprogram: Körningar av den schemalagda SQL-aktiviteten använder alltid den identitet som angetts i jobbet Kör som-fältet .
Mer information om inställningar för frågedelning finns i Konfigurera frågebehörigheter.
Exempel
Följande scenario illustrerar interaktionen mellan SQL-delningsinställningar och jobbinställningen Kör som :
- Användare A är ägare till SQL-frågan med namnet
my_query
. - Användare A konfigurerar med delningsinställningen
my_query
Kör som ägare. - Användare B schemalägger
my_query
som en uppgift i ett jobb med namnetmy_job
. - Användare B konfigurerar att köras
my_job
med en tjänstprincip med namnetprod_sp
. - När
my_job
körs använder den identiteten för användare A för att köramy_query
.
Anta nu att användare B inte vill ha det här beteendet. Från och med den befintliga konfigurationen sker följande:
- Användare A ändrar delningsinställningen för
my_query
till Kör som visningsprogram. - När
my_job
körs använder den identifieringenprod_sp
.
Konfigurera identitet för jobbkörningar
Om du vill ändra inställningen Kör som måste du ha behörigheten CAN MANAGE eller IS OWNER för jobbet.
Du kan ange inställningen Kör som till dig själv eller ett huvudnamn för tjänsten på arbetsytan där du har behörigheten För tjänstens huvudnamn.
Om du vill konfigurera inställningen Kör som för ett jobb i arbetsytans användargränssnitt väljer du ett befintligt jobb med hjälp av följande steg:
- Klicka på Arbetsflöden i sidofältet.
- Klicka på jobbnamnet i kolumnen Namn.
- I panelen Jobbinformation klickar du på pennikonen bredvid fältet Kör som .
- Sök efter och välj en användare eller tjänstens huvudnamn.
- Klicka på Spara.
Mer information om hur du arbetar med tjänstens huvudnamn finns i följande:
- Hantera tjänstens huvudnamn
- Roller för att hantera tjänstens huvudnamn
- Visa en lista över de tjänsthuvudnamn som du kan använda.
Metodtips för jobbstyrning
Databricks rekommenderar följande för alla produktionsjobb:
Tilldela jobbägarskap till ett huvudnamn för tjänsten
Om användaren som äger ett jobb lämnar organisationen kan jobbet misslyckas. Använd tjänstens huvudnamn för att göra jobben robusta för anställdas omsättning.
Som standard kan arbetsyteadministratörer hantera jobbbehörigheter och omtilldela ägarskap om det behövs.
Köra produktionsjobb med hjälp av tjänstens huvudnamn
Jobb körs som standard med hjälp av jobbägarens behörigheter. Om du tilldelar ägarskap till ett huvudnamn för tjänsten använder jobbkörningar behörigheterna för tjänstens huvudnamn.
Med hjälp av tjänstens huvudnamn för produktionsjobb kan du begränsa skrivbehörigheter för produktionsdata. Om du kör jobb med en användares behörigheter behöver användaren samma behörigheter för att redigera de produktionsdata som krävs av jobbet.
Använd alltid Unity Catalog-kompatibla beräkningskonfigurationer
Datastyrning i Unity Catalog kräver att du använder en beräkningskonfiguration som stöds.
Serverlös beräkning för jobb och SQL-lager använder alltid Unity Catalog.
För jobb med klassisk beräkning rekommenderar Databricks läget för delad åtkomst för arbetsbelastningar som stöds. Använd åtkomstläge för en användare när det behövs.
Delta Live Tables-pipelines som konfigurerats med Unity Catalog har vissa begränsningar. Se Begränsningar.
Begränsa behörigheter för produktionsjobb
Användare som utlöser, stoppar eller startar om jobbkörningar behöver behörigheten Kan hantera körning .
Användare som visar jobbkonfigurationen eller övervakarkörningar behöver behörigheten Kan visa .
Bevilja endast behörigheten Kan hantera eller Är ägare till användare som är betrodda att ändra produktionskoden.
Kontrollera åtkomsten till ett jobb
Med åtkomstkontroll för jobb kan jobbägare och administratörer bevilja detaljerad behörighet för jobb. Följande behörigheter är tillgängliga:
Kommentar
Varje behörighet innehåller behörigheter under den i följande tabell.
Behörighet | Bevilja |
---|---|
Är ägare | Den identitet som används för Kör som standard. |
Kan hantera | Användare kan redigera jobbdefinitionen, inklusive behörigheter. Användare kan pausa och återuppta ett schema. |
Kan hantera körning | Användare kan utlösa och avbryta jobbkörningar. |
Kan visa | Användare kan visa jobbkörningsresultat. |
Information om jobbbehörighetsnivåer finns i Jobb-ACL:er.
Konfigurera jobbbehörigheter
Om du vill konfigurera behörigheter för ett jobb i arbetsytans användargränssnitt väljer du ett befintligt jobb med hjälp av följande steg:
- Klicka på Arbetsflöden i sidofältet.
- Klicka på jobbnamnet i kolumnen Namn.
- I panelen Jobbinformation klickar du på Redigera behörigheter. Dialogrutan Behörighetsinställningar visas.
- Klicka på fältet Välj användare, grupp eller tjänsthuvudnamn... och börja skriva in en användare, grupp eller tjänstens huvudnamn. Fältet söker igenom alla tillgängliga identiteter på arbetsytan.
- Klicka på Lägg till.
- Klicka på Spara.
Hantera jobbägaren
Endast arbetsyteadministratörer kan redigera jobbägaren. Exakt en jobbägare måste tilldelas. Jobbägare kan vara användare eller tjänstens huvudnamn.