Snowpark Container Services: 이미지 레지스트리 및 리포지토리 작업하기

Snowpark Container Services는 OCIv2 호환 이미지 레지스트리 서비스와 이미지를 저장하기 위한 저장소 유닛 호출 리포지토리를 제공합니다.

이미지 레지스트리

이미지 레지스트리 서비스는 OCI 호환 컨테이너 이미지를 저장하기 위해 OCIv2 API를 제공합니다.

참고

비공개 미리 보기의 경우 계정 담당자가 계정에 대해 Snowflake Image Registry를 활성화합니다. 이렇게 활성화해야 Snowpark Container Services 작업을 수행할 수 있습니다.

이미지 레지스트리 호스트 이름

Snowflake 계정의 각 이미지 레지스트리에는 고유한 호스트 이름이 있으며, OCI 클라이언트(예: Docker CLI)가 이 이름으로 REST API 호출을 사용하여 이미지 레지스트리에 액세스할 수 있습니다. 이미지 레지스트리 호스트 이름의 일반 구문은 다음과 같습니다.

<orgname>-<acctname>.registry.snowflakecomputing.com

호스트 이름에서,

  • <orgname>-<acctname> 은 Snowflake 계정을 식별합니다.

  • Snowflake는 registry 를 사용하여 레지스트리 고객에게 계정당 호스트 이름을 제공할 수 있습니다.

    호스트 이름은 항상 모두 소문자입니다.

참고

Snowflake 계정 이름(<acctname>)에는 밑줄을 사용할 수 있지만(예: my_account), URL에서는 밑줄을 사용할 수 없습니다. 따라서 레지스트리 호스트 이름을 사용할 때 밑줄을 대시로 바꿔야 합니다. 예를 들어 my_accountmy-account 로 변경합니다.

다음 방법 중 하나로 이미지 리포지토리 호스트 이름에 대한 조직 이름 및 계정 이름 정보를 찾을 수 있습니다.

이미지 리포지토리

레지스트리 는 OCIv2 API를 제공하는 서비스이고, 리포지토리 는 서비스 내에서 생성하는 저장 단위입니다.

리포지토리는 이미지를 저장하는 계정의 명명된 위치입니다. 이는 DBMS와 DBMS 내 테이블 간의 관계와 유사합니다. 즉, DBMS는 레지스트리에 해당하고 테이블은 리포지토리에 해당합니다.

Snowflake 계정에 하나 이상의 리포지토리를 생성할 수 있습니다. 예를 들어, DEV, TEST 및 PROD 리포지토리는 개발, 테스트, 프로덕션 중에 이미지를 저장할 수 있습니다. 다양한 권한을 가진 리포지토리를 생성할 수도 있습니다. 예를 들어 일부 리포지토리는 일부 역할에 대해 읽기 전용일 수 있습니다.

액세스 제어는 리포지토리 수준에서 지원됩니다. 개별 이미지 수준 액세스 제어는 지원되지 않습니다.

이미지 리포지토리에 이미지를 업로드하기 위해 레지스트리 서비스는 사용자 이름과 비밀번호를 사용하는 인증과 SSO(single sign-on)를 사용하는 인증을 지원합니다.

주의

Snowpark Container Services 이미지 리포지토리는 Tri-Secret SecurePeriodic Rekeying 을 지원하지 않습니다. 즉, 계정에서 Tri-Secret Secure를 활성화했거나 Periodic Rekeying을 활성화한 경우 다른 모든 Snowflake 데이터에는 계속해서 보안이 추가되지만 Snowpark Container Services 이미지 리포지토리에 저장된 모든 이미지는 이 추가적 보안의 이점을 누릴 수 없습니다.

Tri_Secret Secure 또는 Periodic Rekeying을 사용하여 계정에 이미지 리포지토리를 생성하려면 먼저 이미지 리포지토리에 대한 이러한 추가 보안 혜택을 누리지 않고 계속할 것을 이해하고 동의한다는 점을 확인해야 합니다. 동의를 확인하려면 계정 관리자(ACCOUNTADMIN 역할을 가진 사용자)가 계정 수준 매개 변수 ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_IMAGE_REPOSITORY 를 TRUE로 설정해야 합니다.

이미지 리포지토리 URL

다음은 Snowflake 리포지토리 URL에 대한 일반 구문입니다.

<registry-hostname>/<db_name>/<schema_name>/<repository_name>

예를 들어,

myorg-myacct.registry.snowflake.com/my_db/my_schema/my_repository

계정에서 리포지토리 URL을 찾아보려면 SHOW IMAGE REPOSITORIES SQL 명령을 사용하십시오.

참고

  • Snowflake URL은 Snowflake가 식별자에서 지원하는 유일한 비 URL 문자인 $ 문자를 인코딩합니다(식별자 요구 사항 참조). 특수 문자가 포함된 큰따옴표로 묶인 이름은 지원되지 않습니다.

  • 리포지토리 URL을 수동으로 생성하는 경우 계정 이름의 밑줄(my_acct)을 대시(my-acct)로 바꾸십시오.

리포지토리 작업

리포지토리를 만들고 관리하기 위해 Snowflake는 다음과 같은 리포지토리 작업 을 지원합니다.

  • CREATE IMAGE REPOSITORY

  • DROP IMAGE REPOSITORY

  • SHOW IMAGE REPOSITORIES

Snowflake 이미지 리포지토리 내에 저장된 이미지를 나열하려면 다음 함수를 사용하십시오.

리포지토리 생성 및 이미지 업로드에 대한 예는 자습서 공통 설정 을 참조하십시오.

리포지토리 권한

리포지토리 작업 시 다음 권한 모델이 적용됩니다.

  • 스키마에 리포지토리를 생성하려면 해당 스키마에 대한 CREATE IMAGE REPOSITORY 권한이 있어야 합니다.

  • 리포지토리 관리를 위해 다음과 같은 권한(기능)이 지원됩니다.

    권한

    사용법

    READ

    리포지토리에서 이미지를 나열하고 다운로드할 수 있습니다.

    WRITE

    리포지토리에서 이미지를 나열하고 다운로드할 수 있습니다. 리포지토리에 이미지를 푸시할 수도 있습니다.

    OWNERSHIP

    리포지토리에서 이미지를 나열하고 다운로드할 수 있습니다. 리포지토리에 이미지를 푸시할 수도 있습니다.