Databricks 비밀을 Databricks Apps 리소스로 추가하여 API 키 또는 토큰과 같은 중요한 값을 앱에 안전하게 전달합니다. Databricks 앱은 비밀 범위에 저장된 비밀을 지원합니다. 앱은 런타임에 이러한 비밀을 검색하여 애플리케이션 코드 및 환경 정의에서 제외합니다.
비밀 리소스 추가
비밀을 리소스로 추가하기 전에 앱 리소스 필수 구성 요소를 검토합니다.
- 앱을 만들거나 편집할 때 구성 단계로 이동합니다.
- 앱 리소스 섹션에서 + 리소스 추가를 클릭합니다.
- 리소스 유형으로 비밀을 선택합니다.
- 비밀 범위를 선택합니다.
- 앱에서 사용할 해당 범위 내에서 비밀 키를 선택합니다.
- 범위에 대한 권한 수준을 선택합니다(개별 암호가 아님).
- 다음을 읽을 수 있습니다. 선택한 범위의 모든 비밀에 대한 읽기 권한을 앱에 부여합니다.
- 다음을 작성할 수 있습니다. 범위에 있는 비밀을 업데이트할 수 있는 권한을 앱에 부여합니다.
- 다음을 관리할 수 있습니다. 범위에서 비밀을 읽고, 업데이트하고, 삭제할 수 있는 권한을 앱에 부여합니다.
- (선택 사항) 앱 구성에서 비밀을 참조하는 방법인 사용자 지정 리소스 키를 지정합니다. 기본 키는 .입니다
secret.
Note
이러한 단계를 통해 앱은 해당 값을 환경 변수로 전달하여 범위에서 선택한 비밀에 안전하게 액세스할 수 있습니다.
그러나 비밀 권한은 개별 비밀이 아니라 범위 수준에서 적용됩니다. 앱 간의 액세스를 제한하려면 각 앱에 대해 별도의 비밀 범위를 만들고 해당 범위에 필요한 비밀만 저장합니다.
환경 변수
비밀 리소스를 사용하는 앱을 배포하는 경우 Azure Databricks는 각 비밀을 환경 변수로 삽입합니다. 각 변수의 이름은 비밀을 추가할 때 정의한 리소스 키와 일치합니다.
앱에서 비밀에 액세스하려면 해당 환경 변수를 사용합니다. 앱 구성 파일에서 (예: app.yaml), valueFrom 필드를 사용하여 비밀을 참조하는 변수를 정의합니다. 이 설정을 통해 실제 비밀 값은 Azure Databricks에서 안전하게 관리되며 일반 텍스트로 노출되지 않습니다.
동일한 비밀을 서로 다른 리소스 키를 가진 여러 리소스 항목에서 사용하는 경우, valueFrom에서 참조할 때 각각이 별도의 환경 변수가 됩니다.
자세한 내용은 리소스의 Access 환경 변수를 참조하세요.
Important
환경 변수 또는 앱 코드에 중요한 값을 직접 저장하지 마세요. 대신 리소스 키를 환경 변수로 Azure Databricks에 전달하고 런타임에 비밀 값을 안전하게 검색합니다.
비밀 리소스 제거
앱에서 비밀 리소스를 제거하면 비밀 자체가 비밀 범위에 유지됩니다. 그러나 다시 추가하지 않으면 앱은 비밀에 대한 액세스 권한을 잃게 됩니다.
모범 사례
앱에서 비밀을 관리할 때 다음 모범 사례를 따릅니다.
- 원시 비밀 값을 노출하지 마세요. 환경 변수로 직접 삽입된 비밀 값은 앱의 환경 페이지에 일반 텍스트로 표시됩니다. 이를 방지하려면 앱 구성에서
valueFrom필드를 사용하여 비밀을 참조하고 앱 코드 내에서 값을 안전하게 가져옵니다. - 앱의 액세스를 필요한 특정 범위로만 제한합니다. 작업 영역의 모든 범위에 대한 액세스 권한을 부여하지 않습니다.
- 모든 비밀에 대한 회전 일정을 설정하고 팀 구성원이 역할을 변경하거나 조직을 떠날 때 즉시 회전합니다.