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

ホスト名で、

  • <組織名>-<アカウント名> は、Snowflakeアカウントを識別します。

  • registry は、Snowflakeがレジストリの顧客にアカウントごとにホスト名を提供することを許可します。

    ホスト名は常にすべて小文字にする必要があります。

注釈

Snowflakeのアカウント名(<アカウント名>)にはアンダースコア(例: my_account)を付けることができますが、 URL ではアンダースコアは無効です。したがって、レジストリのホスト名を使う場合は、アンダースコアをダッシュに置き換える必要があります。たとえば、 my_accountmy-account に変更します。

イメージリポジトリのホスト名の組織名とアカウント名の情報は、以下のいずれかの方法で見つけることができます。

イメージリポジトリ

レジストリ は OCIv2 API を提供するサービスであり、 リポジトリ はサービス内に作成するストレージユニットです。

リポジトリとは、イメージを格納するアカウント内の名前付きの場所です。これは、 DBMS と DBMS 内のテーブルの関係に似ています。つまり、 DBMS はレジストリに相当し、テーブルはリポジトリに相当します。

Snowflakeアカウントには、1つ以上のリポジトリを作成できます。たとえば、 DEV、 TEST、 PROD リポジトリは、開発、テスト、実稼働の各段階でイメージを格納できます。また、異なる権限を持つリポジトリを作成することもできます。たとえば、あるロールに対してあるリポジトリを読み取り専用にすることもできます。

アクセス制御はリポジトリレベルでサポートされており、個別のイメージレベルのアクセス制御はサポートされていません。

イメージをイメージリポジトリにアップロードする場合、レジストリサービスはユーザー名とパスワードを使用した認証と、シングルサインオン(SSO)をサポートしています。

注意

Snowpark Container Servicesのイメージリポジトリは、 Tri-Secret Secure定期的なキー更新 をサポートしていません。つまり、お客様のアカウントで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

    イメージのリスト表示とリポジトリからのダウンロードを可能にします。リポジトリにイメージをプッシュすることもできます。