Unity 카탈로그를 사용하여 클라우드 개체 스토리지에 커넥트

이 문서에서는 Unity 카탈로그를 사용하여 데이터를 사용하는 데 필요한 클라우드 스토리지 연결 구성에 대한 개요를 제공합니다.

Databricks는 Unity 카탈로그를 사용하여 클라우드 개체 스토리지에 저장된 모든 데이터에 대한 액세스를 관리하는 것이 좋습니다. Unity 카탈로그는 클라우드 개체 스토리지에 대한 보안 연결을 구성하는 도구 모음을 제공합니다. 이러한 연결은 다음 작업을 완료하기 위한 액세스를 제공합니다.

  • 원시 데이터를 레이크하우스로 수집합니다.
  • 보안 클라우드 스토리지에서 관리되는 테이블을 만들고 읽습니다.
  • 테이블 형식 데이터를 포함하는 외부 테이블을 등록하거나 만듭니다.
  • 구조화되지 않은 데이터를 읽고 씁니다.

Warning

최종 사용자에게 Unity 카탈로그 관리 테이블 또는 볼륨에 대한 스토리지 수준 액세스 권한을 부여하지 마세요. 이렇게 하면 데이터 보안 및 거버넌스가 손상됩니다.

사용자에게 Azure Data Lake Storage Gen2의 외부 위치 스토리지에 대한 직접 스토리지 수준 액세스 권한을 부여해도 Unity 카탈로그에서 기본 부여된 사용 권한 또는 감사는 적용되지 않습니다. 직접 액세스는 액세스 제어 및 권한을 포함하여 Unity 카탈로그의 감사, 계보 및 기타 보안 및 모니터링 기능을 우회합니다. Azure Data Lake Storage Gen2를 통해 직접 스토리지 액세스를 관리하고 사용자에게 Fabric을 통해 부여된 적절한 권한이 있는지 확인할 책임이 있습니다.

Databricks 관리 테이블을 저장하는 버킷에 대해 직접 스토리지 수준 쓰기 액세스 권한을 부여하는 모든 시나리오를 방지합니다. 원래 Unity 카탈로그에서 관리하던 스토리지를 통해 개체를 직접 수정, 삭제 또는 진화하면 데이터가 손상될 수 있습니다.

참고 항목

2023년 11월 9일 이전에 작업 영역을 만든 경우 Unity 카탈로그에 대해 사용하도록 설정되지 않았을 수 있습니다. 계정 관리자는 작업 영역에 대해 Unity 카탈로그를 사용하도록 설정해야 합니다. Unity 카탈로그에 작업 영역 사용을 참조하세요.

Unity 카탈로그는 개체 스토리지를 Azure Databricks에 어떻게 연결하나요?

Azure Databricks는 Azure Data Lake Storage Gen2 컨테이너와 Cloudflare R2 버킷(공개 미리 보기)을 모두 Unity 카탈로그에 등록된 데이터 및 AI 자산에 대한 클라우드 스토리지 위치로 지원합니다. R2는 주로 클라우드 및 지역에서 델타 공유와 같은 데이터 송신 비용을 방지하려는 사용 사례를 위한 것입니다. 자세한 내용은 Cloudflare R2 복제본(replica) 사용 또는 스토리지를 R2로 마이그레이션을 참조하세요.

테이블 및 볼륨을 보유하는 기본 클라우드 스토리지에 대한 액세스를 관리하기 위해 Unity 카탈로그는 다음 개체 유형을 사용합니다.

  • 스토리지 자격 증명은 Azure Data Lake Storage Gen2 컨테이너에 대한 Azure 관리 ID 또는 Cloudflare R2 버킷용 R2 API 토큰을 사용하여 클라우드 테넌트에 저장된 데이터에 액세스하기 위한 인증 및 권한 부여 메커니즘을 나타냅니다. 각 스토리지 자격 증명에는 자격 증명에 액세스할 수 있는 사용자 및 그룹을 제어하는 Unity 카탈로그 액세스 제어 정책이 적용됩니다. 사용자가 Unity 카탈로그의 스토리지 자격 증명에 액세스할 수 없는 경우 요청이 실패하고 Unity 카탈로그는 사용자를 대신하여 클라우드 테넌트에 대한 인증을 시도하지 않습니다. 스토리지 자격 증명을 만들 수 있는 권한은 외부 위치를 정의해야 하는 사용자에게만 부여되어야 합니다. Azure Data Lake Storage Gen2에 연결하기 위한 스토리지 자격 증명 만들기 및 Cloudflare R2에 연결하기 위한 스토리지 자격 증명 만들기를 참조하세요.

  • 외부 위치는 클라우드 스토리지 경로에 대한 액세스를 승인하는 스토리지 자격 증명과 클라우드 스토리지 경로를 결합한 개체입니다. 각 스토리지 위치에는 자격 증명에 액세스할 수 있는 사용자 및 그룹을 제어하는 Unity 카탈로그 액세스 제어 정책이 적용됩니다. 사용자가 Unity 카탈로그의 스토리지 위치에 액세스할 수 없는 경우 요청이 실패하고 Unity 카탈로그는 사용자를 대신하여 클라우드 테넌트에 대한 인증을 시도하지 않습니다. 외부 위치를 만들고 사용할 수 있는 권한은 외부 테이블, 외부 볼륨 또는 관리되는 스토리지 위치를 만들어야 하는 사용자에게만 부여되어야 합니다. 클라우드 스토리지를 Azure Databricks에 연결하는 외부 위치 만들기를 참조 하세요.

    외부 위치는 외부 테이블 및 외부 볼륨과 같은 외부 데이터 자산과 관리되는 테이블관리되는 볼륨같은 관리되는 데이터 자산에 모두 사용됩니다. 차이점에 대한 자세한 내용은 테이블볼륨을 참조하세요.

    관리되는 테이블 및 관리되는 볼륨저장하는 데 외부 위치를 사용하는 경우 관리되는 스토리지 위치라고 합니다. 관리되는 스토리지 위치는 메타스토어, 카탈로그 또는 스키마 수준에 있을 수 있습니다. Databricks는 카탈로그 수준에서 관리되는 스토리지 위치를 구성하는 것이 좋습니다. 보다 세부적인 격리가 필요한 경우 스키마 수준에서 관리되는 스토리지 위치를 지정할 수 있습니다. Unity 카탈로그에 대해 사용하도록 설정된 작업 영역에는 기본적으로 메타스토어 수준 스토리지가 자동으로 없지만, 카탈로그 수준 스토리지가 정의되지 않은 경우 메타스토어 수준에서 관리되는 스토리지 위치를 지정하여 기본 스토리지를 제공할 수 있습니다. Unity 카탈로그에 사용하도록 설정된 작업 영역은 기본적으로 메타스토어 수준 관리 스토리지 위치를 수동으로 받습니다. Unity 카탈로그 및 Unity 카탈로그 모범 사례에서 관리되는 스토리지 위치 지정을 참조하세요.

볼륨은 대부분의 Azure Databricks 사용자가 클라우드 개체 스토리지의 테이블 형식이 아닌 데이터와 직접 상호 작용하는 데 사용해야 하는 보안 개체입니다. 볼륨 만들기 및 작업을 참조 하세요.

참고 항목

Unity 카탈로그는 클라우드 스토리지 URI를 사용하여 외부 테이블 및 외부 볼륨에 대한 경로 기반 액세스를 지원하지만, Databricks는 사용자가 테이블 이름을 사용하여 모든 Unity 카탈로그 테이블을 읽고 쓰고 경로를 사용하여 /Volumes 볼륨의 데이터에 액세스하는 것이 좋습니다.

다음 단계

Unity 카탈로그를 관리자로 시작하는 경우 Unity 카탈로그 설정 및 관리를 참조하세요.

새 사용자이고 작업 영역이 Unity 카탈로그에 대해 이미 사용하도록 설정된 경우 자습서: 첫 번째 테이블 만들기 및 Unity 카탈로그에서 권한 부여를 참조하세요.