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에 직접 리소스를 추가합니다.
- 앱을 만들거나 편집할 때 구성 단계로 이동합니다.
- 앱 리소스 섹션에서 + 리소스 추가를 클릭합니다.
- 추가할 리소스 종류를 선택합니다.
- 리소스에 대한 앱 서비스 주체에 대한 권한을 설정합니다.
- 리소스에 키를 할당하고 파일에서 해당 키를 참조합니다
app.yaml.
리소스에 대한 앱 액세스 관리
각 앱에는 전용 서비스 주체가 있습니다. 액세스를 안전하게 관리하려면 다음 모범 사례를 따르세요.
- 인증에 앱의 서비스 주체를 사용합니다. 코드에서 PAT(개인용 액세스 토큰)를 하드 코딩하지 마세요. 액세스 자격 증명은 환경 변수로 자동으로 삽입됩니다.
DATABRICKS_CLIENT_IDDATABRICKS_CLIENT_SECRET
- 앱 간에 또는 사용자 간에 서비스 주체 자격 증명을 공유하지 마세요. 각 앱은 격리 및 보안을 위해 자체 전용 자격 증명을 사용해야 합니다.
- 최소 권한 액세스를 적용합니다. 앱의 서비스 주체에게 필요한 최소 권한만 부여합니다. 예를 들어:
- 앱이 쿼리만 실행해야 하는 경우 SQL 웨어하우스에 부여
CAN USE합니다. -
CAN QUERY앱이 유추 요청만 보내는 경우 서비스 엔드포인트에 부여합니다. - 앱의 데이터 액세스 요구 사항에 따라 Unity 카탈로그 테이블에 대한 권한을
SELECT부여하거나MODIFY허용합니다.
- 앱이 쿼리만 실행해야 하는 경우 SQL 웨어하우스에 부여
다음 단계
앱에 리소스를 추가한 후, 앱 구성의 env 섹션에서 이러한 리소스를 valueFrom 필드를 사용하여 참조합니다. 자세한 내용은 Databricks 앱에서 환경 변수 정의를 참조하세요.