다음을 통해 공유


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

Important

이 기능은 공개 미리 보기 상태입니다.

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

다음을 참조하세요.

시작하기 전에

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

  • Unity 카탈로그에 사용하도록 설정된 Azure Databricks 작업 영역입니다.
  • Databricks Runtime 15.4 LTS 이상에 있는 컴퓨팅 리소스입니다. SQL 웨어하우스는 지원되지 않습니다.
  • 클라우드 서비스에 대한 액세스를 제공하는 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)

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

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

참고 항목

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

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

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

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

  3. 환경 변수에 다음 항목을 추가하여 바꿉<your-service-credential>니다.

    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)

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

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