Important
이 기능은 베타 버전으로 제공됩니다. 사용하려면 작업 공간 관리자가 Previews 페이지에서 Databricks Artifact Registry를 켜야 합니다. Azure Databricks 미리 보기 관리를 참조하세요. Databricks는 Artifact Registry가 일반 출시되면 가격을 발표할 예정입니다.
Artifact Registry를 사용해 Docker로 컨테이너 이미지를 푸시하고 Unity 카탈로그에서 관리하세요.
이 페이지는 인증 설정, 접근 권한 부여, 이미지 푸시, 그리고 이미지 발견 방법을 보여줍니다. 개념과 제한에 대해서는 아티팩트 레지스트리를 참조하세요. 명령이나 작업이 실패하면 '아티팩트 레지스트리 문제 해결'을 참조하세요.
Requirements
시작하기 전에 다음이 필요합니다.
- Artifact Registry를 지원하는 지역 내 작업 공간입니다. 제한 사항을 참조하세요.
- Databricks CLI(명령줄 인터페이스) 버전 1.18.0 이상이 로컬 컴퓨터에 설치되어 있습니다.
- Docker CLI가 로컬 컴퓨터에 설치되어 있습니다.
- 워크스페이스에서 액세스할 수 있는 기존 Unity Catalog 카탈로그 및 스키마.
- 사용자 작업에 대한 Unity Catalog 권한입니다.
Docker 인증 설정
Databricks CLI에는 Docker가 워크스페이스 레지스트리에 대한 자격 증명을 요청하도록 구성하는 실험적 명령어가 포함되어 있습니다. Docker 자격 증명 도우미를 사용하려면 databricks auth login에서 생성한 워크스페이스 OAuth 프로필이 필요합니다. 개인 액세스 토큰, OAuth 기계 간 인증(M2M) 자격 증명, 계정 전용 인증을 사용하는 프로필은 지원하지 않습니다.
대상 작업 공간에 대한 프로필 생성 또는 갱신:
databricks auth login --profile <profile>워크스페이스 레지스트리에 대한 Docker 인증 설정:
databricks auth docker configure --profile <profile>--profile <profile>을 생략하면 기본 Databricks CLI 프로필이 사용됩니다.Databricks CLI는 레지스트리 영역을 추론하고 작업 공간 레지스트리 호스트명을 출력합니다. 이미지를 부를 때 이 호스트네임을 사용하세요.
권한 부여
아티팩트 레지스트리는 카탈로그나 스키마를 생성하지 않습니다. 두 가지 모두 이미 Unity Catalog에 존재해야 하며, 작업 공간에서 접근할 수 있어야 합니다.
아티팩트 레지스트리는 Unity 카탈로그 권한을 사용하여 이미지 접근을 제어합니다. 다음 표는 각 작업별 최소 권한 부여를 보여줍니다. 더 넓은 관리 권한도 일부 운영을 승인할 수 있습니다.
| 작업 | 최소 특권 부여 |
|---|---|
| 새 아티팩트 푸시 |
USE CATALOG, USE SCHEMA 및 CREATE VOLUME |
| 새 버전을 올리거나 태그를 옮기세요 |
USE CATALOG, USE SCHEMA 및 WRITE VOLUME |
| 유물 및 버전 발견 |
USE CATALOG, USE SCHEMA 및 READ METADATA |
| 지원되는 워크로드에서 이미지를 사용하세요 |
USE CATALOG, USE SCHEMA 및 READ VOLUME |
Artifact Registry에 전용된 스키마의 경우, 관리자는 스키마 수준에서 권한을 부여할 수 있습니다. 스키마 수준의 권한은 이후 생성된 객체를 포함해 스키마 내 모든 일치하는 객체에 적용됩니다. 서로의 산출물을 수정할 수 없어야 하는 퍼블리셔별로 별도의 스키마를 사용하세요. 각 주체에게 운영에 필요한 권한만 부여하세요. 다음 문장을 실행하기 전에 예제 값을 교체하고 불필요한 권한 문장을 제거하세요:
GRANT USE CATALOG ON CATALOG <catalog> TO `<principal>`;
GRANT USE SCHEMA ON SCHEMA <catalog>.<schema> TO `<principal>`;
GRANT CREATE VOLUME ON SCHEMA <catalog>.<schema> TO `<principal>`;
GRANT WRITE VOLUME ON SCHEMA <catalog>.<schema> TO `<principal>`;
GRANT READ METADATA ON SCHEMA <catalog>.<schema> TO `<principal>`;
GRANT READ VOLUME ON SCHEMA <catalog>.<schema> TO `<principal>`;
, 에 대한 CREATE VOLUMEREAD VOLUMEWRITE VOLUMEREAD METADATA자세한 내용은 Unity 카탈로그 권한 참고 자료를 참조하세요. 다른 권한 부여 방법은 권한 표시, 부여 및 취소를 참조하세요.
이미지를 푸시
작업 공간 레지스트리 호스트명과 이미지 catalog.schema.artifact:tag 이름을 함께 사용하세요.
레지스트리 호스트네임을 받아
databricks auth docker configure에 출력된 레지스트리 호스트 이름을 사용하세요. 나중에 프로필의 호스트명을 찾고 Docker 자격 증명 헬퍼가 설정되어 있는지 확인하려면 다음을 실행하세요:
databricks auth docker host --profile <profile>
호스트명을 수동으로 생성해야 한다면, 숫자 작업 공간 ID와 작업 영역을 사용하세요. 작업 공간 ID를 찾으려면 작업 공간 인스턴스 이름, URL, ID를 참조하세요.
작업 영역을 찾으려면 상단 내비게이션 바에서 작업 공간 전환 기를 열어보세요. 영역은 작업 공간 이름 아래에 표시됩니다. 작업 영역 아래의 계정 콘솔에서도 찾을 수 있습니다.
다음 호스트네임을 사용하세요:
<workspace-id>.container.<region>.azuredatabricks.net
아티팩트 이름 요구사항
Important
아티팩트 이름은 <catalog>.<schema>.<artifact> 형식의 정규화된 전체 Unity Catalog 이름이어야 합니다. 이름 안에 슬래시를 사용하지 마세요. Unity 카탈로그 객체 계층 구조를 참조하세요.
이 세그먼트는 <artifact> 최대 255자까지 포함될 수 있습니다. 소문자, 숫자, 밑줄, 하이픈만 사용하세요. 글자나 숫자로 시작하고 끝나야 합니다. 연속된 밑줄은 두 개를 넘지 않으며, 하이픈 옆에 밑줄을 두지 마세요.
이미지를 태그하고 푸시하세요
Warning
이미지에 자격 증명이나 기타 민감한 데이터를 포함하지 마세요. 누르기 전에 이미지를 확인하세요. 아티팩트 버전은 불변이며, 삭제 요청은 지원되지 않습니다. 민감한 데이터를 배포할 경우, 즉시 해당 데이터를 교체하거나 취소하고, 해당 유물에 적용되는 보조금을 관리자에게 제한 READ VOLUME 해 달라고 요청하세요. 영향을 받은 다이제스트와 그에 해석되는 모든 태그 사용을 중단하고, 도움을 요청할 때 포함할 정보를 확인하세요.
유물 등록부에 로컬 이미지를 태그하세요:
docker tag <local-image>:<local-tag> \ <registry-hostname>/<catalog>.<schema>.<artifact>:<tag>이미지를 누르세요:
docker push <registry-hostname>/<catalog>.<schema>.<artifact>:<tag>
이미지 및 버전 발견
Software Artifacts API를 사용하여 카탈로그와 스키마에 산출물을 나열하고, 산출물의 버전을 나열하세요.
메모
Artifact Registry 이미지를 나열하고 관리하는 전용 Databricks CLI 명령어는 제공되지 않습니다. 소프트웨어 아티팩트 API를 호출하는 데 사용 databricks api 하세요.
다음 예시들은 Docker 인증용으로 설정한 프로필을 사용합니다.
--profile <profile>는 기본 Databricks CLI 프로필인 경우 생략하세요.
아티팩트 목록
산출물을 나열하려면 다음 명령을 실행하세요:
databricks api get --profile <profile> \
"/api/2.1/unity-catalog/software-artifacts?parent=schemas/<catalog>.<schema>"
응답에는 유물의 이름과 소유자가 포함됩니다. 응답에 가 포함되어 next_page_token있다면 쿼리 매개변수에 page_token 값을 전달하여 다음 페이지를 가져오세요. 예를 들어, &page_token=<next_page_token>.
버전 나열
아티팩트의 버전을 나열하려면 다음 명령을 실행하세요:
databricks api get --profile <profile> \
"/api/2.1/unity-catalog/software-artifacts/<catalog>.<schema>.<artifact>/versions"
응답에는 이미지 요약, 태그, image_acceleration_details.status 각 버전별 정보가 포함됩니다. 응답 제한에 대해서는 제한 사항을 참조하세요.
이미지 가속 상태 확인
아티팩트 버전 응답에서 image_acceleration_details.status를 읽어 보세요:
| 상태 | Meaning |
|---|---|
SUCCESS |
영상 가속이 성공적으로 완료되었습니다. |
UNSPECIFIED |
성공적인 영상 가속 결과는 기록되지 않았습니다. 이 상태는 실패를 나타내지 않습니다. |
지원되는 Azure Databricks 워크로드에서 이미지 사용
이미지를 Artifact Registry에 푸시한 후, 지원되는 Azure Databricks 워크로드를 생성할 때 참조하세요.
AI 런타임 워크로드에서 이미지를 사용하려면 AI 런타임에서 사용자 지정 Docker 이미지 사용을 참고하세요.