Snowpark Container Services : utilisation d’un registre et d’un référentiel d’images

Snowpark Container Services fournit un service de registre d’images conforme à OCIv2 et un référentiel d’appel d’unités de stockage pour stocker les images.

Registre d’images

Le service de registre d’images sert d’API OCIv2 pour le stockage des images de conteneurs conformes à OCI.

Note

Pour l’avant-première privée, votre représentant de compte active le registre d’images Snowflake pour votre compte. Ceci est nécessaire pour que vous puissiez effectuer des opérations Snowpark Container Services.

Nom d’hôte du registre d’images

Chaque registre d’images dans un compte Snowflake a un nom d’hôte unique, ce qui permet aux clients OCI (tels que Docker CLI) d’accéder à un registre d’images en utilisant des appels d’API REST. La syntaxe générale d’un nom d’hôte de registre d’images est la suivante :

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

Dans le nom d’hôte :

  • <orgname>-<acctname> identifie un compte Snowflake.

  • registry permet à Snowflake de fournir des noms d’hôtes par compte pour les clients du registre.

    Le nom d’hôte est toujours en minuscules.

Note

Un nom de compte Snowflake (<acctname>) peut comporter un trait de soulignement (par exemple, my_account), mais les traits de soulignement ne sont pas valables dans une URL. Par conséquent, lorsque vous utilisez un nom d’hôte de registre, vous devez remplacer un trait de soulignement par un tiret. Par exemple, remplacez my_account par my-account.

Vous pouvez trouver le nom de votre organisation et les informations relatives au nom de compte pour les noms d’hôte du référentiel d’images de l’une des manières suivantes :

Référentiel d’images

Un registre est un service qui sert l’API OCIv2, et un référentiel est une unité de stockage que vous créez au sein du service.

Un référentiel est un emplacement nommé dans votre compte où vous stockez des images. Cette relation est similaire à celle qui existe entre un DBMS et une table dans le DBMS. En d’autres termes, un DBMS est équivalent à un registre, et une table est équivalente à un référentiel.

Vous pouvez créer un ou plusieurs référentiels dans votre compte Snowflake. Par exemple, les référentiels DEV, TEST et PROD peuvent stocker des images pendant les phases de développement, de test et de production. Vous pouvez également créer des référentiels avec des autorisations différentes ; par exemple, certains référentiels peuvent être en lecture seule pour certains rôles.

Le contrôle d’accès est pris en charge au niveau du référentiel ; le contrôle d’accès au niveau des images individuelles ne l’est pas.

Pour le chargement d’images dans un référentiel d’images, le service de registre prend en charge l’authentification à l’aide d’un nom d’utilisateur et d’un mot de passe, ainsi que l’authentification unique (SSO).

Attention

Les référentiels d’images Snowpark Container Services ne prennent pas en charge Tri-Secret Secure et Periodic Rekeying. Cela signifie que si votre compte a activé Tri-Secret Secure ou Periodic Rekeying, alors que toutes les autres données Snowflake continueront à bénéficier d’une sécurité accrue, toutes les images stockées dans vos référentiels d’images Snowpark Container Services ne bénéficieront pas de cette sécurité accrue.

Pour créer un référentiel d’images dans un compte avec Tri_Secret Secure ou Periodic Rekeying, vous devez d’abord confirmer que vous comprenez et acceptez de continuer à ne pas bénéficier de cette sécurité supplémentaire pour vos référentiels d’images. Pour confirmer l’accord, un administrateur de compte (utilisateur ayant le rôle ACCOUNTADMIN) devra définir le paramètre de niveau de compte ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_IMAGE_REPOSITORY sur TRUE.

URL de référentiel d’images

Voici la syntaxe générale d’une URL de référentiel Snowflake :

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

Par exemple,

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

Pour rechercher l’URL d’un référentiel dans votre compte, utilisez la commande SHOW IMAGE REPOSITORIES SQL.

Note

  • L’URL de Snowflake encode le caractère $, qui est le seul caractère non-URL pris en charge par Snowflake dans les identificateurs (voir Exigences en matière d’identificateurs). Les noms entre guillemets doubles contenant des caractères spéciaux ne sont pas pris en charge.

  • Lorsque vous construisez manuellement une URL de référentiel, remplacez un trait de soulignement dans un nom de compte (my_acct) par un tiret (my-acct).

Opérations de référentiel

Pour créer et gérer des référentiels, Snowflake prend en charge les opérations de référentiel suivantes :

  • CREATE IMAGE REPOSITORY

  • DROP IMAGE REPOSITORY

  • SHOW IMAGE REPOSITORIES

Pour dresser la liste des images stockées dans un référentiel d’images Snowflake, utilisez la fonction suivante :

Pour un exemple de création d’un référentiel et de chargement d’une image, voir Tutoriel de configuration commune.

Privilèges d’un référentiel

Lorsque vous utilisez un référentiel, le modèle de privilèges suivant s’applique :

  • Pour créer un référentiel dans un schéma, vous devez disposer du privilège CREATE IMAGE REPOSITORY sur le schéma.

  • Pour la gestion du référentiel, les privilèges (capacités) suivants sont pris en charge :

    Privilège

    Utilisation

    READ

    Permet de répertorier et de télécharger des images à partir d’un dépôt.

    WRITE

    Permet de répertorier et de télécharger des images à partir d’un dépôt. Vous pouvez également pousser des images dans le référentiel.

    OWNERSHIP

    Permet de répertorier et de télécharger des images à partir d’un dépôt. Vous pouvez également pousser des images dans le référentiel.