Importer des fichiers SBOM

Cette page explique comment importer un fichier de nomenclature logicielle (SBOM) dans Cloud Storage pour suivre et attester des composants des images de conteneur que vous stockez dans Artifact Registry.

Pour en savoir plus sur les tarifs de Cloud Storage, consultez la page Tarifs.

Avant de commencer

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. disposer d'un dépôt Docker dans Artifact Registry contenant l'image de conteneur décrite par votre SBOM ; Si vous ne connaissez pas Artifact Registry, consultez le guide de démarrage rapide Docker.
  13. Avoir un fichier SBOM prêt à être importé dans l'un des formats compatibles.

Rôles requis

Pour obtenir les autorisations nécessaires pour créer et gérer des buckets Cloud Storage et des fichiers SBOM, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet:

  • Si vous utilisez le bucket Cloud Storage par défaut, pour gérer les buckets de stockage : Storage Admin(roles/storage.admin)
  • Si vous spécifiez un bucket Cloud Storage, pour gérer les buckets de stockage : Administrateur des objets Storage(roles/storage.objectAdmin)
  • Si une note pour la référence du SBOM existe déjà : Agent d'association de notes Container Analysis (roles/containeranalysis.notes.attacher)
  • Pour créer une note pour les occurrences de référence SBOM dans le projet en cours : Éditeur de notes Container Analysis((roles/containeranalysis.notes.editor)
  • Pour créer une occurrence de référence SBOM : Éditeur d'occurrences d'analyse de conteneurs(roles/containeranalysis.occurrences.editor)

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Formats compatibles

Votre fichier SBOM doit être un fichier JSON au format suivant:

Importer votre SBOM

Utilisez la commande suivante pour importer votre SBOM:

gcloud artifacts sbom load /
    --source SOURCE /
    --uri URI

Où :

  • SOURCE: chemin d'accès au fichier SBOM à importer.
  • URI: URI de l'image Docker décrite par le fichier SBOM. Les images peuvent être au format balise ou condensé. Les images fournies au format de balise seront converties au format condensé.

Indicateurs facultatifs

  • --destination: spécifie un bucket Cloud Storage à utiliser à la place du bucket par défaut.
  • --kms-key-version: fournit une version de clé pour signer la charge utile d'occurrence de référence du SBOM. Vous pouvez utiliser cette clé pour vérifier l'origine de la SBOM.

Par exemple, la commande suivante importe un fichier JSON my-sbom.bom.json généré à partir de l'image taguée us-east1-docker.pkg.dev/my-image-repo/my-image et signe l'occurrence de référence du SBOM avec la version de clé KMS se terminant par my-key/cryptoKeyVersions/1.

gcloud artifacts sbom load /
--source=my-sbom.bom.json
--uri=us-east1-docker.pkg.dev/my-image-repo/my-image
--kms-key-version=projects/my-project/locations/us/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/1

La commande suivante importe un fichier JSON my-sbom.spdx.json associé au récapitulatif d'image my-local-image@sha256:abcxyz et le stocke dans le bucket Cloud Storage gs://my-sbom-bucket.

gcloud artifacts sbom load /
    --source=my-sbom.spdx.json /
    --uri=my-local-image@sha256:abcxyz /
    --destination=gs://my-sbom-bucket

Artifact Analysis importe votre SBOM dans Cloud Storage et crée une occurrence de référence SBOM.

Vous pouvez afficher les SBOM à l'aide de la console Google Cloud ou de gcloud CLI. Si vous souhaitez localiser le bucket Cloud Storage qui contient vos fichiers SBOM, vous devez rechercher des fichiers SBOM à l'aide de la CLI gcloud.

Étape suivante