Configurer la localité des données à l'aide de points de terminaison régionaux

Cette page décrit les points de terminaison de service mondiaux et régionaux d'Artifact Analysis, et explique comment les utiliser.

Un point de terminaison de service est une URL de base qui spécifie l'adresse réseau d'un service d'API. Artifact Analysis dispose de points de terminaison mondiaux et régionaux.

  • Point de terminaison mondial : par défaut, Artifact Analysis envoie les requêtes d'API à le point de terminaison mondial, containeranalysis.googleapis.com. Les points de terminaison mondiaux ne garantissent pas que les données en transit restent dans un emplacement particulier et peuvent récupérer les données d'Artifact Analysis à partir de n'importe quelle région compatible. Vos données peuvent être traitées en dehors de la région où elles sont stockées.

  • Point de terminaison régional : point de terminaison de service qui applique des restrictions régionales, en veillant à ce que les données soient stockées, transmises et traitées dans une région spécifiée. Un point de terminaison régional n'autorise le traitement des requêtes que si la ressource concernée existe dans l'emplacement spécifié par le point de terminaison. Les points de terminaison régionaux utilisent le format suivant :

    containeranalysis.region.rep.googleapis.com.

    Envisagez d'utiliser des points de terminaison régionaux dans les cas suivants :

    • L'application qui doit accéder à vos données n'est pas géographiquement proche de la région où vos données sont stockées.

    • Vous stockez des données dans plusieurs emplacements et souhaitez optimiser la latence, la fiabilité et la disponibilité.

    • Vous devez respecter des règles ou des réglementations de localité des données qui vous obligent à traiter vos données dans le même emplacement où elles sont stockées.

Les attestations et les données de provenance de la compilation sont stockées dans le point de terminaison mondial. Les résultats d'analyse des failles et les données SBOM sont stockés dans des points de terminaison régionaux et multirégionaux.

Emplacements compatibles avec les points de terminaison régionaux

Vous pouvez utiliser des points de terminaison régionaux pour la plupart des régions compatibles avec Artifact Analysis.

Pour les multirégions et certaines régions, Artifact Analysis n'est compatible qu'avec le point de terminaison mondial.

Pour obtenir la liste des régions compatibles et des points de terminaison de service compatibles pour chaque région, consultez la section Emplacements de stockage des métadonnées.

Commandes Google Cloud CLI

Lorsque vous utilisez gcloud CLI, vous pouvez envoyer des requêtes au point de terminaison régional de deux manières :

  • Utilisez l'option --location.
  • Définissez le point de terminaison régional par défaut que vous souhaitez utiliser pour les commandes Artifact Analysis.

Utiliser l'option --location

Vous pouvez utiliser l'option --location avec l'une des commandes suivantes pour diriger la requête vers le point de terminaison de service approprié :

Pour traiter correctement la requête avec un point de terminaison régional, l'emplacement spécifié doit répondre aux exigences suivantes :

Si vous omettez l'option --location ou si vous spécifiez un emplacement qui n'est pas compatible avec un point de terminaison régional, la commande utilise le point de terminaison mondial.

Par exemple, la commande suivante liste les failles d'une image stockée dans us-east1 :

gcloud artifacts vulnerabilities list --location=us-east1 us-east1-docker.pkg.dev/my-project/my-repo/my-image@sha256:49765698074d6d7baa82f

Définir un point de terminaison par défaut pour les commandes

Par défaut, les commandes gcloud CLI utilisent le point de terminaison mondial. Vous pouvez définir un point de terminaison régional par défaut pour les commandes Artifact Analysis afin de ne pas avoir à spécifier l'emplacement dans les commandes individuelles.

Assurez-vous d'utiliser la version 402.0.0 ou ultérieure de gcloud CLI.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • LOCATION : la région où vos métadonnées sont stockées.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud config set api_endpoint_overrides/containeranalysis https://containeranalysis.LOCATION.rep.googleapis.com

Windows (PowerShell)

gcloud config set api_endpoint_overrides/containeranalysis https://containeranalysis.LOCATION.rep.googleapis.com

Windows (cmd.exe)

gcloud config set api_endpoint_overrides/containeranalysis https://containeranalysis.LOCATION.rep.googleapis.com

Utiliser un point de terminaison régional pour les méthodes d'API

Spécifiez le point de terminaison régional au lieu du point de terminaison mondial. Par exemple, l'exemple suivant liste les occurrences dans la région spécifiée.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : la région où vos métadonnées sont stockées.
  • PROJECT_ID : ID de votre Google Cloud projet.

Méthode HTTP et URL :

GET https://containeranalysis.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/occurrences

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

occurrences: [
  {
    name: "projects/my-project/locations/us-east1/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f"
    resource_uri: "https://us-east1-docker.pkg.dev/my-project/my-repo/my-image@sha256:b487c4da45ce363eef69d9c066fa26f6666e4f3c9c414d98d1e27bfcc949e544"
    note_name: "projects/goog-vulnz/locations/us-east1/notes/CVE-2018-1272"
    kind: VULNERABILITY
    ...
  }

Avant la transition vers le stockage régional des métadonnées, les occurrences et les notes n'incluaient pas de nom d'emplacement dans leurs identifiants. Comme les analyses plus récentes stockent les métadonnées dans des régions, les requêtes d'API utilisant des points de terminaison mondiaux ou régionaux renvoient des résultats qui incluent des identifiants d'emplacement.

Avant la transition, un identifiant d'occurrence ressemblait à cet exemple :

name: "projects/my-project/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f"

La même occurrence stockée dans us-east1 se présente comme suit :

name: "projects/my-project/locations/us-east1/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f"

Restreindre l'utilisation des points de terminaison d'API mondiaux

Pour appliquer l'utilisation de points de terminaison régionaux, utilisez la contrainte de règle d'administration constraints/gcp.restrictEndpointUsage afin de bloquer les requêtes envoyées au point de terminaison d'API mondial. Pour en savoir plus, consultez Restreindre l'utilisation des points de terminaison.

Étape suivante