외부 위치 관리

이 문서에서는 외부 위치를 나열, 보기, 업데이트, 권한 부여 및 삭제하는 방법을 설명합니다.

참고 항목

Databricks는 볼륨을 사용하여 파일 액세스를 제어하는 것이 좋습니다. 볼륨 만들기 및 작업을 참조 하세요.

외부 위치 설명

외부 위치의 속성을 보려면 카탈로그 탐색기 또는 SQL 명령을 사용할 수 있습니다.

카탈로그 탐색기

  1. 사이드바에서 카탈로그를 클릭합니다카탈로그 아이콘.
  2. 화면 아래쪽에서 외부 데이터 > 외부 위치를 클릭합니다.
  3. 외부 위치의 이름을 클릭하여 해당 속성을 봅니다.

Sql

Notebook 또는 Databricks SQL 편집기에서 다음 명령을 실행합니다. <location-name>을 외부 위치의 이름으로 바꿉니다.

DESCRIBE EXTERNAL LOCATION <location-name>;

외부 위치에 부여 표시

외부 위치에 대한 권한 부여를 표시하려면 다음과 같은 명령을 사용합니다. 선택적으로 결과를 필터링하여 지정된 보안 주체에 대한 권한 부여만 표시할 수 있습니다.

SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;

자리 표시자 값을 바꿉니다.

  • <location-name>: 클라우드 테넌트의 스토리지 컨테이너 경로에 대한 읽기 및 쓰기 권한을 부여하는 외부 위치의 이름입니다.
  • <principal>: 계정 수준 사용자의 이메일 주소 또는 계정 수준 그룹의 이름입니다.

참고 항목

그룹 이름에 공백이 포함된 경우 그 주위에 백틱을 사용합니다(아포스트로피 아님).

외부 위치에 대한 권한 부여

이 섹션에서는 Notebook 또는 Databricks SQL 쿼리에서 카탈로그 탐색기 및 SQL 명령을 사용하여 외부 위치에 대한 권한을 부여하고 취소하는 방법을 설명합니다. 대신 Databricks CLI 또는 Terraform을 사용하는 방법에 대한 자세한 내용은 Databricks Terraform 설명서Databricks CLI란?을 참조하세요.

외부 위치에 대해 다음 권한을 부여할 수 있습니다.

  • CREATE EXTERNAL TABLE
  • CREATE EXTERNAL VOLUME
  • CREATE MANAGED STORAGE

필요한 권한: CREATE EXTERNAL LOCATION 외부 위치에서 참조되는 metastore 및 스토리지 자격 증명 모두에 대한 권한입니다. Metastore 관리자는 CREATE EXTERNAL LOCATION 기본적으로 metastore에 있습니다.

외부 위치를 사용할 수 있는 권한을 부여하려면 다음을 수행합니다.

카탈로그 탐색기

  1. 사이드바에서 카탈로그를 클릭합니다카탈로그 아이콘.
  2. 화면 아래쪽에서 외부 데이터 > 외부 위치를 클릭합니다.
  3. 속성을 열려면 외부 위치의 이름을 클릭합니다.
  4. 사용 권한을 클릭합니다.
  5. 사용자 또는 그룹에 권한을 부여하려면 각 ID를 선택한 다음 부여를 클릭합니다.
  6. 사용자 또는 그룹의 권한을 취소하려면 각 ID를 선택하고 취소를 클릭합니다.

Sql

Notebook 또는 SQL 쿼리 편집기에서 다음 SQL 명령을 실행합니다. 이 예제에서는 외부 위치를 참조하는 외부 테이블을 만드는 기능을 부여합니다.

GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION <location-name> TO <principal>;

자리 표시자 값을 바꿉니다.

  • <location-name>: 클라우드 테넌트의 스토리지 컨테이너 경로에 대한 읽기 및 쓰기 권한을 부여하는 외부 위치의 이름입니다.
  • <principal>: 계정 수준 사용자의 이메일 주소 또는 계정 수준 그룹의 이름입니다.

참고 항목

그룹 이름에 공백이 포함된 경우 그 주위에 백틱을 사용합니다(아포스트로피 아님).

외부 위치의 소유자 변경

외부 위치의 작성자는 초기 소유자입니다. 소유자를 다른 계정 수준 사용자 또는 그룹으로 변경하려면 Notebook 또는 Databricks SQL 편집기에서 다음 명령을 실행하거나 카탈로그 탐색기를 사용합니다. 자리 표시자 값을 바꿉니다.

  • <location-name>: 자격 증명의 이름입니다.
  • <principal>: 계정 수준 사용자의 이메일 주소 또는 계정 수준 그룹의 이름입니다.
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>

외부 위치를 읽기 전용으로 표시

사용자가 외부 위치에 대한 읽기 전용 액세스 권한을 갖도록 하려면 카탈로그 탐색기를 사용하여 외부 위치를 읽기 전용으로 표시할 수 있습니다.

외부 위치를 읽기 전용으로 만들기:

  • 스토리지 자격 증명의 기반이 되는 Azure 관리 ID에서 부여한 쓰기 권한과 해당 외부 위치에 부여된 Unity 카탈로그 권한에 관계없이 사용자가 해당 외부 위치의 파일에 쓸 수 없도록 합니다.
  • 사용자가 해당 외부 위치에서 테이블 또는 볼륨(외부 또는 관리형)을 만들지 못하도록 합니다.
  • 시스템이 생성 시 외부 위치의 유효성을 제대로 검사할 수 있도록 합니다.

외부 위치를 만들 때 읽기 전용으로 표시할 수 있습니다.

카탈로그 탐색기를 사용하여 외부 위치를 만든 후 읽기 전용 상태 변경할 수도 있습니다.

  1. 사이드바에서 카탈로그를 클릭합니다카탈로그 아이콘.
  2. 화면 아래쪽에서 외부 데이터 > 외부 위치를 클릭합니다.
  3. 외부 위치를 선택하고 개체 행에서 케밥 메뉴 케밥 메뉴(3점 메뉴라고도 함)를 클릭한 다음 편집을 선택합니다.
  4. 편집 대화 상자에서 읽기 전용 옵션을 선택합니다.

외부 위치 수정

외부 위치의 소유자는 이름을 바꾸고, URI를 변경하고, 외부 위치의 스토리지 자격 증명을 변경할 수 있습니다.

외부 위치의 이름을 바꾸려면 다음을 수행합니다.

Notebook 또는 Databricks SQL 편집기에서 다음 명령을 실행합니다. 자리 표시자 값을 바꿉니다.

  • <location-name>: 위치의 이름입니다.
  • <new-location-name>: 위치의 새 이름입니다.
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;

클라우드 테넌트에서 외부 위치가 가리키는 URI를 변경하려면 다음을 수행합니다.

Notebook 또는 Databricks SQL 편집기에서 다음 명령을 실행합니다. 자리 표시자 값을 바꿉니다.

  • <location-name>: 외부 위치의 이름입니다.
  • <url>: 위치가 클라우드 테넌트에 대한 액세스를 승인해야 하는 새 스토리지 URL입니다.
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];

FORCE 옵션은 외부 테이블이 외부 위치에 의존하는 경우에도 URL을 변경합니다.

외부 위치에서 사용하는 스토리지 자격 증명을 변경하려면 다음을 수행합니다.

Notebook 또는 Databricks SQL 편집기에서 다음 명령을 실행합니다. 자리 표시자 값을 바꿉니다.

  • <location-name>: 외부 위치의 이름입니다.
  • <credential-name>: 클라우드 테넌트의 위치 URL에 대한 액세스 권한을 부여하는 스토리지 자격 증명의 이름입니다.
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;

외부 위치 삭제

외부 위치를 삭제(삭제)하려면 소유자여야 합니다. 외부 위치를 삭제하려면 다음을 수행합니다.

Notebook 또는 Databricks SQL 편집기에서 다음 명령을 실행합니다. 괄호 안의 항목은 선택 사항입니다. <location-name>을 외부 위치의 이름으로 바꿉니다.

DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;