Datenspeicherort mithilfe regionaler Endpunkte konfigurieren

Auf dieser Seite werden die globalen und regionalen Dienstendpunkte der Artefaktanalyse beschrieben und wie sie verwendet werden.

Ein Dienstendpunkt ist eine Basis-URL, die die Netzwerkadresse eines API-Dienstes angibt. Die Artefaktanalyse hat sowohl globale als auch regionale Endpunkte.

  • Globaler Endpunkt: Standardmäßig sendet Artefaktanalyse API-Anfragen an den globalen Endpunkt containeranalysis.googleapis.com. Bei globalen Endpunkten kann nicht garantiert werden, dass sich Daten während der Übertragung an einem bestimmten Ort befinden. Außerdem können Artefaktanalysedaten aus jeder unterstützten Region abgerufen werden. Ihre Daten werden möglicherweise außerhalb der Region verarbeitet, in der sie gespeichert sind.

  • Regionaler Endpunkt: Ein Dienstendpunkt, der regionale Einschränkungen erzwingt, damit Daten in einer bestimmten Region gespeichert, übertragen und verarbeitet werden. Mit einem regionalen Endpunkt werden nur Anfragen fortgesetzt, wenn die betroffene Ressource am vom Endpunkt angegebenen Standort vorhanden ist. Regionale Endpunkte haben folgendes Format:

    containeranalysis.region.rep.googleapis.com.

    Regionale Endpunkte sollten in folgenden Fällen verwendet werden:

    • Die Anwendung, die auf Ihre Daten zugreifen muss, befindet sich nicht in der Nähe der Region, in der Ihre Daten gespeichert sind.

    • Sie speichern Daten an mehreren Standorten und möchten Latenz, Zuverlässigkeit und Verfügbarkeit optimieren.

    • Sie müssen Richtlinien oder Bestimmungen zur Datenlokalität einhalten, die vorschreiben, dass Sie Ihre Daten am selben Ort verarbeiten müssen, an dem sie gespeichert sind.

Attestierungen und Daten zur Buildherkunft werden im globalen Endpunkt gespeichert. Ergebnisse von Sicherheitslückenscans und SBOM-Daten werden in regionalen und multiregionalen Endpunkten gespeichert.

Standorte, die regionale Endpunkte unterstützen

Sie können regionale Endpunkte für die meisten Regionen verwenden, die von der Artefaktanalyse unterstützt werden.

Für Multiregionen und einige Regionen wird bei der Artefaktanalyse nur der globale Endpunkt unterstützt.

Eine Liste der unterstützten Regionen und der für jede Region unterstützten Dienstendpunkte finden Sie unter Speicherorte für Metadaten.

Google Cloud CLI-Befehle

Wenn Sie die gcloud CLI verwenden, haben Sie zwei Möglichkeiten, Anfragen an den regionalen Endpunkt zu senden:

  • Verwenden Sie das Flag --location.
  • Legen Sie den regionalen Standardendpunkt fest, den Sie für Befehle Artefaktanalyse verwenden möchten.

Verwenden Sie das Flag --location.

Sie können das --location-Flag mit einem der folgenden Befehle verwenden, um die Anfrage an den entsprechenden Dienstendpunkt weiterzuleiten:

Damit die Anfrage mit einem regionalen Endpunkt verarbeitet werden kann, muss der angegebene Standort die folgenden Anforderungen erfüllen:

Wenn Sie das Flag --location weglassen oder einen Standort angeben, der keinen regionalen Endpunkt unterstützt, verwendet der Befehl den globalen Endpunkt.

Mit dem folgenden Befehl werden beispielsweise Sicherheitslücken für ein in us-east1 gespeichertes Image aufgelistet:

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

Standardendpunkt für Befehle festlegen

Standardmäßig wird in den gcloud CLI-Befehlszeilen der globale Endpunkt verwendet. Sie können einen regionalen Standardendpunkt für Befehle zur Artefaktanalyse festlegen, damit Sie den Speicherort nicht in einzelnen Befehlen angeben müssen.

Sie benötigen die gcloud CLI-Version 402.0.0 oder höher.

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • LOCATION: die Region, in der Ihre Metadaten gespeichert sind.

Führen Sie folgenden Befehl aus:

Linux, macOS oder 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

Regionalen Endpunkt für API-Methoden verwenden

Geben Sie den regionalen Endpunkt anstelle des globalen Endpunkts an. Im folgenden Beispiel werden beispielsweise Vorkommen in der angegebenen Region aufgelistet.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: die Region, in der Ihre Metadaten gespeichert sind.
  • PROJECT_ID: Die Projekt-ID Ihres Google Cloud -Projekts.

HTTP-Methode und URL:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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
    ...
  }

Vor der Umstellung auf den regionalen Metadatenspeicher enthielten die IDs von Vorkommen und Hinweisen keinen Ortsnamen. Da bei neueren Scans Metadaten in Regionen gespeichert werden, geben API-Anfragen mit globalen oder regionalen Endpunkten Ergebnisse zurück, die Standort-IDs enthalten.

Eine Ereignis-ID vor der Umstellung sah in etwa so aus:

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

Das gleiche Ereignis, das in us-east1 gespeichert ist, sieht so aus:

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

Nächste Schritte