Hantera tjänstens huvudnamn
Den här artikeln beskriver hur du skapar och hanterar tjänstens huvudnamn för ditt Azure Databricks-konto och dina arbetsytor.
En översikt över Azure Databricks-identitetsmodellen finns i Azure Databricks-identiteter.
Information om hur du hanterar åtkomst för tjänstens huvudnamn finns i Autentisering och åtkomstkontroll.
Vad är en tjänstehuvudprincipal?
Ett tjänsthuvudnamn är en identitet som du skapar i Azure Databricks för att användas med automatiserade verktyg, jobb och applikationer. Tjänstprincipaler ger automatiserade verktyg och skript API-åtkomst till Azure Databricks-resurser, vilket ger större säkerhet än att använda användare eller grupper.
Du kan bevilja och begränsa tjänstens huvudnamns åtkomst till resurser på samma sätt som en Azure Databricks-användare. Du kan till exempel göra följande:
- Tilldela tjänsthuvudkonton administratörs- och arbetsyteadministratörsroller.
- Ge en tjänstanvändare åtkomst till datan, antingen på kontonivå med hjälp av Unity Catalog eller på arbetsytenivå.
-
Lägg till ett huvudnamn för tjänsten i en grupp på både konto- och arbetsytenivå, inklusive arbetsytegruppen
admins
.
Du kan också ge Azure Databricks-användare, tjänsthuvudnamn och grupper behörighet att använda ett tjänsthuvudnamn. På så sätt kan användare köra jobb som tjänstens huvudnamn, i stället för som sin identitet. Detta förhindrar att jobb misslyckas om en användare lämnar organisationen eller om en grupp ändras.
Till skillnad från en Azure Databricks-användare är ett tjänsthuvudkonto en API-identitet; det kan inte användas för att komma åt Azure Databricks-användargränssnittet.
Databricks rekommenderar att du aktiverar dina arbetsytor för identitetsfederation. Med identitetsfederation kan du konfigurera tjänstens huvudnamn i kontokonsolen och sedan tilldela dem åtkomst till specifika arbetsytor. Detta förenklar administration och datastyrning i Azure Databricks.
Viktigt!
Databricks började aktivera nya arbetsytor för identitetsfederation och Unity Catalog automatiskt den 9 november 2023, med en distribution som sker gradvis över konton. Om din arbetsyta är aktiverad för identitetsfederation som standard kan den inte inaktiveras. Mer information finns i Automatisk aktivering av Unity Catalog.
Databricks och Microsoft Entra ID-tjänsthuvudmän
Tjänsthuvudprinciper kan antingen vara Azure Databricks-hanterade tjänsthuvudprinciper eller Microsoft Entra ID-hanterade tjänsthuvudprinciper.
Azure Databricks-tjänsthuvudprincipaler kan autentisera sig mot Azure Databricks med Databricks OAuth-autentisering och personliga åtkomsttokener. Hanterade servicehuvuden i Microsoft Entra ID kan autentisera till Azure Databricks med Databricks OAuth-autentisering och Microsoft Entra ID-token. Mer information om autentisering för tjänstens huvudnamn finns i Hantera token för tjänstens huvudnamn.
Azure Databricks hanterar tjänstehuvudnamn direkt inom Azure Databricks. Microsoft Entra ID managed service principals hanteras i Microsoft Entra-ID, vilket kräver ytterligare behörigheter. Databricks rekommenderar att du använder Azure Databricks hanterade tjänsthuvudnamn för Azure Databricks-automatisering och att du använder Microsoft Entra ID managed service principals i fall där du måste autentisera med Azure Databricks och andra Azure-resurser samtidigt.
Om du vill skapa ett azure Databricks-hanterat huvudnamn för tjänsten hoppar du över det här avsnittet och fortsätter att läsa med Vem kan hantera och använda tjänstens huvudnamn?.
Om du vill använda hanterade tjänstehuvudprinciper för Microsoft Entra ID i Azure Databricks måste en administratör skapa ett Microsoft Entra ID-program i Azure. Information om hur du skapar ett Microsoft Entra ID-hanterat tjänsthuvudnamn finns i MS Entra-tjänstens huvudnamnsautentisering.
Vem kan hantera och använda tjänstens huvudnamn?
Om du vill hantera tjänstens huvudnamn i Azure Databricks måste du ha något av följande: kontoadministratörsrollen, arbetsytans administratörsroll eller chefs- eller användarrollen för ett huvudnamn för tjänsten.
- Kontoadministratörer kan lägga till tjänstens huvudnamn i kontot och tilldela dem administratörsroller. De kan också tilldela tjänstekonton till arbetsytor, så länge arbetsytorna använder identitetsfederation.
- Arbetsyteadministratörer kan lägga till tjänstens huvudnamn till en Azure Databricks-arbetsyta, tilldela dem rollen som administratör för arbetsytan och hantera åtkomst till objekt och funktioner på arbetsytan, till exempel möjligheten att skapa kluster eller komma åt angivna persona-baserade miljöer.
- Tjänstehuvudmanna-chefer kan hantera roller på en tjänstehuvudman. Skaparen av en service principal blir service principal-chefen. Kontoadministratörer är tjänsthuvudnamnshanterare för alla tjänsthuvudnamn i ett konto.
Anteckning
Om ett tjänsthuvud skapades före den 13 juni 2023 har tjänsthuvudets skapare inte rollen som tjänsthuvudansvarig som standard. Be en kontoadministratör att ge dig rollen som tjänstehuvudkontoansvarig.
Användare med Service Principal Manager-roll ärver inte Service Principal User-roll. Om du vill använda tjänstens huvudnamn för att köra jobb måste du uttryckligen tilldela dig själv användarrollen för tjänstens huvudnamn, även efter att du har skapat tjänstens huvudnamn.
- Användare av tjänstehuvudkonto kan köra jobb som tjänstehuvudkontot. Jobbet körs med verksamhetsidentiteten för tjänstens principal i stället för jobbägarens identitet. Mer information finns i Hantera identiteter, behörigheter och behörigheter för Databricks-jobb.
Information om hur du beviljar roller för hantering av tjänstehuvudnamn och användarroller finns i Roller för hantering av tjänstehuvudnamn.
Synkronisera serviceprincipaler till ditt Azure Databricks-konto från din Microsoft Entra ID-tjänst
Du kan automatiskt synkronisera tjänstens huvudprincipaler för Microsoft Entra ID från din Microsoft Entra ID-klientorganisation till ditt Azure Databricks-konto med hjälp av automatisk identitetshantering (offentlig förhandsversion). Databricks använder Microsoft Entra-ID som källa, så alla ändringar av användare eller gruppmedlemskap respekteras i Azure Databricks. Anvisningar finns i Synkronisera användare och grupper automatiskt från Microsoft Entra ID.
SCIM-etablering stöder inte synkronisering av tjänstehuvudprincipaler.
Hantera tjänstehuvudprinciper i ditt konto
Kontoadministratörer kan lägga till tjänstens huvudnamn till ditt Azure Databricks-konto med hjälp av kontokonsolen.
Lägg till tjänstehuvudkonton i ditt konto via kontokonsolen
Tjänstens huvudnamn kan antingen skapas i Azure Databricks eller länkas från ett befintligt Microsoft Entra ID-tjänsthuvudnamn. Se Databricks och Microsoft Entra ID-tjänstprincipaler.
- Logga in på kontokonsolen som kontoadministratör.
- I sidofältet klickar du på Användarhantering.
- På fliken Tjänstens huvudnamn klickar du på Lägg till tjänstens huvudnamn.
- Under Hantering väljer du Databricks hanterat eller Microsoft Entra ID hanterat.
- Om du väljer Microsoft Entra-ID som hanteras klistrar du in programmets (klient)-ID för tjänstens huvudnamn under Microsoft Entra-program-ID.
- Ange ett namn för tjänstens huvudkonto.
- Klicka på Lägg till.
Tilldela kontoadministratörsroller till ett tjänstehuvudnamn
- Logga in på kontokonsolen som kontoadministratör.
- I sidofältet klickar du på Användarhantering.
- På fliken Tjänstens huvudnamn letar du upp och klickar på användarnamnet.
- På fliken Roller aktiverar du Kontoadministratör eller Marketplace-administratör.
Tilldela en tjänsthuvudprincip till en arbetsyta med hjälp av kontokonsolen
Om du vill lägga till användare i en arbetsyta med kontokonsolen måste arbetsytan vara aktiverad för identitetsfederation. Arbetsyteadministratörer kan också tilldela tjänstens huvudnamn till arbetsytor med hjälp av sidan administratörsinställningar för arbetsytan. Mer information finns i Lägga till ett huvudnamn för tjänsten till en arbetsyta med hjälp av administratörsinställningarna för arbetsytan.
- Logga in på kontokonsolen som kontoadministratör.
- I sidofältet klickar du på Arbetsytor.
- Klicka på arbetsytans namn.
- Klicka på Permissions (Behörigheter) på fliken Add permissions (Lägg till behörigheter).
- Sök efter och välj tjänstens huvudnamn, tilldela behörighetsnivån (arbetsytans användare eller administratör) och klicka på Spara.
Ta bort ett huvudnamn för tjänsten från en arbetsyta med hjälp av kontokonsolen
Om du vill ta bort servicerepresentanter från en arbetsyta med hjälp av kontots konsol, behöver arbetsytan vara aktiverad för identitetsfederation. När ett huvudnamn för tjänsten tas bort från en arbetsyta kan tjänstens huvudnamn inte längre komma åt arbetsytan, men behörigheter underhålls på tjänstens huvudnamn. Om tjänstens huvudprincip senare läggs tillbaka till arbetsytan återfår den sina tidigare behörigheter.
- Logga in på kontokonsolen som kontoadministratör
- I sidofältet klickar du på Arbetsytor.
- Klicka på arbetsytans namn.
- På fliken Behörigheter letar du reda på tjänstens huvudnamn.
-
Klicka på menyn för kebab längst till höger på raden för tjänstens huvudnamn och välj Ta bort.
- I bekräftelsedialogrutan klickar du på Ta bort.
Inaktivera ett tjänsthuvudnamn i ditt Azure Databricks-konto
Kontoadministratörer kan inaktivera serviceprincipaler i ett Azure Databricks-konto. Ett inaktiverat huvudnamn för tjänsten kan inte autentiseras mot Azure Databricks-kontot eller arbetsytorna. Alla behörigheter och arbetsyteobjekt för tjänstens huvudprincip förblir dock oförändrade. När en tjänsteprincipal inaktiveras är följande sant:
- Tjänsthuvudprincipalen kan inte autentisera sig mot kontot eller någon av sina arbetsytor med någon metod överhuvudtaget.
- Program eller skript som använder token som genereras av tjänstens huvudnamn kan inte längre komma åt Databricks-API:et. Token finns kvar men kan inte användas för att autentisera medan tjänstehuvudnamn inaktiveras.
- Kluster som ägs av tjänsthuvudmannen körs fortfarande.
- Schemalagda jobb som skapas av tjänstehuvudman misslyckas om de inte tilldelas en ny ägare.
När tjänstens huvudnamn återaktiveras kan det logga in på Azure Databricks med samma behörigheter. Databricks rekommenderar att du inaktiverar tjänstens huvudnamn från kontot i stället för att ta bort dem eftersom det är en destruktiv åtgärd att ta bort tjänstens huvudnamn. Statusen för ett inaktiverat huvudnamn för tjänsten är märkt Inaktiv i kontokonsolen. Du kan också inaktivera ett tjänsthuvudnamn från en viss arbetsyta. Se Inaktivera ett tjänsthuvudnamn på din Azure Databricks-arbetsyta.
Du kan inte inaktivera ett huvudnamn för tjänsten med hjälp av kontokonsolen. Använd i stället Account Service Principals API.
Till exempel:
curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.1/accounts/{account_id}/scim/v2/ServicePrincipals/{id} \
--header 'Content-type: application/scim+json' \
--data @update-sp.json \
| jq .
update-sp.json
:
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "replace",
"path": "active",
"value": [
{
"value": "false"
}
]
}
]
}
Ta bort tjänstens huvudnamn från ditt Azure Databricks-konto
Kontoadministratörer kan ta bort tjänstens huvudnamn från ett Azure Databricks-konto. Arbetsyteadministratörer kan inte. När du tar bort en tjänstehuvudprincip från kontot tas den även bort från deras arbetsytor.
Viktigt!
När du tar bort ett huvudnamn för tjänsten från kontot tas även tjänstens huvudnamn bort från deras arbetsytor, oavsett om identitetsfederation har aktiverats eller inte. Vi rekommenderar att du avstår från att ta bort tjänstens huvudnamn på kontonivå om du inte vill att de ska förlora åtkomsten till alla arbetsytor i kontot. Tänk på följande konsekvenser av att ta bort tjänstens huvudnamn:
- Program eller skript som använder token som genereras av tjänstens huvudnamn kan inte längre komma åt Databricks-API:er
- Jobb som ägs av tjänstens huvudnamn misslyckas
- Kluster som ägs av tjänstens huvudnamn stoppas
- Frågor eller instrumentpaneler som skapats av tjänstens huvudkonto och delats med hjälp av Run as Owner-autentisering måste tilldelas en ny ägare för att förhindra att delning misslyckas.
När ett Microsoft Entra ID-tjänsthuvudnamn tas bort från ett konto kan tjänsthuvudnamnet inte längre komma åt kontot eller dess arbetsytor, men behörigheterna behålls på tjänsthuvudnamnet. Om tjänstens huvudnamn senare läggs tillbaka till kontot återfår det sina tidigare behörigheter.
Om du vill ta bort ett tjänstens huvudkonto i kontokonsolen, gör du följande:
- Logga in på kontokonsolen som kontoadministratör.
- I sidofältet klickar du på Användarhantering.
- På fliken Tjänstens huvudnamn letar du upp och klickar på användarnamnet.
- På fliken Huvudinformation klickar du på
menyn för kebab i det övre högra hörnet och väljer Ta bort.
- I bekräftelsedialogrutan klickar du på Bekräfta borttagning.
Kommentar
När automatisk identitetshantering är aktiverat visas tjänstens huvudnamn som finns i Microsoft Entra-ID i kontokonsolen. Deras status visas som Inaktiv: Ingen användning och de kan inte tas bort från listan över tjänstens serviceprincipaler. De är inte aktiva i kontot och räknas inte mot gränser.
Hantera tjänstens huvudnamn på din arbetsyta
Arbetsyteadministratörer kan hantera tjänsthuvudmän i sina arbetsytor via sidan för administratörsinställningar för arbetsytan.
Lägga till ett huvudnamn för tjänsten till en arbetsyta med hjälp av administratörsinställningarna för arbetsytan
Tjänstens huvudnamn kan antingen skapas i Azure Databricks eller länkas från ett befintligt Microsoft Entra ID-tjänsthuvudnamn. Se serviceprincipaler för Databricks och Microsoft Entra ID.
Som arbetsyteadministratör loggar du in på Azure Databricks-arbetsytan.
Klicka på ditt användarnamn i det övre fältet på Azure Databricks-arbetsytan och välj Inställningar.
Klicka på fliken Identitet och åtkomst .
Bredvid Tjänstens huvudnamn klickar du på Hantera.
Klicka på Lägg till tjänstens huvudnamn.
Välj ett befintligt huvudnamn för tjänsten som ska tilldelas till arbetsytan eller klicka på Lägg till nytt för att skapa ett nytt.
Om du vill lägga till en ny tjänstprincip väljer du Databricks managed eller Microsoft Entra ID managed. Om du väljer Microsoft Entra-ID som hanteras klistrar du in program-ID:t (klient)-ID:t för tjänstens huvudnamn och anger ett visningsnamn.
Klicka på Lägg till.
Kommentar
Om din arbetsyta inte är aktiverad för identitetsfederation kan du inte tilldela befintliga kontotjänstobjekt till din arbetsyta.
Tilldela administratörsrollen för arbetsytan till ett huvudnamn för tjänsten med hjälp av sidan administratörsinställningar för arbetsytan
- Som arbetsyteadministratör loggar du in på Azure Databricks-arbetsytan.
- Klicka på ditt användarnamn i det övre fältet på Azure Databricks-arbetsytan och välj Inställningar.
- Klicka på fliken Identitet och åtkomst .
- Bredvid Grupper klickar du på Hantera.
-
admins
Välj systemgruppen. - Klicka på Lägg till medlemmar.
- Välj tjänstens huvudnamn och klicka på Bekräfta.
Ta bort administratörsrollen för arbetsytan från tjänstens huvudnamn genom att ta bort tjänstens huvudnamn från administratörsgruppen.
Inaktivera ett tjänsthuvudkonto i din Azure Databricks-arbetsyta
Arbetsplatsadministratörer kan inaktivera tjänsteprincipaler i en Azure Databricks-arbetsyta. Ett inaktiverat huvudnamn för tjänsten kan inte komma åt arbetsytan från Azure Databricks-API:er, men alla tjänstens huvudnamns behörigheter och arbetsyteobjekt förblir oförändrade. När tjänstens huvudnamn inaktiveras:
- Tjänstens huvudkonto kan inte autentisera mot arbetsytorna från någon metod.
- Tjänstens huvudkontos status visas som Inaktiv på inställningssidan för arbetsyteadministratören.
- Program eller skript som använder token som genereras av tjänstens huvudnamn kan inte längre komma åt Databricks-API:et. Token finns kvar men kan inte användas för autentisering medan en service principal är inaktiverad.
- Kluster som ägs av tjänstens huvudnamn körs fortfarande.
- Schemalagda jobb som skapats av tjänstens huvudnamn måste tilldelas till en ny ägare för att förhindra att de misslyckas.
När tjänstens huvudkonto återaktiveras kan det autentisera sig mot arbetsytan med samma behörigheter. Databricks rekommenderar att du inaktiverar tjänstens huvudnamn i stället för att ta bort dem eftersom det är en destruktiv åtgärd att ta bort ett huvudnamn för tjänsten.
- Som arbetsyteadministratör loggar du in på Azure Databricks-arbetsytan.
- Klicka på ditt användarnamn i det övre fältet på Azure Databricks-arbetsytan och välj Inställningar.
- Klicka på fliken Identitet och åtkomst .
- Bredvid Tjänstens huvudnamn klickar du på Hantera.
- Välj tjänstens huvudnamn som du vill inaktivera.
- Under Status, avmarkera Aktiv.
För att ange tjänstens huvudprincip som aktiv, utför samma steg, men markera kryssrutan i stället.
Ta bort tjänstens huvudnamn från en arbetsyta med hjälp av sidan administratörsinställningar för arbetsytan
Om du tar bort ett huvudnamn för tjänsten från en arbetsyta tas inte tjänstens huvudnamn bort från kontot. Information om hur du tar bort ett huvudnamn för tjänsten från ditt konto finns i Ta bort tjänstens huvudnamn från ditt Azure Databricks-konto.
När ett huvudnamn för tjänsten tas bort från en arbetsyta kan tjänstens huvudnamn inte längre komma åt arbetsytan, men behörigheter underhålls på tjänstens huvudnamn. Om serviceprincipalen senare läggs till igen i en arbetsyta återfår den sina tidigare behörigheter.
- Som arbetsyteadministratör loggar du in på Azure Databricks-arbetsytan.
- Klicka på ditt användarnamn i det övre fältet på Azure Databricks-arbetsytan och välj Inställningar.
- Klicka på fliken Identitet och åtkomst .
- Bredvid Tjänstens huvudnamn klickar du på Hantera.
- Välj tjänstens huvudnamn.
- I det övre högra hörnet klickar du på Ta bort.
- Bekräfta genom att klicka på Ta bort .
Hantera tjänstens huvudnamn med hjälp av API:et
Kontoadministratörer och arbetsyteadministratörer kan hantera tjänstens huvudnamn i Azure Databricks-kontot och arbetsytor med databricks-API:er. Information om hur du hanterar roller på ett huvudnamn för tjänsten med hjälp av API :et finns i Hantera tjänstens huvudnamnsroller med hjälp av Databricks CLI.
Hantera tjänstens primäridentiteter i kontot med hjälp av API:et
Administratörer kan lägga till och hantera tjänstprincipaler i Azure Databricks-kontot med hjälp av API:et för kontots tjänstprincipaler. Kontoadministratörer och arbetsyteadministratörer anropar API:et med en annan slutpunkts-URL:
- Kontoadministratörer använder
{account-domain}/api/2.1/accounts/{account_id}/scim/v2/
. - Arbetsyteadministratörer använder
{workspace-domain}/api/2.0/account/scim/v2/
.
För mer information, se API:t för Konto Service Principals.
Hantera tjänstens huvudnamn på arbetsytan med hjälp av API:et
Konto- och arbetsyteadministratörer kan använda API:et för tilldelning av arbetsytor för att tilldela tjänstens huvudnamn till arbetsytor som är aktiverade för identitetsfederation. API:et för tilldelning av arbetsytor stöds via Azure Databricks-kontot och arbetsytorna.
- Kontoadministratörer använder
{account-domain}/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments
. - Arbetsyteadministratörer använder
{workspace-domain}/api/2.0/preview/permissionassignments/principals/{principal_id}
.
Se API för arbetsytetilldelning.
Om din arbetsyta inte är aktiverad för identitetsfederation kan en arbetsyteadministratör använda API:erna på arbetsytenivå för att tilldela tjänstens huvudnamn till sina arbetsytor. Se Workspace Service Principals API.
Hantera token för en tjänsthuvudprincip
Tjänstens principer kan autentisera sig mot API:er på Azure Databricks med hjälp av Azure Databricks OAuth-token eller Azure Databricks personliga åtkomsttoken enligt följande:
- Azure Databricks OAuth-token kan användas för att autentisera till Azure Databricks-API:er på kontonivå och på arbetsytenivå.
- Azure Databricks OAuth-token som skapas på Azure Databricks-kontonivå kan användas för att autentisera till Azure Databricks-API:er på kontonivå och arbetsytenivå.
- Azure Databricks OAuth-token som skapas på Azure Databricks-arbetsytenivå kan endast användas för att autentisera till AZURE Databricks-API:er på arbetsytenivå.
- Personliga åtkomsttoken för Azure Databricks kan endast användas för att autentisera till API:er på Azure Databricks-arbetsytenivå.
Hantera Databricks OAuth-autentisering för tjänsthuvud
För att autentisera till REST-API:er på kontonivå och arbetsytenivå kan kontoadministratörer använda Azure Databricks OAuth-tokens för tjänstens huvudprinciper. Du kan begära en OAuth-token med hjälp av klient-ID:t och en klienthemlighet för tjänstens huvudnamn. För mer information, se Auktorisera obevakad åtkomst till Azure Databricks-resurser med en tjänstens huvudanvändare med OAuth.
Se även
- Mer information om hur du arbetar med tjänsthuvudman som utvecklare som använder Azure Databricks CLI eller Azure Databricks REST-API:er finns i Auktorisera obevakad åtkomst till Azure Databricks-resurser med en tjänsthuvudman och OAuth.
- Mer information om hur du arbetar med Microsofts hanterade tjänstidentiteter (MSI) eller Microsoft Entra-åtkomsttoken finns i autentisering av hanterade Azure-identiteter respektive MS Entra-tjänstens huvudnamnsautentisering .