Aller au contenu principal

Get started with Artifact Registry

info

Bêta

This feature is in Beta. To use it, a workspace admin must turn on Databricks Artifact Registry from the Previews page. Consultez Gérer les aperçus Databricks. Databricks will announce Tarifs for Artifact Registry when it becomes generally available.

Use Artifact Registry to push container images with Docker and govern them in Unity Catalog.

Cette page vous indique comment configurer l’authentification, accorder des accès, transférer une image et la découvrir. Pour en savoir plus sur les concepts et les limitations, consultez Artifact Registry. Si une commande ou une opération échoue, consultez Dépannage d’Artifact Registry.

Prérequis

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

  • Un workspace situé dans une région qui prend en charge Artifact Registry. Consultez Limitations.
  • Databricks CLI (command-line interface) version 1.17.0 ou ultérieure et la CLI Docker installées sur votre machine locale.
  • Un catalogue et un schéma Unity Catalog existants accessibles depuis le workspace.
  • Les privilèges Unity Catalog pour votre opération.

Configurer l'authentification Docker

La CLI Databricks inclut une commande expérimentale qui configure Docker pour demander des identifiants pour le registre du workspace. L'auxiliaire d'identifiants Docker nécessite un profil OAuth de workspace créé par databricks auth login. Il ne prend pas en charge les profils qui utilisent des jetons d'accès personnels, des identifiants OAuth machine à machine (M2M) ou l'authentification de compte uniquement.

important

The --region value must match the region of the workspace in the selected Databricks CLI profile.

To find the region, open the workspace switcher in the top navigation bar. The region appears below the workspace name. You can also find it in the account console under Workspaces .

  1. Créer ou refresh un profil pour le Workspace cible :

    Bash
    databricks auth login --profile <profile>
  2. Configurez l'authentification Docker pour la région du registre :

    Bash
    databricks auth docker configure --profile <profile> --region <region>

    Omettez --profile <profile> pour utiliser votre profil Databricks CLI default.

    La commande affiche le hostname du registre du workspace. Utilisez ce hostname lorsque vous publiez une image.

Accorder les autorisations

Artifact Registry ne crée pas le catalogue ou le schéma. Tous deux doivent déjà exister dans Unity Catalog et être accessibles depuis le workspace.

Artifact Registry utilise les privilèges Unity Catalog pour contrôler l’accès aux images. Le tableau suivant présente les attributions de privilèges minimaux pour chaque opération. Des privilèges de gestion plus étendus peuvent également autoriser certaines Opérations.

Opérations

Attributions du moindre privilège

Envoyer un nouvel artefact

USE CATALOG, USE SCHEMA et CREATE VOLUME

Poussez une nouvelle version ou déplacez un tag

USE CATALOG, USE SCHEMA et WRITE VOLUME

Découvrez les artefacts et les versions

USE CATALOG, USE SCHEMA et READ METADATA

Utiliser une image dans une charge de travail prise en charge

USE CATALOG, USE SCHEMA et READ VOLUME

Opérations

Attributions du moindre privilège

Envoyer un nouvel artefact

USE CATALOG, USE SCHEMA et CREATE VOLUME

Poussez une nouvelle version ou déplacez un tag

USE CATALOG, USE SCHEMA et WRITE VOLUME

Découvrez les artefacts et les versions

USE CATALOG, USE SCHEMA et READ METADATA

Utiliser une image dans une charge de travail prise en charge

USE CATALOG, USE SCHEMA et READ VOLUME

Pour un schéma dédié à Artifact Registry, un administrateur peut accorder les privilèges au niveau du schéma. Les privilèges au niveau du schéma s’appliquent à tous les objets correspondants dans le schéma, y compris les objets créés ultérieurement. Utilisez des schémas distincts pour les éditeurs qui ne doivent pas pouvoir modifier les artéfacts des autres. Accordez à chaque principal uniquement les privilèges requis pour ses Opérations. Remplacez les exemples de valeurs et supprimez les instructions de privilège inutiles avant d’exécuter les instructions suivantes :

SQL
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, consultez la page Référence des privilèges Unity Catalog. Pour les autres méthodes d'octroi, consultez Afficher, accorder et révoquer des privilèges.

Envoyer une image

Utilisez le hostname du registre de workspace avec le nom catalog.schema.artifact:tag de l’image.

Obtenir le hostname du registre

Utilisez le Hostname du registre imprimé par databricks auth docker configure. Si vous devez le construire manuellement, utilisez l'identifiant numérique du Workspace et la région du Workspace. Pour trouver l'ID du Workspace, consultez la page Noms d'instance, URL et ID de Workspace.

Utilisez le Hostname suivant :

Text
<workspace-id>.container.<region>.cloud.databricks.com

La valeur <region> correspond à la région du workspace que vous avez transmise à databricks auth docker configure.

Exigences relatives au nom d'artefact

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. Consultez The Unity Catalog object hierarchy.

Le segment <artifact> peut contenir jusqu'à 255 caractères. Utilisez uniquement des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Il doit start et se terminer par une lettre ou un chiffre. Utilisez au maximum deux traits de soulignement consécutifs et ne placez pas de trait de soulignement à côté d'un trait d'union.

Tag and push the image

attention

N'incluez pas d'informations d'identification ni d'autres données sensibles dans une image. Vérifiez l'image avant de l'envoyer. Les versions d'artefact sont immuables et les demandes de suppression ne sont pas prises en charge. Si vous envoyez des données sensibles, effectuez immédiatement une rotation ou une révocation, et demandez à un administrateur de restreindre les attributions READ VOLUME qui s'appliquent à l'artefact concerné. Cessez d'utiliser le condensé concerné et tous les tags qui y mènent, puis consultez les informations à inclure lorsque vous demandez de l'aide.

  1. Tag a local image for Artifact Registry:

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

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

Découvrir les images et les versions

Utilisez l'API Software Artifacts pour lister les artefacts dans un catalogue et un schéma, puis lister les versions d'un artefact.

remarque

Il n'existe pas de commandes CLI de Databricks dédiées au listage et à la gestion des images d'Artifact Registry. Utilisez databricks api pour appeler l'API Software Artifacts.

Les exemples suivants utilisent le profil que vous avez configuré pour l'authentification Docker. Omettez --profile <profile> s'il s'agit de votre profil CLI Databricks default.

List artifacts

Pour dresser la liste des artefacts, exécutez la commande suivante :

Bash
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, transmettez sa valeur dans le parameter de query page_token pour récupérer la page suivante, par exemple &page_token=<next_page_token>.

Lister les versions

Pour répertorier les versions d'un artefact, exécutez la commande suivante :

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

La réponse inclut le condensé d’image, les tags et image_acceleration_details.status pour chaque version. Pour connaître les limites de réponse, consultez Limitations.

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

Lire image_acceleration_details.status à partir de la réponse de la version de l'artefact :

Statut

Signification

SUCCESS

L’accélération d’image s’est terminée avec succès.

UNSPECIFIED

Aucun résultat d'accélération d'image réussi n'a été enregistré. Ce statut n'identifie pas d'échec.

Statut

Signification

SUCCESS

L’accélération d’image s’est terminée avec succès.

UNSPECIFIED

Aucun résultat d'accélération d'image réussi n'a été enregistré. Ce statut n'identifie pas d'échec.

Ressources supplémentaires