Share via


데이터 액세스 구성 사용

이 문서에서는 UI를 사용하는 모든 SQL 웨어하우스에 대해 Azure Databricks 관리자가 수행하는 데이터 액세스 구성에 대해 설명합니다.

참고 항목

작업 영역이 Unity 카탈로그에 사용하도록 설정된 경우 이 문서의 단계를 수행할 필요가 없습니다. Unity 카탈로그는 기본적으로 SQL 웨어하우스를 지원합니다.

Databricks는 인스턴스 프로필 대신 Unity 카탈로그 볼륨 또는 외부 위치를 사용하여 클라우드 개체 스토리지에 연결하는 것이 좋습니다. Unity 카탈로그는 계정의 여러 작업 영역에서 데이터 액세스를 관리하고 감사하는 중앙 위치를 제공하여 데이터의 보안 및 거버넌스를 간소화합니다. 외부 위치를 사용하려면 Unity 카탈로그란? 및 권장 사항.

REST API를 사용하여 모든 SQL 웨어하우스를 구성하려면 SQL Warehouse API를 참조하세요.

Important

이 설정을 변경하면 실행 중인 모든 SQL 웨어하우스가 다시 시작됩니다.

데이터에 대한 액세스를 사용하도록 설정하는 방법에 대한 일반적인 개요는 Access 제어 목록을 참조 하세요.

요구 사항

  • 모든 SQL 웨어하우스에 대한 설정을 구성하려면 Azure Databricks 작업 영역 관리자여야 합니다.

서비스 주체 구성

서비스 주체를 사용하여 Azure Data Lake Storage Gen2 스토리지 계정에 대한 SQL 웨어하우스에 대한 액세스를 구성하려면 다음 단계를 수행합니다.

  1. Microsoft Entra ID(이전의 Azure Active Directory) 애플리케이션을 등록하고 다음 속성을 기록합니다.

    • 애플리케이션(클라이언트) ID: Microsoft Entra ID(이전의 Azure Active Directory) 애플리케이션을 고유하게 식별하는 ID입니다.
    • 디렉터리(테넌트) ID: Azure Databricks에서 Microsoft Entra ID 인스턴스(디렉터리(테넌트) ID라고 함)를 고유하게 식별하는 ID입니다.
    • 클라이언트 암호: 이 애플리케이션 등록을 위해 만든 클라이언트 암호의 값입니다. 애플리케이션은 이 비밀 문자열을 사용하여 ID를 증명합니다.
  2. 스토리지 계정에서 이전 단계에서 등록된 애플리케이션에 대한 역할 할당을 추가하여 스토리지 계정에 대한 액세스 권한을 부여합니다.

  3. Azure Key Vault 지원 비밀 범위 또는 Databricks 범위의 비밀 범위를 만들고 범위 이름 속성의 값을 기록합니다.

    • 범위 이름: 만들어진 비밀 범위의 이름입니다.
  4. Azure Key Vault를 사용하는 경우 비밀 섹션으로 이동하여 Azure Key Vault 지원 범위에서 비밀 만들기를 참조하세요. 그런 다음 1단계에서 얻은 "클라이언트 암호"를 사용하여 이 비밀의 "값" 필드를 채웁니다. 방금 선택한 비밀 이름의 레코드를 유지합니다.

    • 비밀 이름: 생성된 Azure Key Vault 비밀의 이름입니다.
  5. Databricks 지원 범위를 사용하는 경우 Databricks CLI를 사용하여 새 비밀을 만들고 이를 사용하여 1단계에서 얻은 클라이언트 암호를 저장합니다. 이 단계에서 입력한 비밀 키의 레코드를 유지합니다.

    • 비밀 키: 만든 Databricks 지원 비밀의 키입니다.

    참고 항목

    필요에 따라 1단계에서 가져온 클라이언트 ID를 저장하는 추가 비밀을 만들 수 있습니다.

  6. 작업 영역의 위쪽 표시줄에서 사용자 이름을 클릭하고 드롭다운에서 설정 선택합니다.

  7. 컴퓨팅 탭을 클릭합니다.

  8. SQL 웨어하우스 옆의 관리를 클릭합니다.

  9. 데이터 액세스 구성 필드에서 서비스 주체 추가 단추를 클릭합니다.

  10. Azure Data Lake Storage Gen2 스토리지 계정에 대한 속성을 구성합니다.

  11. 추가를 클릭합니다.

    ADLS2 스토리지 계정

    데이터 액세스 구성 텍스트 상자에 새 항목이 추가된 것을 볼 수 있습니다.

  12. 저장을 클릭합니다.

데이터 액세스 구성 텍스트 상자 항목을 직접 편집할 수도 있습니다.

SQL 웨어하우스에 대한 데이터 액세스 속성 구성

데이터 액세스 속성으로 모든 웨어하우스를 구성하려면 다음을 수행합니다.

  1. 작업 영역의 위쪽 표시줄에서 사용자 이름을 클릭하고 드롭다운에서 설정 선택합니다.

  2. 컴퓨팅 탭을 클릭합니다.

  3. SQL 웨어하우스 옆의 관리를 클릭합니다.

  4. 데이터 액세스 구성 텍스트 상자에서 메타스토어 속성이 포함된 키-값 쌍을 지정합니다.

    Important

    비밀 값을 Spark에 노출하지 않고 Spark 구성 속성을 비밀 값으로 설정하려면 값을 {{secrets/<secret-scope>/<secret-name>}}으로 설정합니다. <secret-scope>을 비밀 범위로 바꾸고 <secret-name>을 비밀 이름으로 바꿉니다. 값은 {{secrets/로 시작하고 }}로 끝나야 합니다. 이 구문에 대한 자세한 내용은 Spark 구성 속성 또는 환경 변수에서 비밀을 참조하는 구문을 참조하세요.

  5. 저장을 클릭합니다.

Databricks Terraform 공급자 및 databricks_sql_global_config 사용하여 데이터 액세스 속성을 구성할 수도 있습니다.

지원되는 속성

  • *로 끝나는 항목의 경우 해당 접두사 내의 모든 속성이 지원됩니다.

    예를 들어 spark.sql.hive.metastore.* 지원되는 속성과 spark.sql.hive.metastore.version 로 시작하는 spark.sql.hive.metastore다른 속성을 모두 spark.sql.hive.metastore.jars 나타냅니다.

  • 값에 중요한 정보가 포함된 속성의 경우 비밀에 중요한 정보를 저장하고 secrets/<secret-scope>/<secret-name> 구문을 사용하여 속성 값을 보안 비밀 이름으로 설정할 수 있습니다.

SQL 웨어하우스에 대해 지원되는 속성은 다음과 같습니다.

  • spark.sql.hive.metastore.*
  • spark.sql.warehouse.dir
  • spark.hadoop.datanucleus.*
  • spark.hadoop.fs.*
  • spark.hadoop.hive.*
  • spark.hadoop.javax.jdo.option.*
  • spark.hive.*

이러한 속성을 설정하는 방법에 대한 자세한 내용은 외부 Hive 메타스토어를 참조하세요.