다음을 통해 공유


Unity 카탈로그 서비스 자격 증명을 사용하여 외부 클라우드 서비스에 연결

이 문서에서는 Unity 카탈로그에서 서비스 자격 증명을 사용하여 외부 클라우드 서비스에 연결하는 방법을 설명합니다. Unity 카탈로그의 서비스 자격 증명 개체는 사용자가 Azure Databricks에서 연결해야 하는 외부 클라우드 서비스에 대한 액세스를 제공하는 장기 클라우드 자격 증명을 캡슐화합니다.

다음을 참조하세요.

시작하기 전에

서비스 자격 증명을 사용하여 외부 클라우드 서비스에 연결하려면 다음이 있어야 합니다.

  • Unity 카탈로그에 사용하도록 설정된 Azure Databricks 작업 영역입니다.

  • Databricks Runtime 16.2 이상에 있는 컴퓨팅 리소스입니다.

    SQL 웨어하우스는 지원되지 않습니다.

    서비스 자격 증명의 공개 미리 보기 버전은 Databricks Runtime 15.4 LTS 이상에서 사용할 수 있으며 Python은 지원되지만 Scala 지원은 없습니다.

  • 클라우드 서비스에 대한 액세스를 제공하는 Unity 카탈로그 메타스토어에서 만든 서비스 자격 증명입니다.

  • ACCESS 서비스 자격 증명 또는 서비스 자격 증명의 소유권에 대한 권한입니다.

코드에서 서비스 자격 증명 사용

이 섹션에서는 Notebook에서 서비스 자격 증명을 사용하는 예제를 제공합니다. 자리 표시자 값을 바꿉다. 이러한 예제는 반드시 액세스하려는 클라이언트 서비스에 따라 달라지는 필수 라이브러리의 설치를 표시하지는 않습니다.

Python 예제: 특정 서비스 자격 증명을 사용하도록 Azure SDK 클라이언트 구성

from azure.keyvault.secrets import SecretClient # example Azure SDK client

credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')
vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)

Scala 예제: 특정 서비스 자격 증명을 사용하도록 Azure SDK 클라이언트 구성

import com.azure.security.keyvault.secrets.{SecretClient, SecretClientBuilder}

// Get credentials from dbutils
val credential = dbutils.credentials.getServiceCredentialsProvider("your-service-credential")

// URL of the Key Vault
val vaultUrl = "https://your-keyvault-name.vault.azure.net/"

// Create the SecretClient
val client: SecretClient = new SecretClientBuilder()
  .vaultUrl(vaultUrl)
  .credential(credential)
  .buildClient()

컴퓨팅 리소스에 대한 기본 서비스 자격 증명 지정

필요에 따라 환경 변수를 설정하여 다목적 또는 작업 컴퓨팅 클러스터에 대한 기본 서비스 자격 증명을 지정할 수 있습니다. 기본적으로 SDK는 인증이 제공되지 않은 경우 해당 서비스 자격 증명을 사용합니다. 사용자는 여전히 외부 클라우드 서비스에 연결하기 위해 해당 서비스 자격 증명이 필요합니다 ACCESS . Databricks는 코드에서 서비스 자격 증명의 이름을 지정하는 것보다 코드의 이식성이 떨어지므로 이 방법을 권장하지 않습니다.

참고 항목

서버리스 컴퓨팅 및 SQL 웨어하우스는 환경 변수를 지원하지 않으므로 기본 서비스 자격 증명을 지원하지 않습니다.

  1. 클러스터에 대한 편집 페이지를 엽니다.

    컴퓨팅 관리를 참조하세요.

  2. 페이지 아래쪽에서 고급 옵션을 클릭하고 Spark 탭으로 이동합니다.

  3. 환경 변수에 .

    DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME=<your-service-credential>

다음 코드 샘플에서는 서비스 자격 증명을 지정하지 않습니다. 대신 DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME 환경 변수에 지정된 서비스 자격 증명을 사용합니다.

파이썬

기본 서비스 자격 증명을 사용하는 경우 자격 증명을 인수로 지정할 필요가 없습니다.

from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)

Python 예제의 예제와 비교합니다. DefaultAzureCredential 가져오지 않고 자격 증명 사양을 추가하는 특정 서비스 자격 증명사용하도록 Azure SDK 클라이언트를 구성합니다.

credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')

스칼라

Scala의 경우 서비스 자격 증명 이름을 null로 바꿉니다.

val azureCredentials = dbutils.credentials.getServiceCredentialsProvider(null).asInstanceOf[TokenCredential]