Azure 관리 ID 인증

Azure 관리 ID 인증은 Azure 리소스에 대한 관리 ID(이전의 MSI(관리 서비스 ID))를 사용하여 Azure Databricks로 인증합니다. Azure Databricks 계정 및 작업 영역 작업에 대한 프로그래밍 방식 호출은 Azure VM과 같은 관리 ID를 지원하는 Azure 리소스로 작업할 때 이 관리 ID를 사용합니다.

참고 항목

Azure 리소스에 대한 관리 ID는 Azure Databricks가 인증을 지원하는 Microsoft Entra ID 서비스 주체와 다릅니다. Azure 리소스에 대한 관리 ID 대신 Azure Databricks 인증에 Microsoft Entra ID 서비스 주체를 사용하는 방법을 알아보려면 다음을 참조하세요.

Azure 관리 ID 인증은 Azure VM(Azure 가상 머신)과 같은 관리 ID를 지원하는 올바르게 구성된 리소스와 Azure Databricks 계정 및 작업 영역 간에만 지원됩니다.

Azure Databricks를 사용하여 Azure 관리 ID 인증을 구성하려면 올바르게 지원되는 Azure VM에서 다음과 같은 연결된 환경 변수, .databrickscfg 필드, Terraform 필드 또는 Config 필드를 설정해야 합니다.

  • Azure Databricks 호스트입니다.
    • 계정 작업의 경우 https://accounts.azuredatabricks.net을 지정합니다.
    • 작업 영역 작업의 경우 작업 영역별 URL(예: https://adb-1234567890123456.7.azuredatabricks.net)을 지정합니다.
  • 계정 작업의 경우 Azure Databricks 계정 ID입니다.
  • 관리 ID의 테넌트 ID입니다.
  • 관리 ID의 클라이언트 ID입니다.
  • Azure 리소스 ID.
  • Azure 사용 관리 ID를 true로 설정합니다.

Azure Databricks를 사용하여 Azure 관리 ID 인증을 수행하려면 참여 도구 또는 SDK를 기반으로 코드 내에 다음을 통합합니다.

Environment

도구 또는 SDK를 사용하여 특정 Azure Databricks 인증 유형에 환경 변수를 사용하려면 Azure Databricks 리소스에 대한 액세스 인증이나 도구 또는 SDK 설명서를 참조하세요. 클라이언트 통합 인증에 대한 환경 변수 및 필드클라이언트 통합 인증에 대한 기본 메서드도 참조하세요.

계정 수준 작업의 경우 다음 환경 변수를 설정합니다.

  • DATABRICKS_HOST, Azure Databricks 계정 콘솔 URL의 값인 https://accounts.azuredatabricks.net으로 설정합니다.
  • DATABRICKS_ACCOUNT_ID
  • ARM_CLIENT_ID
  • ARM_USE_MSI, true로 설정합니다.

작업 영역 수준 작업의 경우 다음 환경 변수를 설정합니다.

  • DATABRICKS_HOST, Azure Databricks 작업 영역별 URL의 값(예: https://adb-1234567890123456.7.azuredatabricks.net)으로 설정합니다.
  • ARM_CLIENT_ID
  • ARM_USE_MSI, true로 설정합니다.

작업 영역 수준 작업에서 대상 ID가 작업 영역에 아직 추가되지 않은 경우 작업 영역 URL과 함께 DATABRICKS_HOST 대신 Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께 DATABRICKS_AZURE_RESOURCE_ID를 지정합니다. 이 경우 대상 ID에는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.

프로필

.databrickscfg 파일의 다음 필드를 사용하여 Azure Databricks 구성 프로필을 만들거나 식별합니다. 프로필을 만드는 경우 자리 표시자를 적절한 값으로 바꿉니다. 도구 또는 SDK와 함께 프로필을 사용하려면 Azure Databricks 리소스에 액세스 인증이나 도구 또는 SDK 설명서를 참조하세요. 클라이언트 통합 인증에 대한 환경 변수 및 필드클라이언트 통합 인증에 대한 기본 메서드도 참조하세요.

계정 수준 작업의 경우 .databrickscfg 파일에서 다음 값을 설정합니다. 이 경우 Azure Databricks 계정 콘솔 URL은 https://accounts.azuredatabricks.net입니다.

[<some-unique-configuration-profile-name>]
host            = <account-console-url>
account_id      = <account-id>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

작업 영역 수준 작업의 경우 .databrickscfg 파일에서 다음 값을 설정합니다. 이 경우 호스트는 Azure Databricks 작업 영역별 URL(예: https://adb-1234567890123456.7.azuredatabricks.net)입니다.

[<some-unique-configuration-profile-name>]
host            = <workspace-url>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

작업 영역 수준 작업에서 대상 ID가 작업 영역에 아직 추가되지 않은 경우 작업 영역 URL과 함께 host 대신 Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께 azure_workspace_resource_id를 지정합니다. 이 경우 대상 ID에는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.

CLI

Databricks CLI의 경우 다음 중 하나를 수행합니다

  • 이 문서의 "환경" 섹션에 지정된 대로 환경 변수를 설정합니다.
  • 이 문서의 "프로필" 섹션에 지정된 대로 .databrickscfg 파일의 값을 설정합니다.

환경 변수는 항상 .databrickscfg 파일의 값보다 우선 순위를 갖습니다.

Azure 관리 ID 인증도 참조하세요.

연결

참고 항목

Databricks Connect는 인증을 위해 Python용 Databricks SDK를 사용합니다. Python용 Databricks SDK는 아직 Azure 관리 ID 인증을 구현하지 않았습니다.

VS Code

참고 항목

Visual Studio Code용 Databricks 확장은 아직 Azure 관리 ID 인증을 지원하지 않습니다.

Terraform

계정 수준 작업의 경우 기본 인증에 다음을 사용합니다.

provider "databricks" {
  alias = "accounts"
}

직접 구성의 경우(retrieve 자리 표시자를 사용자 고유의 구현으로 바꿔서 콘솔 또는 HashiCorp Vault와 같은 다른 구성 저장소에서 값을 검색합니다. Vault 공급자도 참조하세요). 이 경우 Azure Databricks 계정 콘솔 URL은 https://accounts.azuredatabricks.net입니다.

provider "databricks" {
  alias           = "accounts"
  host            = <retrieve-account-console-url>
  account_id      = <retrieve-account-id>
  azure_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

작업 영역 수준 작업의 경우 기본 인증에 다음을 사용합니다.

provider "databricks" {
  alias = "workspace"
}

직접 구성의 경우(retrieve 자리 표시자를 사용자 고유의 구현으로 바꿔서 콘솔 또는 HashiCorp Vault와 같은 다른 구성 저장소에서 값을 검색합니다. Vault 공급자도 참조하세요). 이 경우 호스트는 Azure Databricks 작업 영역별 URL(예: https://adb-1234567890123456.7.azuredatabricks.net)입니다.

provider "databricks" {
  alias           = "workspace"
  host            = <retrieve-workspace-url>
  azure_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

작업 영역 수준 작업에서 대상 ID가 작업 영역에 아직 추가되지 않은 경우 작업 영역 URL과 함께 host 대신 Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께 azure_workspace_resource_id를 지정합니다. 이 경우 대상 ID에는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.

Databricks Terraform 공급자를 사용하여 인증하는 방법에 대한 자세한 내용은 인증을 참조하세요.

Python

참고 항목

Python용 Databricks SDK는 아직 Azure 관리 ID 인증을 구현하지 않았습니다.

Java

참고 항목

Java용 Databricks SDK는 아직 Azure 관리 ID 인증을 구현하지 않았습니다.

Go

계정 수준 작업의 경우 기본 인증에 다음을 사용합니다.

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

직접 구성의 경우(retrieve 자리 표시자를 사용자 고유의 구현으로 바꿔서 콘솔 또는 Azure KeyVault와 같은 다른 구성 저장소에서 값을 검색합니다). 이 경우 Azure Databricks 계정 콘솔 URL은 https://accounts.azuredatabricks.net입니다.

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:          retrieveAccountConsoleUrl(),
  AccountId:     retrieveAccountId(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

작업 영역 수준 작업의 경우 기본 인증에 다음을 사용합니다.

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

직접 구성의 경우(retrieve 자리 표시자를 사용자 고유의 구현으로 바꿔서 콘솔 또는 Azure KeyVault와 같은 다른 구성 저장소에서 값을 검색합니다). 이 경우 호스트는 Azure Databricks 작업 영역별 URL(예: https://adb-1234567890123456.7.azuredatabricks.net)입니다.

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:          retrieveWorkspaceUrl(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

작업 영역 수준 작업에서 대상 ID가 작업 영역에 아직 추가되지 않은 경우 작업 영역 URL과 함께 Host 대신 Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께 AzureResourceID를 지정합니다. 이 경우 대상 ID에는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.

Go를 사용하고 Databricks 클라이언트 통합 인증을 구현하는 Databricks 도구 및 SDK를 사용하여 인증하는 방법에 대한 자세한 내용은 Azure Databricks 계정 또는 작업 영역으로 Go용 Databricks SDK 인증을 참조하세요.