Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kommentar
Information om hur du provisionerar en tjänstens huvudansvarig som hanteras av Microsoft Entra-ID med hjälp av Azure-portalen och Azure Databricks användargränssnittet finns i Tjänstens huvudansvarig.
Microsoft Entra ID managed service principals skiljer sig från hanterade identiteter för Azure-resurser, som Azure Databricks också stöder för autentisering. Information om hur du använder hanterade identiteter för Azure-resurser i stället för hanterade tjänsthuvudnamn för Microsoft Entra ID för Azure Databricks-autentisering finns i Använda Hanterade Azure-identiteter med Azure Databricks.
Tjänstens huvudnamn är en identitet för automatiserade verktyg och system som skript, appar och CI/CD-plattformar. Databricks rekommenderar att du använder tjänstens huvudnamn och dess OAuth-token eller personliga åtkomsttoken i stället för ditt Azure Databricks-användarkonto och din personliga åtkomsttoken. Förmånerna omfattar:
- Bevilja och begränsa åtkomst till resurser oberoende av en användare.
- Gör det möjligt för användare att bättre skydda sina egna åtkomsttoken.
- Inaktivera eller ta bort ett huvudnamn för tjänsten utan att påverka andra användare.
- Ta bort en användare när de lämnar organisationen utan att påverka tjänstens huvudnamn.
Följ dessa anvisningar för att använda Terraform för att skapa ett Microsoft Entra ID-hanterat tjänstobjekt i Azure, använda Databricks Terraform-provider för att länka Microsoft Entra ID-tjänstobjektet till din Azure Databricks-arbetsyta och sedan, om du vill, skapa ett Microsoft Entra ID-token eller ett Azure Databricks OAuth-token för tjänstobjektet.
Krav
- The Terraform CLI. Se Ladda ned Terraform.
- Azure CLI loggade in på Microsoft Entra-målprenumerationen genom att köra
az loginkommandot . Information om hur du loggar in med ett användarkonto eller tjänstens huvudnamn finns i Logga in med Azure CLI.
Steg 1: Skapa tjänstens huvudnamn
Om du redan har ett Microsoft Entra ID-hanterat tjänsthuvudnamn tillgängligt går du vidare till steg 2.
Skapa en tom katalog i terminalen och växla sedan till den. (Varje separat uppsättning Terraform-konfigurationsfiler måste finnas i en egen katalog.) Till exempel:
mkdir terraform_azure_service_principal_demo && cd terraform_azure_service_principal_demo.mkdir terraform_azure_service_principal_demo && cd terraform_azure_service_principal_demoI den här tomma katalogen skapar du en fil med namnet
main.tf. Lägg till följande innehåll i den här filen och spara sedan filen.variable "azure_service_principal_display_name" { description = "A display name for the <entra-service-principal>." type = string } terraform { required_providers { azuread = { source = "hashicorp/azuread" } } } provider "azurerm" { features {} } resource "azuread_application" "this" { display_name = var.azure_service_principal_display_name } resource "azuread_service_principal" "this" { application_id = azuread_application.this.application_id } resource "time_rotating" "month" { rotation_days = 30 } resource "azuread_service_principal_password" "this" { service_principal_id = azuread_service_principal.this.object_id rotate_when_changed = { rotation = time_rotating.month.id } } output "azure_client_id" { description = "The Azure AD service principal's application (client) ID." value = azuread_application.this.application_id } output "azure_client_secret" { description = "The Azure AD service principal's client secret value." value = azuread_service_principal_password.this.value sensitive = true }Skapa en fil med namnet
terraform.tfvarsi samma katalog. Lägg till följande innehåll i den här filen, ersätt följande värde och spara sedan filen:- Ersätt värdet
azure_service_principal_display_namemed ett visningsnamn för Tjänstens huvudnamn för Microsoft Entra ID.
azure_service_principal_display_name = "<A display name for the <entra-service-principal>>"- Ersätt värdet
Initiera arbetskatalogen
main.tfsom innehåller filen genom attterraform initköra kommandot . Mer information finns i Kommando: init på Terraform-webbplatsen.terraform initKontrollera om det finns några syntaxfel i konfigurationen genom att
terraform validateköra kommandot . Mer information finns i Kommando: verifiera på Terraform-webbplatsen.terraform validateAnvänd de ändringar som krävs för att nå det önskade tillståndet för konfigurationen genom att
terraform applyköra kommandot . Mer information finns i Kommando: tillämpa på Terraform-webbplatsen.terraform apply
När du har skapat tjänstens huvudnamn kopierar du azure_client_id och azure_client_secret utdatavärden, eftersom du behöver dem senare.
Om du vill hämta värdet för azure_client_secret läser du värdet för outputs.client_secret.value i filen terraform.tfstate, som finns i arbetskatalogen som innehåller filen main.tf.
Steg 2: Lägg till tjänstens huvudnamn på Azure Databricks-arbetsytan
Kommentar
Följande innehåll lägger till ett huvudnamn för tjänsten på arbetsytan Azure Databricks. Om din Azure Databricks-arbetsyta är aktiverad för identitetsfederation synkroniserar följande innehåll även tjänstens huvudnamn automatiskt med det relaterade Azure Databricks-kontot.
Skapa en tom katalog i terminalen och växla sedan till den. Varje separat uppsättning Terraform-konfigurationsfiler måste finnas i en egen katalog. Exempel:
mkdir terraform_databricks_service_principal_demo && cd terraform_databricks_service_principal_demo.mkdir terraform_databricks_service_principal_demo && cd terraform_databricks_service_principal_demoI den här tomma katalogen skapar du en fil med namnet
main.tf. Lägg till följande innehåll i den här filen och spara sedan filen.variable "databricks_host" { description = "The Azure Databricks workspace URL." type = string } variable "azure_client_id" { type = string description = "The application (client) ID of the <entra-service-principal> to link to an Azure Databricks service principal. This application (client) ID will be the application ID of the Azure Databricks service principal." } variable "databricks_service_principal_display_name" { type = string description = "A workspace display name for the Azure Databricks service principal." } terraform { required_providers { databricks = { source = "databricks/databricks" } } } provider "databricks" { host = var.databricks_host } resource "databricks_service_principal" "sp" { application_id = var.azure_client_id display_name = var.databricks_service_principal_display_name } output "databricks_service_principal_application_id" { value = databricks_service_principal.sp.application_id description = "Application ID of the Azure Databricks service principal." } output "databricks_service_principal_display_name" { value = databricks_service_principal.sp.display_name description = "Workspace display name of the Azure Databricks service principal." } output "databricks_workspace_service_principal_id" { value = databricks_service_principal.sp.id description = "Workspace ID of the Azure Databricks service principal. This ID is generated by Azure Databricks for this workspace." }Kommentar
Information om hur du lägger till tjänstens huvudnamn i grupper och för att lägga till rättigheter till tjänstens huvudnamn finns i databricks_service_principal på Terraform-webbplatsen.
Skapa en fil med namnet
terraform.tfvarsi samma katalog. Lägg till följande innehåll i den här filen, ersätt följande värden och spara sedan filen:- Ersätt värdet
databricks_hostmed URL:en för Azure Databricks-arbetsytan. - Ersätt värdet
azure_client_idmed värdetazure_client_idfrån steg 1. - Ersätt värdet
databricks_service_principal_display_namemed ett visningsnamn för arbetsytan för Azure Databricks-tjänstens huvudnamn.
databricks_host = "<The Azure Databricks workspace URL, starting with https://>" azure_client_id = "<The Azure client ID of the Azure Active AD service principal>" databricks_service_principal_display_name = "<A workspace display name for the Azure Databricks service principal>"- Ersätt värdet
Initiera arbetskatalogen
main.tfsom innehåller filen genom attterraform initköra kommandot . Mer information finns i Kommando: init på Terraform-webbplatsen.terraform initKontrollera om det finns några syntaxfel i konfigurationen genom att
terraform validateköra kommandot . Mer information finns i Kommando: verifiera på Terraform-webbplatsen.terraform validateAnvänd de ändringar som krävs för att nå det önskade tillståndet för konfigurationen genom att
terraform applyköra kommandot . Mer information finns i Kommando: tillämpa på Terraform-webbplatsen.terraform apply
När du har skapat tjänstens huvudnamn kopierar databricks_service_principal_application_id du utdatavärdet eftersom du behöver det för att skapa en Microsoft Entra-ID-token för tjänstens huvudnamn.
(Valfritt) Steg 3: Skapa en Microsoft Entra ID-åtkomsttoken för ett Microsoft Entra ID-tjänsthuvudnamn
Viktigt!
Databricks rekommenderar inte att du skapar Microsoft Entra-ID-token manuellt. De upphör att gälla inom en timme och kräver manuell ersättning. Använd i stället verktyg eller SDK:er med enhetlig autentisering för att hantera tokenhantering automatiskt.
Om du behöver skapa en Microsoft Entra-ID-token manuellt för ett Microsoft Entra ID-tjänsthuvudnamn samlar du in följande information och följer sedan anvisningarna i Generera en token:
- Klientorganisations-ID:t för ditt Microsoft Entra ID-tjänsthuvudnamn, som du ska använda som klientorganisations-ID/ katalog-ID /
<tenant-id>(klientorganisation) i anvisningarna. Information om hur du hämtar klientorganisations-ID:t finns i Skapa ett huvudnamn för tjänsten. - Värdet
databricks_service_principal_application_idfrån steg 2, som du ska använda som klient-ID/ program-ID (klient)-ID /<client-id>i anvisningarna. - Värdet
azure_client_secretfrån steg 1, som du ska använda som klienthemlighet/ värde /<client-secret>i anvisningarna.
När du har skapat Microsoft Entra-ID-token kopierar access_token du värdet, eftersom du måste ange det till ditt skript, din app eller ditt system.
(Valfritt) Steg 4: Skapa en Azure Databricks OAuth-token för ett Microsoft Entra ID-tjänsthuvudnamn
Viktigt!
Databricks rekommenderar inte att du skapar Azure Databricks OAuth-token manuellt för Microsoft Entra ID-hanterade tjänsthuvudnamn. De upphör att gälla inom en timme och kräver manuell ersättning. Använd i stället verktyg eller SDK:er som implementerar enhetlig autentisering för att automatiskt generera och ersätta token med auktorisera tjänstens huvudnamnsåtkomst till Azure Databricks med OAuth.
Om du behöver skapa en Azure Databricks OAuth-token manuellt för ett Microsoft Entra ID-tjänsthuvudnamn kan du läsa Generera OAuth M2M-åtkomsttoken manuellt.