다음을 통해 공유


공유 컴퓨팅의 허용 목록 라이브러리 및 초기화 스크립트

Databricks Runtime 13.3 LTS 이상에서는 Unity 카탈로그에 라이브러리 및 init 스크립트를 allowlist 추가할 수 있습니다. 이를 통해 사용자는 공유 액세스 모드로 구성된 컴퓨팅에서 이러한 아티팩트 활용이 가능합니다.

해당 디렉터리 또는 파일이 존재하기 전에 디렉터리 또는 파일 경로를 허용 목록에 추가할 수 있습니다. Unity Catalog 볼륨에 파일 업로드를 참조하세요.

참고 항목

메타스토어 관리자이거나 허용 목록을 수정할 수 있는 MANAGE ALLOWLIST 권한이 있어야 합니다. ALLOWLIST 관리를 참조하세요.

Important

Unity 카탈로그 사용 공유 컴퓨팅에서 JDBC 드라이버 또는 사용자 지정 Spark 데이터 원본으로 사용되는 라이브러리에는 권한이 필요합니다 ANY FILE .

일부 설치된 라이브러리는 모든 사용자의 데이터를 하나의 공통 임시 디렉터리에 저장합니다. 이러한 라이브러리는 사용자 격리를 손상시킬 수 있습니다.

허용 목록에 항목을 추가하는 방법

카탈로그 탐색기 또는 REST APIallowlist 사용하여 항목을 추가할 수 있습니다.

카탈로그 탐색기에서 허용 목록에 항목을 추가하는 대화 상자를 열려면 다음을 수행합니다.

  1. Azure Databricks 작업 영역에서 카탈로그 아이콘 카탈로그를 클릭합니다.
  2. 메타스토어 세부 정보 및 권한 UI를 열려면 클릭합니다 기어 아이콘 .
  3. 허용되는 JAR/Init 스크립트를 선택합니다.
  4. 추가를 클릭합니다.

Important

이 옵션은 충분히 권한이 있는 사용자에 대해서만 표시됩니다. 허용 목록 UI에 액세스할 수 없는 경우 메타스토어 관리자에게 허용 목록 라이브러리 및 init 스크립트에 대한 지원을 요청하세요.

허용 목록에 init 스크립트 추가

허용 목록 대화 상자에서 다음 단계를 완료하여 허용 목록에 init 스크립트를 추가합니다.

  1. 형식에 대해 Init 스크립트를 선택합니다.
  2. 원본 형식의 경우 볼륨 또는 개체 스토리지 프로토콜을 선택합니다.
  3. 허용 목록에 추가할 원본 경로를 지정합니다. 허용 목록에 경로에 대한 사용 권한이 어떻게 적용되는지 확인하세요.

허용 목록에 JAR 추가

허용 목록 대화 상자에서 다음 단계를 완료하여 허용 목록에 JAR을 추가합니다.

  1. 형식으로 JAR을 선택합니다.
  2. 원본 형식의 경우 볼륨 또는 개체 스토리지 프로토콜을 선택합니다.
  3. 허용 목록에 추가할 원본 경로를 지정합니다. 허용 목록에 경로에 대한 사용 권한이 어떻게 적용되는지 확인하세요.

허용 목록에 Maven 좌표 추가

허용 목록 대화 상자에서 다음 단계를 완료하여 허용 목록에 Maven 좌표를 추가합니다.

  1. 형식에 대해 Maven을 선택합니다.
  2. 원본 형식의 경우 좌표를 선택합니다.
  3. 좌표를 다음 형식 groudId:artifactId:version으로 입력합니다.
    • 다음 형식 groudId:artifactId을 허용 목록에 추가하여 라이브러리의 모든 버전을 포함할 수 있습니다.
    • 다음 형식 groupId을 허용 목록에 추가하여 그룹에 모든 아티팩트를 포함할 수 있습니다.

허용 목록에 경로에 대한 사용 권한은 어떻게 적용합니까?

허용 목록을 사용하여 Unity 카탈로그 볼륨 및 개체 스토리지에 저장된 JAR 또는 init 스크립트에 대한 액세스 권한을 부여할 수 있습니다. 파일이 아닌 디렉터리에 대한 경로를 추가하는 경우 허용 목록 권한이 포함된 파일 및 디렉터리에 전파됩니다.

접두사 일치는 Unity 카탈로그 볼륨 또는 개체 스토리지에 저장된 모든 아티팩트에서 사용됩니다. 지정된 디렉터리 수준에서 접두사 일치를 방지하려면 후행 슬래시(/)를 포함합니다. 예를 들어 접 /Volumes/prod-libraries/ 두사로 접두사로 지정된 파일에 prod-libraries대해서는 접두사 일치를 수행하지 않습니다. 대신 내의 모든 파일 및 디렉터리를 /Volumes/prod-libraries/ 허용 목록에 추가합니다.

다음 수준에서 사용 권한을 정의할 수 있습니다.

  1. 볼륨 또는 스토리지 컨테이너의 기본 경로입니다.
  2. 기본 경로의 깊이에 중첩된 디렉터리입니다.
  3. 단일 파일입니다.

허용 목록에 경로를 추가하면 init 스크립트 또는 JAR 설치에 경로를 사용할 수 있습니다. Azure Databricks는 지정된 위치의 데이터에 액세스할 수 있는 권한을 계속 확인합니다.

사용된 보안 주체는 READ VOLUME 지정된 볼륨에 대한 권한이 있어야 합니다. SELECT를 참조하세요.

단일 사용자 액세스 모드에서는 할당된 보안 주체(사용자 또는 서비스 주체)의 ID가 사용됩니다.

공유 액세스 모드에서:

  • 라이브러리는 라이브러리 설치 관리자의 ID를 사용합니다.
  • Init 스크립트는 클러스터 소유자의 ID를 사용합니다.

참고 항목

격리되지 않은 공유 액세스 모드는 볼륨을 지원하지 않지만 공유 액세스 모드와 동일한 ID 할당을 사용합니다.

Databricks는 읽기 전용 권한이 있는 init 스크립트 및 라이브러리와 관련된 모든 개체 스토리지 권한을 구성하는 것이 좋습니다. 이러한 위치에 대한 쓰기 권한이 있는 사용자는 잠재적으로 라이브러리 파일 또는 초기화 스크립트의 코드를 수정할 수 있습니다.

Databricks는 Microsoft Entra ID 서비스 주체를 사용하여 Azure Data Lake Storage Gen2에 저장된 JAR 또는 init 스크립트에 대한 액세스를 관리하는 것이 좋습니다. 다음 연결된 설명서를 사용하여 이 설정을 완료합니다.

  1. 원하는 Blob에 대한 읽기 및 목록 권한이 있는 서비스 주체를 만듭니다. 서비스 주체 및 Microsoft Entra ID(Azure Active Directory)를 사용하여 Access Storage를 참조하세요.

  2. 비밀을 사용하여 자격 증명을 저장합니다. 비밀 관리를 참조하세요.

  3. 다음 예제와 같이 클러스터를 만드는 동안 Spark 구성 및 환경 변수의 속성을 설정합니다.

    Spark 구성:

    spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth
    spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id>
    spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}}
    spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
    

    환경 변수:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (선택 사항) azcopy 또는 Azure CLI를 사용하여 init 스크립트를 리팩터링합니다.

    init 스크립트 내에서 클러스터 구성 중에 설정된 환경 변수를 참조하여 유효성 검사를 위해 비밀로 저장된 자격 증명을 전달할 수 있습니다.

참고 항목

JAR 및 init 스크립트에 대한 허용 목록 권한은 별도로 관리됩니다. 동일한 위치를 사용하여 두 유형의 개체를 모두 저장하는 경우 각각에 대한 허용 목록에 위치를 추가해야 합니다.