클러스터에서 Hive metastore 테이블 액세스 제어 사용(레거시)

이 문서에서는 클러스터의 기본 제공 Hive 메타스토어에 대해 테이블 액세스 제어를 사용하도록 설정하는 방법을 설명합니다.

클러스터에서 테이블 액세스 제어를 사용하도록 설정한 후 Hive 메타스토어 보안 개체에 대한 권한을 설정하는 방법에 대한 자세한 내용은 Hive 메타스토어 권한 및 보안 개체(레거시)를 참조하세요.

참고 항목

Hive 메타스토어 테이블 액세스 제어는 레거시 데이터 거버넌스 모델입니다. Databricks는 단순성과 계정 중심 거버넌스 모델을 위해 대신 Unity 카탈로그를 사용하는 것이 좋습니다. Hive 메타스토어에서 관리하는 테이블을 Unity 카탈로그 메타스토어로 업그레이드할 수 있습니다.

클러스터에 대한 테이블 액세스 제어 사용

테이블 액세스 제어는 두 가지 버전으로 제공됩니다.

Machine Learning 런타임에는 테이블 액세스 제어가 지원되지 않습니다.

Important

클러스터에 대해 테이블 액세스 제어를 사용하도록 설정하더라도 Azure Databricks 작업 영역 관리자는 파일 수준 데이터에 액세스할 수 있습니다.

SQL 전용 테이블 액세스 제어

이 버전의 테이블 액세스 제어는 사용자를 SQL 명령으로만 제한합니다.

클러스터에서 SQL 전용 테이블 액세스 제어를 사용하도록 설정하고 해당 클러스터가 SQL 명령만 사용하도록 제한하려면 클러스터의 Spark conf에서 다음 플래그를 설정합니다.

spark.databricks.acl.sqlOnly true

참고 항목

SQL 전용 테이블 액세스 제어에 대한 액세스는 관리 설정 페이지의 테이블 액세스 제어 사용 설정의 영향을 받지 않습니다. 이 설정은 Python 및 SQL 테이블 액세스 제어의 작업 영역 전체 사용하도록 설정만 제어합니다.

Python 및 SQL 테이블 액세스 제어

이 버전의 테이블 액세스 제어를 통해 사용자는 SQL뿐만 아니라 DataFrame API를 사용하는 Python 명령을 실행할 수 있습니다. 클러스터에서 사용하도록 설정되면 해당 클러스터의 사용자는 다음을 수행합니다.

  • Spark SQL API 또는 DataFrame API를 통해서만 Spark에 액세스할 수 있습니다. 두 경우 모두 Hive 메타스토어 개체에 부여할 수 있는 Azure Databricks 권한에 따라 관리자가 테이블 및 뷰에 대한 액세스를 제한합니다.
  • 파일 시스템의 중요한 부분에 액세스하거나 80 및 443 이외의 포트에 대한 네트워크 연결 만들 수 없게 된 낮은 권한의 사용자로 클러스터 노드에서 명령을 실행해야 합니다.
    • 기본 제공된 Spark 기능만 80 및 443 이외의 포트에서 네트워크 연결을 만들 수 있습니다.
    • 작업 영역 관리자 사용자 또는 ANY FILE 권한이 있는 사용자만 PySpark JDBC 커넥터를 통해 외부 데이터베이스에서 데이터를 읽을 수 있습니다.
    • Python 프로세스가 추가 아웃바운드 포트에 액세스할 수 있도록 하려면 액세스를 허용할 포트로 Spark 구성spark.databricks.pyspark.iptable.outbound.whitelisted.ports을 설정할 수 있습니다. 지원되는 구성 값 형식은 [port[:port][,port[:port]]...]입니다(예: 21,22,9000:9999). 포트는 유효한 범위(0-65535) 내에 있어야 합니다.

이러한 제한을 우회하려는 시도는 예외와 함께 실패합니다. 이러한 제한은 사용자가 클러스터를 통해 권한이 없는 데이터에 액세스할 수 없도록 하기 위한 것입니다.

작업 영역에 대한 테이블 액세스 제어 사용

사용자가 Python 및 SQL 테이블 액세스 제어를 구성하려면 먼저 Azure Databricks 작업 영역에서 Azure Databricks 작업 영역에 대한 테이블 액세스 제어를 사용하도록 설정하고 테이블 액세스 제어에 대해 사용하도록 설정되지 않은 클러스터에 대한 사용자 액세스를 거부해야 합니다.

  1. 관리자 설정 페이지이동합니다.
  2. 작업 영역 설정 탭을 클릭합니다.
  3. 클러스터, 풀 및 작업 액세스 제어 토글을 클릭합니다.
  4. 확인을 클릭합니다.
  5. 테이블 액세스 제어 토글을 클릭합니다.
  6. 확인을 클릭합니다.

테이블 액세스 제어 적용

사용자가 원하는 데이터에만 액세스하도록 하려면 테이블 액세스 제어가 활성화된 클러스터로 사용자를 제한해야 합니다. 특히 다음을 확인해야 합니다.

  • 사용자에게 클러스터를 만들 수 있는 권한이 없습니다. 테이블 액세스 제어 없이 클러스터를 만드는 경우 해당 클러스터의 모든 데이터에 액세스할 수 있습니다.
  • 사용자에게 테이블 액세스 제어에 대해 사용하도록 설정되지 않은 클러스터에 대한 CAN ATTACH TO 권한이 없습니다.

자세한 내용은 컴퓨팅 권한을 참조하세요.

테이블 액세스 제어에 사용하도록 설정된 클러스터 만들기

테이블 액세스 제어는 공유 액세스 모드가 있는 클러스터에서 기본적으로 사용하도록 설정됩니다.

REST API를 사용하여 클러스터를 만들려면 새 클러스터 만들기를 참조하세요.

데이터 개체에 대한 권한 설정

Hive 메타스토어 권한 및 보안 개체(레거시)를 참조하세요.