작업 공간 카탈로그 연결

Unity 카탈로그에서 모든 카탈로그는 기본적으로 동일한 메타스토어에 연결된 모든 작업 영역에서 액세스할 수 있습니다. 작업 영역 카탈로그 바인딩을 사용하면 카탈로그를 하나 이상의 특정 작업 영역으로 제한하도록 이 기본값을 재정의할 수 있습니다. 카탈로그에 대한 명시적 권한이 부여된 사용자에 대해서도 언바운드 작업 영역에서의 액세스가 거부됩니다.

작업 영역 카탈로그 바인딩을 사용하는 이유

조직 및 규정 준수 요구 사항은 지정된 환경에서만 특정 데이터에 액세스할 수 있도록 지정하는 경우가 많습니다. 다음을 수행해야 할 수도 있습니다.

  • 개발 또는 테스트 환경에서 프로덕션 데이터를 격리합니다.
  • 특정 데이터 도메인이 함께 조인되지 않도록 합니다.
  • 중요한 데이터는 특정 작업 영역에서만 처리할 수 있는지 확인합니다.

Azure Databricks 작업 영역은 기본 데이터 처리 환경이며 카탈로그는 기본 데이터 도메인입니다. 작업 영역-카탈로그 바인딩은 이러한 두 가지 개념을 연결하여 카탈로그 소유자와 사용자에게 권한이 있는 MANAGE 사용자가 어떤 카탈로그에 액세스할 수 있는 작업 영역을 정의할 수 있도록 합니다.

작업 영역 카탈로그 바인딩 작동 방식

특정 작업 영역에 카탈로그를 바인딩하는 경우 할당한 작업 영역만 카탈로그에 액세스할 수 있습니다. 할당된 목록에 없는 모든 작업 영역은 사용자가 카탈로그에 액세스하려고 할 때 오류를 수신하고 해당 사용자가 보유한 개별 권한 부여를 재정의합니다.

카탈로그 작업 영역 바인딩 다이어그램

이 다이어그램에서는 prod_catalog 두 개의 프로덕션 작업 영역에 바인딩됩니다. 사용자가 테이블에 SELECT대한 권한을 보유 prod_catalog 하더라도 개발자 작업 영역에서 해당 테이블에 액세스할 수 없습니다.

읽기 전용 액세스

카탈로그를 작업 영역에 바인딩할 때 필요에 따라 해당 작업 영역을 읽기 전용 액세스로 제한할 수 있습니다. 해당 작업 영역에서 카탈로그로의 모든 쓰기 작업이 차단됩니다.

기본 작업 영역 카탈로그 동작

기본 열기 동작에 대한 예외는 모든 새 작업 영역에 대해 자동으로 만들어진 기본 작업 영역 카탈로그입니다. 이 작업 영역 카탈로그는 기본적으로 자체 작업 영역에만 바인딩됩니다. 이 카탈로그를 바인딩 해제하거나 다른 작업 영역에 대한 액세스를 확장하는 경우 작업 영역 관리자 그룹은 작업 영역 로컬이며 작업 영역에서 사용할 수 없으므로 필요한 권한을 수동으로 부여해야 합니다.

플랫폼 전체 적용

작업 영역 카탈로그 바인딩은 플랫폼 전체에서 일관되게 적용됩니다.

  • 정보 스키마 쿼리는 현재 작업 영역에서 액세스할 수 있는 카탈로그만 반환합니다.
  • 데이터 계보 및 카탈로그 탐색기는 현재 작업 영역에 할당된 카탈로그만 표시합니다.

작업 영역에 바인딩할 수 있는 내용

작업 영역 바인딩은 카탈로그 외에 적용됩니다. 다음을 바인딩할 수도 있습니다.

  • 외부 위치: 특정 클라우드 스토리지 경로에 액세스할 수 있는 작업 영역을 제한합니다. (선택 사항) 특정 작업 영역에 외부 위치 할당을 참조 하세요.
  • 스토리지 자격 증명: 특정 클라우드 자격 증명을 사용할 수 있는 작업 영역을 제한합니다. (선택 사항) 특정 작업 영역에 스토리지 자격 증명 할당을 참조 하세요.

하나 이상의 작업 영역에 카탈로그 바인딩

특정 작업 영역에 카탈로그를 할당하려면 카탈로그 탐색기 또는 Databricks CLI를 사용할 수 있습니다.

필요합니다.

메모

카탈로그가 현재 작업 영역에 할당되었는지 여부에 관계없이 metastore 관리자는 메타스토어의 모든 카탈로그를 볼 수 있으며 카탈로그 소유자는 메타스토어에서 소유한 모든 카탈로그를 볼 수 있습니다. 작업 영역에 배정되지 않은 카탈로그는 회색으로 표시되며 자식 개체는 표시되거나 쿼리할 수 없습니다.

카탈로그 탐색기

  1. 메타스토어에 연결된 작업 영역에 로그인합니다.

  2. 데이터 아이콘 을 클릭합니다.카탈로그.

  3. 카탈로그 창의 왼쪽에서 카탈로그 이름을 클릭합니다.

    기본 카탈로그 탐색기 창은 기본적으로 카탈로그 목록으로 설정됩니다 . 카탈로그를 선택할 수도 있습니다.

  4. 작업 영역 탭에서 모든 작업 영역에 액세스 권한이 있는지 확인란의 선택을 취소 합니다.

    카탈로그가 이미 하나 이상의 작업 영역에 바인딩된 경우 이 확인란은 이미 선택 취소되어 있습니다.

  5. 작업 영역에 할당을 클릭하고 할당할 작업 영역을 입력하거나 찾습니다.

  6. (선택 사항) 작업 영역 액세스를 읽기 전용으로 제한합니다.

    액세스 수준 관리 메뉴에서 읽기 전용으로 액세스 변경을 선택합니다.

    카탈로그를 편집하고 읽기 및 쓰기에 대한 액세스 변경(Change access)을 선택하여 언제든지 이 선택을 되돌릴 수 있습니다.

액세스 권한을 취소하려면 작업 영역 탭으로 이동하여 작업 영역을 선택하고 해지(Revoke)를 클릭합니다.

CLI

두 개의 Databricks CLI 명령 그룹과 작업 영역에 카탈로그를 할당하는 데 필요한 두 단계가 있습니다.

다음 예제에서는 <profile-name>를 Azure Databricks 인증 구성 프로필의 이름으로 바꿉니다. 개인 액세스 토큰을 생성한 작업 영역의 작업 영역 인스턴스 이름 및 작업 영역 ID 외에도 개인 액세스 토큰의 값을 포함해야 합니다. 개인 액세스 토큰 인증(레거시)을 참조하세요.

  1. catalogs 명령 그룹의 update 명령을 사용하여 카탈로그의 isolation mode을(를) ISOLATED으로 설정합니다.

    databricks catalogs update <my-catalog> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    기본값 isolation-modeOPEN 메타스토어에 연결된 모든 작업 영역에 적용됩니다.

  2. workspace-bindings 명령 그룹의 update-bindings 명령을 사용하여 작업 영역을 카탈로그에 할당합니다.

    databricks workspace-bindings update-bindings catalog <my-catalog> \
    --json '{
      "add": [{"workspace_id": <workspace-id>, "binding_type": <binding-type>}...],
      "remove": [{"workspace_id": <workspace-id>, "binding_type": "<binding-type>}...]
    }' --profile <profile-name>
    

    "add""remove" 속성을 사용하여 작업 영역 바인딩을 추가하거나 제거합니다. <binding-type> ("BINDING_TYPE_READ_WRITE"기본값) 또는 "BINDING_TYPE_READ_ONLY".

카탈로그에 대한 모든 작업 영역 할당을 나열하려면 명령 그룹의 workspace-bindings 명령을 사용합니다get-bindings.

databricks workspace-bindings get-bindings catalog <my-catalog> \
--profile <profile-name>

작업 영역에서 카탈로그 바인딩 해제

카탈로그 탐색기 또는 workspace-bindings CLI 명령 그룹을 사용하여 카탈로그에 대한 작업 영역 액세스를 취소하는 지침은 하나 이상의 작업 영역에 카탈로그 바인딩에 포함되어 있습니다.

Important

작업 영역이 자동으로 Unity 카탈로그에 사용하도록 설정되어 있고 기본 작업 영역 카탈로그가 있는 경우 작업 영역 관리자는 해당 카탈로그를 소유하고 작업 영역에서만 해당 카탈로그에 대한 모든 권한을 갖습니다. 해당 카탈로그를 바인딩 해제하거나 다른 카탈로그에 바인딩하는 경우 작업 영역 관리자 그룹이 작업 영역-로컬 그룹이므로 작업 영역 관리자 그룹의 구성원에게 개별 사용자 또는 계정 수준 그룹을 사용하는 데 필요한 권한을 수동으로 부여해야 합니다. 계정 그룹 및 작업 영역-로컬 그룹에 대한 자세한 내용은 그룹 원본을 참조하세요.