Commencez avec le Registre des Artefacts

Important

Cette fonctionnalité est en version bêta. Pour l’utiliser, un administrateur d’espace de travail doit activer le Registre d’artefacts Databricks depuis la page des Aperçus . Consultez Gérer les préversions d’Azure Databricks. Databricks annoncera les prix de l’Artifact Registry dès qu’il sera généralement disponible.

Utilisez Artifact Registry pour publier des images de conteneur avec Docker et les gérer dans Unity Catalog.

Cette page vous montre comment configurer l’authentification, accorder l’accès, pousser une image et la découvrir. Pour les concepts et les limitations, voir Registre des artefacts. Si une commande ou une opération échoue, voir Dépannage du registre des artefacts.

Requirements

Avant de commencer, vous devez disposer des éléments suivants :

  • Un espace de travail dans une région qui prend en charge le Registre des Artefacts. Consultez Limitations.
  • La CLI (interface en ligne de commande) Databricks version 1.18.0 ou supérieure est installée sur votre machine locale.
  • La ligne de commande Docker est installée sur votre machine locale.
  • Un catalogue et un schéma existants du catalogue Unity accessibles depuis l’espace de travail.
  • Les privilèges du Unity Catalog pour votre opération.

Configurer l’authentification Docker

L’interface de ligne de commande Databricks comprend une commande expérimentale qui configure Docker pour demander des informations d’identification pour le registre de l’espace de travail. L’assistant aux identifiants Docker nécessite un profil OAuth d’espace de travail créé par databricks auth login. Il ne prend pas en charge les profils utilisant des jetons d’accès personnels, des identifiants OAuth machine-à-machine (M2M), ni l’authentification uniquement du compte.

  1. Créez ou rafraîchissez un profil pour l’espace de travail cible :

    databricks auth login --profile <profile>
    
  2. Configurez l’authentification Docker pour le registre de l’espace de travail :

    databricks auth docker configure --profile <profile>
    

    Omettez --profile <profile> pour utiliser votre profil CLI Databricks par défaut.

    La CLI Databricks déduit la région du registre et affiche le nom d’hôte du registre de l’espace de travail. Utilisez ce nom d’hôte lorsque vous poussez une image.

Accorder les autorisations

Artifact Registry ne crée ni le catalogue ni le schéma. Les deux doivent déjà exister dans le catalogue Unity et être accessibles depuis l’espace de travail.

Artifact Registry utilise les privilèges du catalogue Unity pour contrôler l’accès aux images. Le tableau suivant présente les moins de privilèges accordés pour chaque opération. Des privilèges de gestion plus larges peuvent également autoriser certaines opérations.

Opération Concessions de moindre privilège
Poussez un nouvel artefact USE CATALOG, USE SCHEMA et CREATE VOLUME
Pousser une nouvelle version ou déplacer un tag USE CATALOG, USE SCHEMA et WRITE VOLUME
Découvrez des artefacts et des versions USE CATALOG, USE SCHEMA et READ METADATA
Utilisez une image dans une charge de travail prise en charge USE CATALOG, USE SCHEMA et READ VOLUME

Pour un schéma dédié au registre des artefacts, un administrateur peut accorder les privilèges au niveau du schéma. Les privilèges au niveau du schéma s’appliquent à chaque objet correspondant dans le schéma, y compris les objets créés ultérieurement. Utilisez des schémas séparés pour les éditeurs qui ne devraient pas pouvoir modifier les artefacts de l’autre. Accorder à chaque principal uniquement les privilèges nécessaires à son fonctionnement. Remplacez les valeurs d’exemple et supprimez les instructions de privilèges inutiles avant d’exécuter les instructions suivantes :

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>`;

Pour plus de détails sur CREATE VOLUME, WRITE VOLUME, READ METADATA, et READ VOLUME, voir la référence des privilèges du catalogue Unity. Pour d’autres méthodes de subvention, voir Afficher, accorder et révoquer des privilèges.

Envoyer (push) une image

Utilisez le nom d’hôte du registre de l’espace de travail avec le nom catalog.schema.artifact:tag de l’image.

Obtenez le nom d’hôte du registre

Utilisez le nom d’hôte du registre affiché par databricks auth docker configure. Pour trouver le nom d’hôte d’un profil plus tard et vérifier si son assistant d’identifiants Docker est configuré, exécutez :

databricks auth docker host --profile <profile>

Si vous devez construire manuellement le nom d’hôte, utilisez l’ID numérique de l’espace de travail et la région de l’espace de travail. Pour trouver l’identifiant de l’espace de travail, consultez les noms d’instance, les URL et les identifiants de l’espace de travail.

Pour trouver la région de l’espace de travail, ouvrez le commutateur d’espace de travail dans la barre de navigation du haut. La région apparaît sous le nom de l’espace de travail. Vous pouvez également le trouver dans la console de compte sous Espaces de travail.

Utilisez le nom d’hôte suivant :

<workspace-id>.container.<region>.azuredatabricks.net

Exigences relatives aux noms des artefacts

Important

Les noms d’artefacts doivent être des noms Unity Catalog entièrement qualifiés au format <catalog>.<schema>.<artifact>. N’utilisez pas de barres obliques dans le nom. Voir la hiérarchie des objets du catalogue Unity.

Le <artifact> segment peut contenir jusqu’à 255 caractères. N’utilisez que les lettres minuscules, les chiffres, les soulignements et les traits d’union. Elle doit commencer et se terminer par une lettre ou un chiffre. N’utilisez pas plus de deux caractères de soulignement consécutifs et ne placez pas de caractère de soulignement à côté d’un trait d’union.

Attribuez un tag à l’image et envoyez-la

Warning

N’incluez pas d’identifiants ou d’autres données sensibles dans une image. Vérifiez l’image avant de la publier. Les versions des artefacts sont immuables, et les requêtes de suppression ne sont pas prises en charge. Si vous envoyez des données sensibles, faites une rotation ou une révocation immédiate et demandez à un administrateur de restreindre tout octroi READ VOLUME applicable à l’artefact concerné. Arrêtez d’utiliser le digest affecté et chaque tag qui y répond, puis consultez les informations à inclure lorsque vous demandez de l’aide.

  1. Étiquetter une image locale pour le Registre des Artefacts :

    docker tag <local-image>:<local-tag> \
      <registry-hostname>/<catalog>.<schema>.<artifact>:<tag>
    
  2. Poussez l’image :

    docker push <registry-hostname>/<catalog>.<schema>.<artifact>:<tag>
    

Découvrez des images et des versions

Utilisez l’API des artefacts logiciels pour lister les artefacts dans un catalogue et un schéma, puis lister les versions d’un artefact.

Note

Les commandes CLI dédiées Databricks pour lister et gérer les images du Registre des Artefacts ne sont pas disponibles. Utilisez databricks api pour appeler l’API des artefacts logiciels.

Les exemples suivants utilisent le profil que vous avez configuré pour l’authentification Docker. Ignorez --profile <profile> s’il s’agit de votre profil Databricks CLI par défaut.

Lister les artefacts

Pour lister les artefacts, exécutez la commande suivante :

databricks api get --profile <profile> \
  "/api/2.1/unity-catalog/software-artifacts?parent=schemas/<catalog>.<schema>"

La réponse inclut le nom de l’artefact et le propriétaire. Si la réponse inclut next_page_token, passe sa valeur dans le page_token paramètre de requête pour récupérer la page suivante, par exemple, &page_token=<next_page_token>.

Répertorier les versions

Pour lister les versions d’un artefact, exécutez la commande suivante :

databricks api get --profile <profile> \
  "/api/2.1/unity-catalog/software-artifacts/<catalog>.<schema>.<artifact>/versions"

La réponse inclut le digest de l’image, les tags, et image_acceleration_details.status pour chaque version. Pour les limites de réponse, voir Limitations.

Vérifier l’état de l’accélération de l’image

Lire image_acceleration_details.status de la réponse de version de l’artefact :

État Meaning
SUCCESS Accélération de l’image réalisée avec succès.
UNSPECIFIED Aucun résultat réussi d’accélération d’image n’a été enregistré. Ce statut n’identifie pas une défaillance.

Utiliser des images dans les charges de travail Azure Databricks prises en charge

Après avoir poussé une image dans Artifact Registry, référencez-la lorsque vous créez une charge de travail Azure Databricks prise en charge.

Pour utiliser une image dans une charge de travail AI Runtime, voir Utiliser des images Docker personnalisées avec AI Runtime.

Ressources additionnelles