Cette page explique comment gérer les métadonnées associées à un artefact stocké dans Artifact Registry en tant que pièce jointe.
Les pièces jointes sont des fichiers qui stockent des métadonnées sur un artefact associé stocké dans Artifact Registry. Pour savoir comment créer une pièce jointe, consultez Stocker les métadonnées des artefacts dans des pièces jointes.
Avant de commencer
Facultatif : Configurez des valeurs par défaut pour les commandes Google Cloud CLI.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les pièces jointes, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le dépôt :
-
Afficher et télécharger les pièces jointes :
Lecteur Artifact Registry (
roles/artifactregistry.reader
) -
Créer des pièces jointes :
Rédacteur Artifact Registry (
roles/artifactregistry.writer
) -
Supprimer les pièces jointes :
Administrateur de dépôts Artifact Registry (
roles/artifactregistry.repoAdmin
)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pièces jointes des listes
Un artefact dans Artifact Registry peut comporter un nombre illimité de pièces jointes qui y font référence. Vous pouvez lister les pièces jointes à l'aide de la console Google Cloud , de la gcloud CLI ou, pour les images de conteneurs au format Docker uniquement, d'Oras.
Console (Docker uniquement)
Dans la console Google Cloud , ouvrez la page Dépôts.
Cliquez sur le nom du dépôt pour afficher les images qu'il contient.
Pour afficher les versions d'une image, cliquez sur son nom.
Cliquez sur la version appropriée de l'image.
Pour afficher les pièces jointes de cette version, cliquez sur l'onglet Pièces jointes.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
TARGET
: nom complet de la version. Pour les images Docker uniquement, vous pouvez également utiliser l'URI Artifact Registry de l'artefact auquel la pièce jointe fait référence. Dans l'URI, vous pouvez utiliser le résumé ou, pour les images Docker, le tag (par exemple,us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
).
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud artifacts attachments list \ --target=TARGET
Windows (PowerShell)
gcloud artifacts attachments list ` --target=TARGET
Windows (cmd.exe)
gcloud artifacts attachments list ^ --target=TARGET
gcloud artifacts attachments list
.
Oras (Docker uniquement)
Avant d'exécuter la commande, effectuez le remplacement suivant :
IMAGE_URI
: URI de l'image cible à laquelle font référence les pièces jointes listées.
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI
L'exemple suivant liste les pièces jointes pour une image de conteneur, my-image
, identifiée par son URI et son tag :
oras discover --distribution-spec v1.1-referrers-api \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
Où :
v1.1-referrers-api
correspond à l'API Referrer utilisée. Pour en savoir plus, consultez les détails de la spécification de distribution.us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
est l'URI, y compris le tag de la version de l'image de conteneur pour laquelle lister les pièces jointes.
Pour obtenir un guide complet et d'autres exemples, consultez la documentation oras discover
.
Décrire les pièces jointes
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ATTACHMENT
: nom complet du rattachement, par exempleprojects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Vous pouvez également ne fournir que l'ID de pièce jointe et utiliser les options--location
et--repository
.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud artifacts attachments describe ATTACHMENT
Windows (PowerShell)
gcloud artifacts attachments describe ATTACHMENT
Windows (cmd.exe)
gcloud artifacts attachments describe ATTACHMENT
gcloud artifacts attachments describe
.
Télécharger les pièces jointes
Vous pouvez télécharger des pièces jointes à l'aide de la gcloud CLI ou, pour les images de conteneurs au format Docker uniquement, d'Oras.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ATTACHMENT
: nom complet du rattachement, par exempleprojects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Vous pouvez également ne fournir que l'ID de pièce jointe et utiliser les options--location
et--repository
.DESTINATION
: chemin d'accès dans votre système de fichiers local pour télécharger la pièce jointe.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud artifacts attachments download ATTACHMENT \ --destination=DESTINATION
Windows (PowerShell)
gcloud artifacts attachments download ATTACHMENT ` --destination=DESTINATION
Windows (cmd.exe)
gcloud artifacts attachments download ATTACHMENT ^ --destination=DESTINATION
--oci-version-name
suivi du nom complet de la version de la pièce jointe ou de l'URI Artifact Registry au lieu de ATTACHMENT
. Vous pouvez utiliser le condensé ou le tag (par exemple, projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123
).Pour en savoir plus, consultez la commande
gcloud artifacts attachments download
.
Oras (Docker uniquement)
Avant d'exécuter la commande, effectuez les remplacements suivants :
DESTINATION
: répertoire de destination de votre pièce jointe.ATTACHMENT_URI
: URI de la pièce jointe à télécharger. Il s'agit de l'URI du conteneur d'image auquel la pièce jointe fait référence, suivi du SHA unique de la pièce jointe.
oras pull -o DESTINATION ATTACHMENT_URI
L'exemple suivant télécharge une pièce jointe identifiée par son URI et son condensé :
oras pull -o . us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
Où :
-o .
désigne le répertoire actuel comme destination de téléchargement.us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
correspond à l'URI de l'image, y compris le résumé de la pièce jointe à télécharger.
Pour obtenir un guide complet et d'autres exemples, consultez la documentation oras pull
.
Supprimer des pièces jointes
Vous pouvez supprimer des pièces jointes directement à l'aide de la console Google Cloud ou de gcloud CLI. Vous pouvez supprimer indirectement des pièces jointes en supprimant l'artefact auquel elles font référence.
Supprimer directement des pièces jointes
Vous pouvez supprimer des pièces jointes directement à l'aide de l'une des options suivantes :
Console (Docker uniquement)
Dans la console Google Cloud , ouvrez la page Dépôts.
Cliquez sur le nom du dépôt pour afficher les images qu'il contient.
Cliquez sur le nom de l'image pour afficher ses versions.
Cliquez sur la version de l'image pour laquelle vous souhaitez afficher les pièces jointes.
Cliquez sur l'onglet Pièces jointes pour afficher les pièces jointes de cette version.
Cliquez sur le résumé de la pièce jointe à supprimer.
Cliquez sur SUPPRIMER.
Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ATTACHMENT
: nom complet du rattachement, par exempleprojects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Vous pouvez également ne fournir que l'ID de pièce jointe et utiliser les options--location
et--repository
.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud artifacts attachments delete ATTACHMENT
Windows (PowerShell)
gcloud artifacts attachments delete ATTACHMENT
Windows (cmd.exe)
gcloud artifacts attachments delete ATTACHMENT
gcloud artifacts attachments delete
.
Supprimer indirectement des pièces jointes
Si un artefact est supprimé, toutes les pièces jointes dont le nom de version de l'artefact supprimé est le target
sont également supprimées. Cela s'applique à la fois à la suppression manuelle des artefacts et aux suppressions causées par les règles de nettoyage.
Étapes suivantes
- En savoir plus sur la sécurité de la chaîne d'approvisionnement logicielle
- En savoir plus sur la nomenclature logicielle (SBOM)