Azure Data Lake Storage Gen2에 연결하기 위한 스토리지 자격 증명 만들기
이 문서에서는 Unity 카탈로그에서 스토리지 자격 증명을 만들어 Azure Data Lake Storage Gen2에 연결하는 방법을 설명합니다.
테이블과 볼륨을 보유한 기본 클라우드 스토리지에 대한 액세스를 관리하기 위해 Unity 카탈로그는 다음 개체 유형을 사용합니다.
- 스토리지 자격 증명은 클라우드 스토리지에 대한 액세스를 제공하는 장기 클라우드 자격 증명을 캡슐화합니다.
- 외부 위치에는 스토리지 자격 증명 및 클라우드 스토리지 경로에 대한 참조가 포함됩니다.
자세한 내용은 Unity 카탈로그를 사용하여 클라우드 스토리지에 대한 액세스 관리를 참조 하세요.
참고 항목
Unity 카탈로그를 사용하여 클라우드 스토리지가 아닌 외부 서비스에 대한 액세스를 제어하려면 서비스 자격 증명을 사용하여 외부 클라우드 서비스에 대한 액세스 관리를 참조하세요.
Unity 카탈로그는 Azure Databricks에 대한 세 가지 클라우드 스토리지 옵션인 Azure Data Lake Storage Gen2 컨테이너, Cloudflare R2 버킷 및 DBFS 루트를 지원합니다. Cloudflare R2는 주로 데이터 송신 요금을 방지하려는 델타 공유 사용 사례를 위한 것입니다. Azure Data Lake Storage Gen2는 대부분의 다른 사용 사례에 적합합니다. 이 문서에서는 Azure Data Lake Storage Gen2 컨테이너에 대한 스토리지 자격 증명을 만드는 데 중점을 둡니다. Cloudflare R2의 경우 Cloudflare R2에 연결하기 위한 스토리지 자격 증명 만들기를 참조하세요.
DBFS 루트는 DBFS 루트대한 액세스를 제어하는 데 사용됩니다. Databricks는 DBFS 루트 스토리지에 데이터를 저장하지 않는 것이 좋습니다. 하지만 레거시 사례로 인해 작업 영역이 이런 방식으로 데이터를 저장할 수 있습니다. DBFS 루트의 경우 DBFS 루트데이터에 대한 외부 위치 만들기를 참조하세요.
Azure Data Lake Storage Gen2 컨테이너에 액세스하기 위한 스토리지 자격 증명을 만들려면 Azure 관리 ID를 참조하는 Azure Databricks 액세스 커넥터를 만들어 스토리지 컨테이너에 대한 권한을 할당합니다. 그런 다음 스토리지 자격 증명 정의에서 해당 액세스 커넥터를 참조합니다.
요구 사항
Azure Databricks에서:
- Unity 카탈로그에 사용할 수 있는 Azure Databricks 작업 영역입니다.
- 작업 영역에 연결된 Unity 카탈로그 메타스토어에 대한
CREATE STORAGE CREDENTIAL
권한 계정 관리자 및 메타스토어 관리자는 기본적으로 이러한 권한을 가집니다.
Azure 테넌트에서:
Azure Data Lake Storage Gen2 스토리지 컨테이너. 송신 요금을 방지하려면 데이터에 액세스하려는 작업 영역과 동일한 지역에 있어야 합니다.
Azure Data Lake Storage Gen2 스토리지 계정에는 계층 구조 네임스페이스가 있어야 합니다.
Azure 리소스 그룹의 참가자 또는 소유자입니다.
스토리지 계정에서 사용자 액세스 관리자 Azure RBAC 역할을 가진 소유자 또는 사용자입니다.
관리 ID를 사용하여 스토리지 자격 증명 만들기
Azure 관리 ID 또는 서비스 주체를 스토리지 컨테이너에 대한 액세스 권한을 부여하는 ID로 사용할 수 있습니다. 관리 ID를 사용하는 것이 좋습니다. Unity Catalog가 네트워크 규칙으로 보호되는 스토리지 계정에 액세스할 수 있다는 장점이 있으며, 서비스 주체를 사용할 수 없으므로 비밀을 관리하고 회전할 필요가 없습니다. 서비스 주체를 사용하려면 서비스 주체(레거시)를 사용하여 Unity 카탈로그 관리 스토리지 만들기를 참조하세요.
Azure Portal에서 Unity 카탈로그에 대한 관리 ID 구성의 지침을 사용하여 Azure Databricks 액세스 커넥터를 만들고 액세스하려는 스토리지 컨테이너에 대한 권한을 할당합니다.
Azure Databricks 액세스 커넥터는 관리 ID를 Azure Databricks 계정에 연결할 수 있는 자사 Azure 리소스입니다. 스토리지 자격 증명을 추가하려면 Azure의 액세스 커넥터 리소스에 대한 기여자 역할 이상이 있어야 합니다.
액세스 커넥터의 리소스 ID를 기록해 둡니다.
권한이 있는 사용자
CREATE STORAGE CREDENTIAL
로 Unity 카탈로그 사용 Azure Databricks 작업 영역에 로그인합니다.metastore 관리자 및 계정 관리자 역할에는 모두 이 권한이 포함됩니다.
카탈로그를 클릭합니다.
빠른 액세스 페이지에서 외부 데이터 > 단추를 클릭하고 자격 증명 탭으로 이동하여 자격 증명 만들기를 선택합니다.
스토리지 자격 증명을 선택합니다.
Azure 관리 ID의 자격 증명 유형을 선택합니다.
자격 증명의 이름을 입력하고 액세스 커넥터의 리소스 ID를 다음 형식으로 입력합니다.
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
(선택 사항) 사용자 할당 관리 ID를 사용하여 액세스 커넥터를 만든 경우 사용자 할당 관리 ID 필드에 관리 ID 의 리소스 ID 를 형식으로 입력합니다.
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
(선택 사항) 사용자가 이 스토리지 자격 증명을 사용하는 외부 위치에 대한 읽기 전용 액세스 권한을 갖도록 하려면 읽기 전용을 선택합니다. 자세한 내용은 스토리지 자격 증명을 읽기 전용으로 표시를 참조하세요.
만들기를 클릭합니다.
(선택 사항) 스토리지 자격 증명을 특정 작업 영역에 바인딩합니다.
기본적으로 권한 있는 사용자는 메타스토어에 연결된 모든 작업 영역에서 스토리지 자격 증명을 사용할 수 있습니다. 특정 작업 영역에서만 액세스를 허용하려면 작업 영역 탭으로 이동하여 작업 영역을 할당합니다. (선택 사항) 특정 작업 영역에 스토리지 자격 증명 할당을 참조 하세요.
이 스토리지 자격 증명을 참조하는 외부 위치를 만듭니다.
(선택 사항) 특정 작업 영역에 스토리지 자격 증명 할당
Important
이 기능은 공개 미리 보기 상태입니다.
기본적으로 메타스토어의 모든 작업 영역에서 스토리지 자격 증명에 액세스할 수 있습니다. 즉, 사용자에게 해당 스토리지 자격 증명에 대한 권한(예: CREATE EXTERNAL LOCATION
)이 부여된 경우 metastore에 연결된 모든 작업 영역에서 해당 권한을 행사할 수 있습니다. 작업 영역을 사용하여 사용자 데이터 액세스를 격리하는 경우 특정 작업 영역에서만 스토리지 자격 증명에 대한 액세스를 허용할 수 있습니다. 이 기능을 작업 영역 바인딩 또는 스토리지 자격 증명 격리라고 합니다.
스토리지 자격 증명을 특정 작업 영역에 바인딩하는 일반적인 사용 사례는 클라우드 관리자가 프로덕션 클라우드 계정 자격 증명을 사용하여 스토리지 자격 증명을 구성하고 Azure Databricks 사용자가 이 자격 증명을 사용하여 프로덕션 작업 영역에서만 외부 위치를 만들도록 하는 시나리오입니다.
작업 영역 바인딩에 대한 자세한 내용은 (선택 사항) 특정 작업 영역에 외부 위치 할당 및 특정 작업 영역에 대한 카탈로그 액세스 제한을 참조하세요.
참고 항목
스토리지 자격 증명에 대한 권한이 실행될 때 작업 영역 바인딩이 참조됩니다. 예를 들어 사용자가 스토리지 자격 증명을 사용하여 외부 위치를 만드는 경우 스토리지 자격 증명의 작업 영역 바인딩은 외부 위치를 만들 때만 확인됩니다. 외부 위치를 만든 후에는 스토리지 자격 증명에 구성된 작업 영역 바인딩과 독립적으로 작동합니다.
하나 이상의 작업 영역에 스토리지 자격 증명 바인딩
특정 작업 영역에 스토리지 자격 증명을 할당하려면 카탈로그 탐색기 또는 Databricks CLI를 사용할 수 있습니다.
권한이 필요한: Metastore 관리자, 스토리지 자격 증명 소유자 또는 스토리지 자격 증명에 대한 MANAGE
권한 보유자.
참고 항목
Metastore 관리자는 카탈로그 탐색기를 사용하여 메타스토어의 모든 스토리지 자격 증명을 볼 수 있으며 스토리지 자격 증명 소유자는 스토리지 자격 증명이 현재 작업 영역에 할당되었는지 여부에 관계없이 메타스토어에서 소유한 모든 스토리지 자격 증명을 볼 수 있습니다. 작업 영역에 할당되지 않은 스토리지 자격 증명이 회색으로 표시됩니다.
카탈로그 탐색기
메타스토어에 연결된 작업 영역에 로그인합니다.
사이드바에서 카탈로그를 클릭합니다 .
빠른 액세스 페이지에서 외부 데이터>단추를 클릭하고 자격 증명 탭으로 이동합니다.
스토리지 자격 증명을 선택하고 작업 영역 탭으로 이동합니다.
작업 영역 탭에서 모든 작업 영역에 액세스 권한이 있는지 확인란의 선택을 취소 합니다.
스토리지 자격 증명이 이미 하나 이상의 작업 영역에 바인딩된 경우 이 확인란은 이미 선택 취소되어 있습니다.
작업 영역에 할당을 클릭하고 할당할 작업 영역을 입력하거나 찾습니다.
액세스 권한을 취소하려면 작업 영역 탭으로 이동하여 작업 영역을 선택하고 해지(Revoke)를 클릭합니다. 모든 작업 영역에서 액세스를 허용하려면 모든 작업 영역에 액세스 권한이 있는지 확인란을 선택합니다.
CLI
두 개의 Databricks CLI 명령 그룹과 작업 영역에 스토리지 자격 증명을 할당하는 데 필요한 두 단계가 있습니다.
다음 예제에서는 Azure Databricks 인증 구성 프로필의 이름으로 바꿉 <profile-name>
니다. 개인 액세스 토큰을 생성한 작업 영역의 작업 영역 인스턴스 이름 및 작업 영역 ID 외에도 개인 액세스 토큰의 값을 포함해야 합니다.
Azure Databricks 개인용 액세스 토큰 인증을 참조하세요.
storage-credentials
명령 그룹의update
명령을 사용하여 스토리지 자격 증명isolation mode
을 다음으로ISOLATED
설정합니다.databricks storage-credentials update <my-storage-credential> \ --isolation-mode ISOLATED \ --profile <profile-name>
기본값
isolation-mode
은OPEN
메타스토어에 연결된 모든 작업 영역입니다.workspace-bindings
명령 그룹의update-bindings
명령을 사용하여 스토리지 자격 증명에 작업 영역을 할당합니다.databricks workspace-bindings update-bindings storage-credential <my-storage-credential> \ --json '{ "add": [{"workspace_id": <workspace-id>}...], "remove": [{"workspace_id": <workspace-id>}...] }' --profile <profile-name>
"add"
및"remove"
속성을 사용하여 작업 영역 바인딩을 추가하거나 제거합니다.참고 항목
스토리지 자격 증명에는 읽기 전용 바인딩(
BINDING_TYPE_READ_ONLY
)을 사용할 수 없습니다. 따라서 스토리지 자격 증명 바인딩에 대해 설정할binding_type
이유가 없습니다.
스토리지 자격 증명에 대한 모든 작업 영역 할당을 나열하려면 명령 그룹의 workspace-bindings
명령을 사용합니다get-bindings
.
databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>
작업 영역에서 스토리지 자격 증명 바인딩 해제
카탈로그 탐색기 또는 workspace-bindings
CLI 명령 그룹을 사용하여 스토리지 자격 증명에 대한 작업 영역 액세스를 취소하기 위한 지침은 하나 이상의 작업 영역에 스토리지 자격 증명 바인딩에 포함되어 있습니다.
다음 단계
스토리지 자격 증명을 사용할 수 있는 권한을 다른 사용자에게 보고, 업데이트하고, 삭제하고, 부여할 수 있습니다. 스토리지 자격 증명 관리를 참조하세요.
스토리지 자격 증명을 사용하여 외부 위치를 정의할 수 있습니다. 클라우드 스토리지를 Azure Databricks에 연결하기 위한 외부 위치 생성 방법을 참조하세요.