Important
이 기능은 베타 버전으로 제공됩니다. 작업 영역 관리자는 미리 보기 페이지에서 이 기능에 대한 액세스를 제어할 수 있습니다. Azure Databricks 미리 보기 관리를 참조하세요.
외부 비밀은 Unity 카탈로그 스키마를 외부 비밀 관리자와 연결합니다. Azure Databricks가 비밀 값을 저장하는 대신, 비밀은 클라우드 비밀 관리자에 남아 Unity 카탈로그에서 보안 가능한 객체로 나타나 관리할 수 있고 참조할 수 있습니다.
- Unity 카탈로그 비밀과 Azure Databricks가 저장 및 관리하는 비밀에 대한 소개는 Unity 카탈로그의 비밀을 참조하세요.
- 외부 비밀 관리자가 있는 스키마를 지원하려면 Unity 카탈로그에서 외부 비밀 설정 항목을 참조하세요.
외부 비밀의 작동 원리
비밀 백엔드는 스키마별로 설정해야 합니다. 기본적으로 Azure Databricks는 외부 비밀 관리자가 지원하지 않는 한 스키마 내 모든 비밀을 저장하고 관리합니다. 스키마는 둘 다 섞을 수 없습니다.
스키마가 외부 비밀 관리자에 의해 지원될 때, Azure Databricks는 다음과 같은 작업을 수행합니다:
-
연결이 나열할 수 있는 비밀을 드러내는 것: 연결이 허용된 모든 비밀은 카탈로그 탐색기
dbutils와 Unity 카탈로그 REST API에서 Unity 카탈로그 비밀로 나타납니다. 명명 제한이 적용됩니다. 명명 제한 사항을 참조하세요. - 필요에 따라 값을 읽습니다: Azure Databricks는 Unity Catalog에 비밀 값을 저장하지 않습니다. 각 검색은 외부 비밀 관리자에서 현재 값을 직접 읽어내며, 이는 지연 시간을 추가하고 클라우드 제공자 비용이 발생할 수 있습니다. 검색된 값은 다른 비밀과 마찬가지로 요청한 컴퓨트에 캐시될 수 있습니다.
-
READ SECRET:REFERENCE SECRET및 , 그리고 권한 상속은 Azure Databricks에서 관리하는 비밀에 적용되는 것과 동일한 방식으로 적용됩니다. 외부 시크릿은 읽기 전용이므로 Unity Catalog는WRITE SECRET,CREATE SECRET, 및 삭제 작업을 거부합니다. 제한 사항을 참조하세요. 외부 비밀 관리자에 대한 모든 접근은 연결의 서비스 자격 증명을 통해 이루어지므로, 클라우드 측 감사 로그는 해당 신원에 대한 접근 권한을 부여하고, Unity 카탈로그 감사 로그는 여전히 Azure Databricks 사용자를 기록합니다.
스키마의 비밀을 나열하면 가져오기가 트리거됩니다. 이는 지속적인 백그라운드 동기화가 아닙니다. 가져오기는 비동기식으로 실행되므로, Unity 카탈로그는 외부 비밀 관리자에 추가되거나 제거된 비밀을 다음 리스트가 가져오기를 트리거한 후에만 반영하며, 많은 비밀이 있는 저장소의 경우 최대 몇 분이 소요될 수 있습니다. 특정 비밀을 읽으면 그 비밀만 가져오거나 새로고침되며, 각 읽기마다 최신 값을 가져옵니다. 외부 비밀 관리자에서 비밀을 영구적으로 삭제하면, Azure Databricks는 해당 Unity 카탈로그 비밀을 메타데이터, 권한, 태그 등 모두 제거합니다.
명명 제한 사항
외부 비밀 이름은 가져오기 위해 Unity 카탈로그의 명명 규칙을 준수해야 합니다:
- Unity Catalog는 248자를 초과하는 이름은 가져오지 않습니다.
- Unity 카탈로그의 비밀 이름은 대문자 구분이 없습니다. 두 외부 비밀이 경우만 다르다면, Unity Catalog는 처음 가져온 비밀만 사용하고 나머지는 무시합니다.
- Unity 카탈로그는 지원하지 않는 문자를 대체합니다:
.가 되고:/가 됩니다|. Azure Databricks는 외부 비밀 이름에 이러한 문자를 피할 것을 권장합니다.
비밀 할당량 관리
Unity 카탈로그는 스키마와 메타스토어가 저장할 수 있는 비밀 개수를 제한합니다. 제한 사항을 참조하세요. 스키마에 할당량이 허용하는 것보다 많은 비밀이 있을 경우, Azure Databricks는 외부 비밀 관리자에서 생성일에 따라 할당량까지 가장 오래된 비밀을 먼저 가져오고, 나머지는 가져오지 않습니다. 스키마가 할당량 내에서 유지되도록 Azure Databricks에서 필요한 비밀만 노출하세요:
연결을 Azure Databricks에서 원하는 비밀만 보관하는 전용 Key Vault로 연결하세요.
제한점
모든 Unity 카탈로그 비밀에 적용되는 제한 외에도, 외부 지원 비밀은 다음과 같은 제한을 가집니다:
- Unity 카탈로그에서 읽기 전용: Azure Databricks에서 외부 백업 스키마에서 비밀을 생성, 업데이트, 이름 변경, 삭제할 수 없습니다. 외부 비밀 관리자에서 비밀을 관리하세요.
- 스키마당 하나의 백엔드: 스키마 내 모든 비밀은 동일한 백엔드를 사용합니다. 스키마는 Azure Databricks가 관리하는 비밀과 외부 백업 비밀을 혼합할 수 없습니다.
- 백엔드를 전환하면 가져온 비밀이 제거됩니다: 스키마의 백엔드를 변경하거나 다른 연결을 가리키면 이전에 가져온 외부 비밀, 즉 Unity 카탈로그 메타데이터, 권한, 태그 등이 스키마에서 제거됩니다.
- 교차 클라우드 액세스는 지원되지 않습니다: 작업 공간의 클라우드에 기본 제공되는 시크릿 관리자를 사용해 스키마를 백업합니다.
- 읽기 지연 및 비용: 모든 읽기는 외부 비밀 관리자에서 값을 가져오므로 지연 시간이 발생하고 클라우드 제공자 비용이 발생할 수 있습니다.
- 궁극적으로 일관된 목록: 외부 비밀 관리자에 추가되거나 제거된 비밀이 Unity 카탈로그에 나타나기까지 몇 분이 걸릴 수 있으며, 특히 대규모 비밀 저장소의 경우 더욱 그렇습니다.
- 태그 필터링 없음: Azure Key Vault는 가져온 비밀을 태그로 필터링하는 것을 지원하지 않습니다.
- 비활성화 및 삭제된 비밀: 비활성화된 Key Vault 비밀이 Unity 카탈로그에 나타나지만, 그 값을 읽는 것은 다시 활성화하지 않으면 실패합니다. Unity 카탈로그는 더 이상 소프트 삭제된 비밀을 드러내지 않습니다. Key Vault에서 복구해서 다시 사용할 수 있게 하세요.
메모
데이터 거주지. 스키마를 지원하는 외부 비밀 관리자가 메타스토어나 그것을 읽는 작업 공간과 다른 영역에 있다면, 비밀 값과 메타데이터가 영역을 넘나듭니다. Azure Databricks는 외부 비밀의 지역 내 처리를 보장하지 않습니다.
메모
비밀 속에 개인 정보가 담겨 있어. 외부 비밀 이름과 가치에는 개인 정보가 포함될 수 있습니다. 사용 목적이 필요하지 않으면 개인 정보를 차단할 책임이 있습니다.
추가 리소스
| 특징 | Description |
|---|---|
| Unity 카탈로그에서 외부 비밀을 설정하세요 | AWS Secrets Manager나 Azure Key Vault로 스키마를 백업하고, 가져온 비밀을 읽으세요. |
| Unity 카탈로그의 비밀 | Azure Databricks가 Unity 카탈로그에 저장하는 비밀을 생성, 관리, 관리하세요. |