En esta página, se describen los extremos de servicio globales y regionales de Artifact Analysis, y cómo usarlos.
Un endpoint de servicio es una URL base que especifica la dirección de red de un servicio de API. Artifact Analysis tiene extremos globales y regionales.
Extremo global: De forma predeterminada, Artifact Analysis envía solicitudes de API a el extremo global,
containeranalysis.googleapis.com. Los extremos globales no garantizan que los datos en tránsito permanezcan en una ubicación determinada y pueden recuperar datos de Artifact Analysis de cualquier región admitida. Es posible que tus datos se procesen fuera de la región en la que se almacenan.Extremo regional: Es un extremo de servicio que aplica restricciones regionales, lo que garantiza que los datos se almacenen, transmitan y procesen en una región especificada. Un extremo regional solo permite que las solicitudes continúen si el recurso afectado existe en la ubicación especificada por el extremo. Los extremos regionales usan el siguiente formato:
containeranalysis.region.rep.googleapis.com.Considera usar extremos regionales en las siguientes situaciones:
La aplicación que necesita acceder a tus datos no está cerca geográficamente de la región en la que se almacenan tus datos.
Almacenas datos en varias ubicaciones y deseas optimizar la latencia, la confiabilidad y la disponibilidad.
Debes cumplir con las políticas o reglamentaciones de localidad de datos que requieren que proceses tus datos en la misma ubicación en la que se almacenan.
Las atestaciones y los datos de procedencia de la compilación se almacenan en el extremo global. Los resultados del análisis de vulnerabilidades y los datos de SBOM se almacenan en extremos regionales y multirregionales.
Ubicaciones que admiten extremos regionales
Puedes usar extremos regionales para la mayoría de las regiones que admite Artifact Analysis.
En el caso de las multirregiones y algunas regiones, Artifact Analysis solo admite el extremo global.
Para obtener una lista de las regiones admitidas y los extremos de servicio que se admiten para cada región, consulta Ubicaciones de almacenamiento de metadatos.
Comandos de Google Cloud CLI
Cuando usas gcloud CLI, hay dos formas de enviar solicitudes al extremo regional:
- Usa la marca
--location. - Configura el extremo regional predeterminado que deseas usar para los comandos de Artifact Analysis.
Usa la marca --location
Puedes usar la marca --location con uno de los siguientes comandos para dirigir la solicitud al extremo de servicio adecuado:
- gcloud artifacts sbom export
- gcloud artifacts sbom list
- gcloud artifacts sbom load
- gcloud artifacts version describe
- gcloud artifacts vulnerabilities list
- gcloud artifacts vulnerabilities load-vex
Para procesar correctamente la solicitud con un extremo regional, la ubicación especificada debe cumplir con los siguientes requisitos:
- La ubicación admite un extremo regional.
- La ubicación coincide con la región en la que se almacenan los metadatos del artefacto.
Si omites la marca --location o especificas una ubicación que no admite un extremo regional, el comando usa el extremo global.
Por ejemplo, el siguiente comando muestra las vulnerabilidades de una imagen almacenada en us-east1:
gcloud artifacts vulnerabilities list --location=us-east1 us-east1-docker.pkg.dev/my-project/my-repo/my-image@sha256:49765698074d6d7baa82f
Configura un extremo predeterminado para los comandos
De forma predeterminada, los comandos de gcloud CLI usan el extremo global. Puedes configurar un extremo regional predeterminado para los comandos de Artifact Analysis de modo que no necesites especificar la ubicación en comandos individuales.
Asegúrate de usar la versión 402.0.0 de gcloud CLI o una más reciente.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- LOCATION: la región en la que se almacenan tus metadatos.
Ejecuta el siguiente comando:
Linux, macOS o 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
Usa un extremo regional para los métodos de la API
Especifica el extremo regional en lugar del extremo global. Por ejemplo, en el siguiente ejemplo, se enumeran las ocurrencias en la región especificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: la región en la que se almacenan tus metadatos.
- PROJECT_ID: el ID del proyecto de tu Google Cloud proyecto.
Método HTTP y URL:
GET https://containeranalysis.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/occurrences
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
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
...
}
Antes de la transición al almacenamiento de metadatos regionales, las ocurrencias y las notas no incluían un nombre de ubicación en sus identificadores. A medida que los análisis más recientes almacenan metadatos en regiones, las solicitudes de API que usan extremos globales o regionales muestran resultados que incluyen identificadores de ubicación.
Un identificador de ocurrencia antes de la transición se veía como este ejemplo:
name: "projects/my-project/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f"
La misma ocurrencia almacenada en us-east1 se ve de la siguiente manera:
name: "projects/my-project/locations/us-east1/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f"
Restringe el uso del extremo de API global
Para ayudar a aplicar de manera forzosa el uso de extremos regionales, usa la restricción de políticas de la organización constraints/gcp.restrictEndpointUsage y bloquea las solicitudes al extremo de API global. Para obtener más información, consulta
Cómo restringir el uso de extremos.
¿Qué sigue?
- Consulta las ubicaciones de almacenamiento de metadatos y los extremos de servicio admitidos para cada ubicación.