MS Entra 서비스 주체 인증은 MS Entra 서비스 주체의 자격 증명을 사용하여 인증합니다. Azure Databricks용 서비스 주체를 만들고 관리하려면 다음을 참조하세요.
참고
Databricks는 MS Entra 서비스 주체 인증 대신 대부분의 시나리오에서 OAuth M2M(컴퓨터 대 컴퓨터) 인증을 사용하는 것이 좋습니다. OAuth M2M 인증은 Azure Databricks에서만 인증할 때 더 강력한 Azure Databricks OAuth 액세스 토큰을 사용하기 때문입니다.
Azure Databricks 및 기타 Azure 리소스를 동시에 인증해야 하는 경우에만 MS Entra 서비스 주체 인증을 사용해야 합니다.
MS Entra 서비스 주체 인증 대신 OAuth M2M 인증을 사용하려면 이 문서를 건너뛰고 OAuth를 사용하여 서비스 주체를 사용하여 Azure Databricks 리소스에 대한 무인 액세스 권한 부여를 참조하세요.
MS Entra 서비스 주체는 Azure Databricks가 인증을 위해 지원하는 Azure 리소스용 관리 ID와는 다릅니다. Azure Databricks 인증을 위해 MS Entra 서비스 주체 대신 Azure 리소스에 관리 ID를 사용하는 방법을 알아보려면 Azure Databricks 자동화대한 Azure 관리 ID 인증 설정 및 사용
특히 Azure DevOps를 사용하여 Databricks에 대한 Microsoft Entra 인증에 대한 자세한 내용은 Azure Databricks에서 Azure DevOps로 인증을 참조하세요.
Azure Databricks에서 MS Entra 서비스 주체 인증을 구성하려면 다음과 같은 연결된 환경 변수, .databrickscfg
필드, Terraform 필드 또는 Config
필드를 설정해야 합니다.
Azure Databricks 호스트입니다.
계정 작업의 경우
https://accounts.azuredatabricks.net
을 지정합니다.작업 영역 작업의 경우 작업 영역별 URL을 지정합니다. 예를 들면 다음과 같습니다
https://adb-1234567890123456.7.azuredatabricks.net
.MS Entra 서비스 주체가 작업 영역에 아직 추가되지 않은 경우 대신 Azure 리소스 ID를 지정합니다. 이 경우 MS Entra 서비스 주체는 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.
계정 작업의 경우 Azure Databricks 계정 ID입니다.
Azure 리소스 ID.
MS Entra 서비스 주체의 테넌트 ID입니다.
MS Entra 서비스 주체의 클라이언트 ID입니다.
MS Entra 서비스 주체의 클라이언트 암호입니다.
Azure Databricks에서 MS Entra 서비스 주체 인증을 수행하려면 참여 도구 또는 SDK를 기반으로 코드 내에 다음을 통합합니다.
도구 또는 SDK를 사용하여 특정 Azure Databricks 인증 유형에 환경 변수를 사용하려면 Azure Databricks 리소스 또는 도구 또는 SDK 설명서에 대한 액세스 권한 부여를 참조하세요. 또한 통합 클라이언트 인증에 대한 환경 변수 및 필드와 클라이언트 통합 인증에 대한 기본 메서드를 참조하세요.
계정 수준 작업의 경우 다음 환경 변수를 설정합니다.
DATABRICKS_HOST
을(를) Azure Databricks 계정 콘솔 URL의 값으로 설정합니다,https://accounts.azuredatabricks.net
.DATABRICKS_ACCOUNT_ID
ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
작업 영역 수준 작업의 경우 다음 환경 변수를 설정합니다.
-
DATABRICKS_HOST
를 Azure Databricks 작업 영역별 URL 값으로 설정합니다(예: ). ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
작업 영역 수준 운영의 경우, MS Entra 서비스 주체가 작업 영역에 아직 추가되지 않은 경우, 작업 영역 URL 대신
DATABRICKS_AZURE_RESOURCE_ID
Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께HOST
을(를) 지정합니다. 이 경우 MS Entra 서비스 주체는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.
파일에 다음 필드를 포함하여 Azure Databricks 구성 프로필을 생성하거나 식별하세요 .databrickscfg
. 프로필을 만드는 경우 자리 표시자를 적절한 값으로 바꿉다. 도구 또는 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_tenant_id = <azure-service-principal-tenant-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
작업 영역 수준 작업의 경우 파일에서 .databrickscfg
다음 값을 설정합니다. 이 경우 호스트는 Azure Databricks 작업 영역별 URL입니다. 예를 들면 다음과 같습니다 https://adb-1234567890123456.7.azuredatabricks.net
.
[<some-unique-configuration-profile-name>]
host = <workspace-url>
azure_tenant_id = <azure-service-principal-tenant-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
작업 영역 수준 운영의 경우, MS Entra 서비스 주체가 작업 영역에 아직 추가되지 않은 경우, 작업 영역 URL 대신 azure_workspace_resource_id
Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께 host
을(를) 지정합니다. 이 경우 MS Entra 서비스 주체는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.
Databricks CLI의 경우 다음 중 하나를 수행합니다
- 이 문서의 "환경" 섹션에 지정된 대로 환경 변수를 설정합니다.
- 파일의 값을 이 문서의 "프로필" 섹션에 지정된 대로
.databrickscfg
에 설정합니다.
환경 변수는 항상 .databrickscfg
파일의 값보다 우선합니다.
Microsoft Entra ID 서비스 주체 인증도 참조하세요.
참고
MS Entra 서비스 주체 인증은 다음 Databricks Connect 버전에서 지원됩니다.
- Python을 사용하는 경우 Databricks Runtime 13.1 버전부터 Databricks Connect.
- Scala의 경우, Databricks Runtime 13.3 LTS 이상 버전을 위한 Databricks Connect.
Databricks Connect의 경우 다음 중 하나를 수행할 수 있습니다.
- '프로필' 섹션에 지정된 대로 이 문서에서 Azure Databricks
.databrickscfg
에 대한 파일의 값을 설정합니다. 또한 프로필의 환경 변수를cluster_id
작업 영역별 URL(예:https://adb-1234567890123456.7.azuredatabricks.net
)로 설정합니다. - 이 문서의 "환경" 섹션에 지정된 대로 Azure Databricks 작업 영역 수준 작업에 대한 환경 변수를 설정합니다. 또한
DATABRICKS_CLUSTER_ID
환경 변수를 예를 들어 과 같이 작업 공간의https://adb-1234567890123456.7.azuredatabricks.net
로 설정하십시오.
.databrickscfg
파일의 값은 항상 환경 변수보다 우선합니다.
Visual Studio Code용 Databricks 익스텐션의 경우 다음을 수행하세요.
- '프로필' 섹션에 지정된 대로 이 문서에서 Azure Databricks
.databrickscfg
에 대한 파일의 값을 설정합니다. - Visual Studio Code용 Databricks 확장의 구성 창에서 Databricks 구성을 클릭합니다.
-
명령 팔레트에서 Databricks 호스트에 대해 작업 영역별 URL(예:
https://adb-1234567890123456.7.azuredatabricks.net
)을 입력하고Enter
를 누릅니다. - 명령 팔레트의 URL 목록에서 대상 프로필의 이름을 선택합니다.
자세한 내용은 Visual Studio Code용 Databricks 확장에 대한 권한 부여 설정을 참조하세요.
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_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
작업 영역 수준 작업의 경우 기본 인증:
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_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
작업 영역 수준 운영의 경우, MS Entra 서비스 주체가 작업 영역에 아직 추가되지 않은 경우, 작업 영역 URL 대신 azure_workspace_resource_id
Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께 host
을(를) 지정합니다. 이 경우 MS Entra 서비스 주체는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.
Databricks Terraform 공급자를 사용하여 인증하는 방법에 대한 자세한 내용은 인증을 참조 하세요.
from databricks.sdk import AccountClient
a = AccountClient()
# ...
직접 구성할 때, 자리 표시자 retrieve
를 사용자 고유의 구현으로 바꿔 콘솔 또는 Azure KeyVault와 같은 다른 구성 저장소에서 값을 검색합니다. 이 경우 Azure Databricks 계정 콘솔 URL은 https://accounts.azuredatabricks.net
입니다.
from databricks.sdk import AccountClient
a = AccountClient(
host = retrieve_account_console_url(),
account_id = retrieve_account_id(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
작업 영역 수준 작업의 경우 기본 인증:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
직접 구성할 때, 자리 표시자 retrieve
를 사용자 고유의 구현으로 바꿔 콘솔 또는 Azure KeyVault와 같은 다른 구성 저장소에서 값을 검색합니다. 이 경우 호스트는 Azure Databricks 작업 영역별 URL입니다. 예를 들면 다음과 같습니다 https://adb-1234567890123456.7.azuredatabricks.net
.
from databricks.sdk import WorkspaceClient
w = WorkspaceClient(
host = retrieve_workspace_url(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
작업 영역 수준 운영의 경우, MS Entra 서비스 주체가 작업 영역에 아직 추가되지 않은 경우, 작업 영역 URL 대신 azure_workspace_resource_id
Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께 host
을(를) 지정합니다. 이 경우 MS Entra 서비스 주체는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.
Python을 사용하고 Databricks 클라이언트 통합 인증을 구현하는 Databricks 도구 및 SDK를 사용하여 인증하는 방법에 대한 자세한 내용은 다음을 참조하세요.
- Python용 Databricks Connect 클라이언트 설정
- Visual Studio Code용 Databricks 확장에 대한 권한 부여 설정
- Azure Databricks 계정 또는 작업 영역을 사용하여 Python용 Databricks SDK 인증
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
직접 구성할 때, 자리 표시자 retrieve
를 사용자 고유의 구현으로 바꿔 콘솔 또는 Azure KeyVault와 같은 다른 구성 저장소에서 값을 검색합니다. 이 경우 Azure Databricks 계정 콘솔 URL은 https://accounts.azuredatabricks.net
입니다.
import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveAccountConsoleUrl())
.setAccountId(retrieveAccountId())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...
작업 영역 수준 작업의 경우 기본 인증:
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
직접 구성할 때, 자리 표시자 retrieve
를 사용자 고유의 구현으로 바꿔 콘솔 또는 Azure KeyVault와 같은 다른 구성 저장소에서 값을 검색합니다. 이 경우 호스트는 Azure Databricks 작업 영역별 URL입니다. 예를 들면 다음과 같습니다 https://adb-1234567890123456.7.azuredatabricks.net
.
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveWorkspaceUrl())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
작업 영역 수준 운영의 경우, MS Entra 서비스 주체가 작업 영역에 아직 추가되지 않은 경우, 작업 영역 URL 대신 setAzureWorkspaceResourceId
Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께 setHost
을(를) 지정합니다. 이 경우 MS Entra 서비스 주체는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.
Java를 사용하고 Databricks 클라이언트 통합 인증을 구현하는 Databricks 도구 및 SDK를 사용하여 인증하는 방법에 대한 자세한 내용은 다음을 참조하세요.
- Scala용 Databricks Connect 클라이언트 설정(Scala 용 Databricks Connect 클라이언트는 Java용 포함된 Databricks SDK를 인증에 사용함)
- Azure Databricks 계정 또는 작업 영역을 사용하여 Java용 Databricks SDK 인증
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(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
작업 영역 수준 작업의 경우 기본 인증:
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(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
작업 영역 수준 운영의 경우, MS Entra 서비스 주체가 작업 영역에 아직 추가되지 않은 경우, 작업 영역 URL 대신 AzureWorkspaceResourceId
Azure Databricks 작업 영역에 대한 Azure 리소스 ID와 함께 Host
을(를) 지정합니다. 이 경우 MS Entra 서비스 주체는 Azure Databricks 작업 영역의 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.
Go를 사용하고 Databricks 클라이언트 통합 인증을 구현하는 Databricks 도구 및 SDK를 사용하여 인증하는 방법에 대한 자세한 내용은 Azure Databricks 계정 또는 작업 영역으로 Go용 Databricks SDK 인증을 참조하세요.