Get started with Artifact Registry
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.
The --region value must match the region of the workspace in the selected Databricks CLI profile.
Pour trouver la région, ouvrez la console du compte et sélectionnez Workspaces .
-
Créer ou refresh un profil pour le Workspace cible :
Bashdatabricks auth login --profile <profile> -
Configurez l'authentification Docker pour la région du registre :
Bashdatabricks 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 |
|
Poussez une nouvelle version ou déplacez un tag |
|
Découvrez les artefacts et les versions |
|
Utiliser une image dans une charge de travail prise en charge |
|
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 :
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 :
<workspace-id>.container.<region>.gcp.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
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
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.
-
Tag a local image for Artifact Registry:
Bashdocker tag <local-image>:<local-tag> \
<registry-hostname>/<catalog>.<schema>.<artifact>:<tag> -
Envoyez l’image :
Bashdocker 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.
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 :
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 :
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 |
|---|---|
| L’accélération d’image s’est terminée avec succès. |
| Aucun résultat d'accélération d'image réussi n'a été enregistré. Ce statut n'identifie pas d'échec. |