다음을 통해 공유


Databricks 앱에 리소스 추가

Databricks 앱은 데이터 쿼리를 위한 Databricks SQL, 데이터 수집 및 처리를 위한 Lakeflow 작업, 생성 AI 모델에 액세스하는 Mosaic AI 모델, 중요한 정보를 관리하기 위한 Azure Databricks 비밀 등 다양한 Azure Databricks 플랫폼 기능과 통합할 수 있습니다. 앱의 컨텍스트에서 이러한 플랫폼 기능을 리소스라고 합니다.

리소스를 사용하는 이유

앱을 이식 가능하고 안전하게 유지하려면 리소스 ID를 하드코딩하지 마십시오. 예를 들어 앱 코드에 고정 SQL 웨어하우스 ID를 포함하는 대신 Databricks Apps UI를 통해 SQL 웨어하우스를 리소스로 구성합니다.

직접 API 호출 대신 Databricks Apps 리소스를 사용하면 다음과 같은 몇 가지 이점이 있습니다.

  • 자격 증명 및 권한을 자동으로 관리하여 코드에서 수동 토큰 처리를 제거합니다.
  • 리소스 경로, 엔드포인트 및 연결 세부 정보를 자동으로 처리합니다.
  • 직접 API 호출에 자체 관리 자격 증명을 요구하는 대신 안전하고 관리되는 액세스를 제공합니다.
  • 코드를 변경하지 않고 환경 간에 앱을 이식 가능하게 유지합니다.

지원되는 리소스 종류

다음 표에서는 Databricks 앱에 추가할 수 있는 모든 리소스 유형을 나열합니다.

리소스 종류 Description 기본 리소스 키 사용 가능한 권한
지니 공간 자연어 쿼리를 위한 AI 기반 분석 인터페이스 genie-space
  • 볼 수 있습니다.
  • 실행할 수 있습니다.
  • 편집 가능
  • 관리할 수 있습니다.
Lakebase 데이터베이스 데이터 스토리지 및 쿼리를 위한 Unity 카탈로그 데이터베이스 database
  • 연결하고 만들 수 있습니다.
Lakeflow 작업 데이터 수집 및 처리 워크플로 job
  • 볼 수 있습니다.
  • 실행을 관리할 수 있습니다.
  • 관리할 수 있습니다.
MLflow 실험 기계 학습 실험 추적 및 모델 수명 주기 관리 experiment
  • 읽을 수 있습니다.
  • 편집 가능
  • 관리할 수 있습니다.
엔드포인트를 제공하는 모델 유추 요청에 대한 기계 학습 모델 배포 serving-endpoint
  • 볼 수 있습니다.
  • 쿼리 가능
  • 관리할 수 있습니다.
비밀 API 키 및 토큰과 같은 중요한 값에 대한 보안 스토리지 secret
  • 읽을 수 있습니다.
  • 쓸 수 있습니다.
  • 관리할 수 있습니다.
SQL 웨어하우스 SQL 쿼리를 실행하기 위한 컴퓨팅 리소스 sql-warehouse
  • 사용 가능
  • 관리할 수 있습니다.
Unity 카탈로그 연결 외부 데이터 원본에 대한 관리되는 연결 connection
  • 연결 사용
사용자 정의 함수 Unity 카탈로그에 등록된 SQL 및 Python 함수 function
  • 실행할 수 있습니다.
Unity 카탈로그 볼륨 앱 아티팩트 및 데이터에 대한 Unity 카탈로그의 파일 스토리지 volume
  • 읽을 수 있습니다.
  • 읽고 쓸 수 있습니다.
벡터 검색 인덱스 벡터 포함에서 의미 체계 검색 및 유사성 기반 검색 vector-search-index
  • 선택할 수 있습니다.

필수 구성 요소

앱에 리소스를 추가하려면 다음 조건을 충족해야 합니다.

  • 리소스가 있어야 합니다.
  • 리소스를 추가하는 사용자에게는 리소스 및 앱에 대한 권한이 있어야 합니다 Can manage .

앱은 최소 권한으로 실행되며 Azure Databricks 플랫폼 내의 기존 리소스에 의존합니다. 배포되면 앱의 서비스 주체가 이러한 리소스에 액세스하고 SQL 쿼리에 대한 테이블 수준 액세스 또는 비밀에 대한 읽기 액세스와 같은 필요한 권한이 있어야 합니다. Databricks 앱에서 권한 부여 구성을 참조하세요.

앱에 대한 리소스 구성

리소스를 사용하면 중요한 값이나 환경별 값을 하드코딩하지 않고도 앱이 의존하는 서비스에 안전하게 연결할 수 있습니다.

앱을 만들거나 편집할 때 Databricks Apps UI에 직접 리소스를 추가합니다.

  1. 앱을 만들거나 편집할 때 구성 단계로 이동합니다.
  2. 앱 리소스 섹션에서 + 리소스 추가를 클릭합니다.
  3. 추가할 리소스 종류를 선택합니다.
  4. 리소스에 대한 앱 서비스 주체에 대한 권한을 설정합니다.
  5. 리소스에 키를 할당하고 파일에서 해당 키를 참조합니다 app.yaml .

UI에서 SQL 웨어하우스를 앱 리소스로 추가

리소스에 대한 앱 액세스 관리

각 앱에는 전용 서비스 주체가 있습니다. 액세스를 안전하게 관리하려면 다음 모범 사례를 따르세요.

  • 인증에 앱의 서비스 주체를 사용합니다. 코드에서 PAT(개인용 액세스 토큰)를 하드 코딩하지 마세요. 액세스 자격 증명은 환경 변수로 자동으로 삽입됩니다.
    • DATABRICKS_CLIENT_ID
    • DATABRICKS_CLIENT_SECRET
  • 앱 간에 또는 사용자 간에 서비스 주체 자격 증명을 공유하지 마세요. 각 앱은 격리 및 보안을 위해 자체 전용 자격 증명을 사용해야 합니다.
  • 최소 권한 액세스를 적용합니다. 앱의 서비스 주체에게 필요한 최소 권한만 부여합니다. 예를 들어:
    • 앱이 쿼리만 실행해야 하는 경우 SQL 웨어하우스에 부여 CAN USE 합니다.
    • CAN QUERY 앱이 유추 요청만 보내는 경우 서비스 엔드포인트에 부여합니다.
    • 앱의 데이터 액세스 요구 사항에 따라 Unity 카탈로그 테이블에 대한 권한을 SELECT 부여하거나 MODIFY 허용합니다.

다음 단계

앱에 리소스를 추가한 후, 앱 구성의 env 섹션에서 이러한 리소스를 valueFrom 필드를 사용하여 참조합니다. 자세한 내용은 Databricks 앱에서 환경 변수 정의를 참조하세요.