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 ett huvudnamn för tjänsten?
Ett huvudnamn för tjänsten är en identitet som du skapar i Azure Databricks för användning med automatiserade verktyg, jobb och program. Tjänstens huvudnamn ger automatiserade verktyg och skript ENDAST 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:
- Ge administratörs- och arbetsyteadministratörsroller för tjänstens huvudnamn.
- Ge tjänstens huvudnamn åtkomst till data, 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änstens huvudnamn och grupper behörighet att använda tjänstens huvudnamn. 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 tjänstens huvudnamn en api-identitet. den 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 distributionsförloppet gradvis mellan 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änstens huvudnamn
Tjänstens huvudnamn kan antingen vara Azure Databricks-hanterade tjänstens huvudnamn eller Microsoft Entra ID managed service principals.
Azure Databricks-hanterade tjänstens huvudnamn kan autentisera till Azure Databricks med databricks OAuth-autentisering och personliga åtkomsttoken. Tjänstens huvudnamn 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-hanterade tjänstens huvudnamn hanteras direkt i 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änsthuvudnamn för Microsoft Entra ID i Azure Databricks måste en administratörsanvändare skapa ett Microsoft Entra-ID-program i Azure. Information om hur du skapar ett microsoft entra-ID för hanterad 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änstens huvudnamn till arbetsytor, så länge dessa arbetsytor 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.
- Cheferna för tjänstens huvudnamn kan hantera roller på ett huvudnamn för tjänsten. Skaparen av tjänstens huvudnamn blir tjänstens huvudnamnshanterare. Kontoadministratörer är tjänsthuvudnamnshanterare för alla tjänsthuvudnamn i ett konto.
Kommentar
Om ett huvudnamn för tjänsten skapades före den 13 juni 2023 har skaparen av tjänstens huvudnamn inte rollen som chef för tjänstens huvudnamn som standard. Be en kontoadministratör att ge dig rollen som ansvarig för tjänstens huvudnamn.
Användare med tjänstens huvudnamnshanterare ärver inte användarrollen För tjänstens huvudnamn. 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änstens huvudnamn kan köra jobb som tjänstens huvudnamn. Jobbet körs med hjälp av identiteten för tjänstens huvudnamn 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 tjänstens huvudnamnshanterare och användarroller finns i Roller för hantering av tjänstens huvudnamn.
Hantera tjänstens huvudnamn i ditt konto
Kontoadministratörer kan lägga till tjänstens huvudnamn till ditt Azure Databricks-konto med hjälp av kontokonsolen.
Lägga till tjänstens huvudnamn i ditt konto med hjälp av kontokonsolen
Tjänstens huvudnamn kan antingen skapas i Azure Databricks eller länkas från ett befintligt Microsoft Entra ID-tjänsthuvudnamn. Se Tjänstens huvudnamn för Databricks och Microsoft Entra ID.
- 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 Hanterat Databricks eller Microsoft Entra-ID som hanteras.
- 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 huvudnamn.
- Klicka på Lägg till.
Tilldela kontoadministratörsroller till ett huvudnamn för tjänsten
- 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 ett huvudnamn för tjänsten 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 tjänstens huvudnamn från en arbetsyta med kontokonsolen måste 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 huvudnamn senare läggs tillbaka till arbetsytan återfår det 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.
- Klicka på Ta bort i bekräftelsedialogrutan.
Inaktivera ett huvudnamn för tjänsten i ditt Azure Databricks-konto
Kontoadministratörer kan inaktivera tjänstens huvudnamn 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 huvudnamn förblir dock oförändrade. När ett huvudnamn för tjänsten inaktiveras är följande sant:
- Tjänstens huvudnamn kan inte autentisera till kontot eller någon av deras arbetsytor från någon metod.
- 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änstens huvudnamn inaktiveras.
- Kluster som ägs av tjänstens huvudnamn körs fortfarande.
- Schemalagda jobb som skapas av tjänstens huvudnamn misslyckas om de inte tilldelas till 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 huvudnamn för tjänsten från en viss arbetsyta. Se Inaktivera ett huvudnamn för tjänsten 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 API:et för kontotjänstens huvudnamn.
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. Det går inte att använda arbetsyteadministratörer. När du tar bort ett huvudnamn för tjänsten från kontot tas även det huvudkontot 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 huvudnamn och delats med hjälp av autentiseringsuppgifterna Kör som ägare måste tilldelas till 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änstens huvudnamn inte längre komma åt kontot eller dess arbetsytor, men behörigheter underhålls på tjänstens huvudnamn. Om tjänstens huvudnamn senare läggs tillbaka till kontot återfår det sina tidigare behörigheter.
Om du vill ta bort ett huvudnamn för tjänsten med 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.
Hantera tjänstens huvudnamn på din arbetsyta
Arbetsyteadministratörer kan hantera tjänstens huvudnamn på sina arbetsytor med hjälp av sidan 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 Tjänstens huvudnamn 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 ett nytt huvudnamn för tjänsten väljer du Hanterat Databricks- eller Microsoft Entra-ID. 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 huvudnamn för tjänsten på din Azure Databricks-arbetsyta
Arbetsyteadministratörer kan inaktivera tjänstens huvudnamn på 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 huvudnamn kan inte autentisera till arbetsytorna från någon metod.
- Tjänstens huvudnamns status visas som Inaktiv på inställningssidan för arbetsytans administratör.
- 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änstens huvudnamn inaktiveras.
- 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 huvudnamn återaktiveras kan det autentisera till 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.
- Avmarkera Aktiv under Status.
Om du vill ange tjänstens huvudnamn till aktivt utför du samma steg, men markerar 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 tjänstens huvudnamn senare läggs tillbaka till en arbetsyta återfår det 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 huvudnamn i kontot med hjälp av API:et
Administratörer kan lägga till och hantera tjänstens huvudnamn i Azure Databricks-kontot med hjälp av API:et för kontotjänstens huvudnamn. 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/
.
Mer information finns i API:et för kontotjänstens huvudnamn.
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 API:et för tjänstens huvudnamn för arbetsytor.
Hantera token för ett huvudnamn för tjänsten
Tjänstens huvudnamn kan autentisera till API:er på Azure Databricks med hjälp av Azure Databricks OAuth-token eller personliga Åtkomsttoken för Azure Databricks 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änstens huvudnamn
Om du vill autentisera till REST-API:er på kontonivå och arbetsytenivå kan kontoadministratörer använda Azure Databricks OAuth-token för tjänstens huvudnamn. Du kan begära en OAuth-token med hjälp av klient-ID:t och en klienthemlighet för tjänstens huvudnamn. Mer information finns i Autentisera åtkomst till Azure Databricks med ett huvudnamn för tjänsten med OAuth (OAuth M2M).
Se även
Mer information om hur du arbetar med tjänstens huvudnamn som utvecklare som arbetar med Azure Databricks CLI eller Azure Databricks REST API:er finns i Autentisera åtkomst till Azure Databricks med ett huvudnamn för tjänsten med OAuth (OAuth M2M).
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 .