本页介绍了 Artifact Analysis 全球和区域服务端点以及如何使用它们。
服务端点是指定 API 服务的网络地址的基本网址。Artifact Analysis 具有全球和区域性端点。
全球端点:默认情况下,Artifact Analysis 会将 API 请求发送到全球端点
containeranalysis.googleapis.com
。全球端点无法保证传输中的数据会保留在特定位置,并且可以从任何受支持的区域检索 Artifact Analysis 数据。您的数据可能会在存储区域之外处理。区域性端点:服务端点会实施区域限制,以确保在指定区域存储、传输和处理数据。只有在受影响的资源存在于区域端点指定的位置时,区域端点才允许请求继续。区域端点采用以下格式:
containeranalysis.region.rep.googleapis.com
。在以下情况下,请考虑使用区域端点:
需要访问您数据的应用与数据存储区域的地理位置相距较远。
您在多个位置存储数据,并希望优化延迟时间、可靠性和可用性。
您需要遵守数据本地化政策或法规,这些政策或法规要求您在数据存储地点处理数据。
认证和 build 来源数据存储在全球端点中。漏洞扫描结果和 SBOM 数据存储在区域性端点和多区域端点中。
支持地区端点的位置
您可以针对 Artifact Analysis 支持的大多数区域使用区域性端点。
对于多区域和某些区域,Artifact Analysis 仅支持全球端点。
如需查看支持的区域以及每个区域支持的服务端点的列表,请参阅元数据存储位置。
Google Cloud CLI 命令
使用 gcloud CLI 时,您可以通过以下两种方式向区域端点发送请求:
- 使用
--location
标志。 - 设置要用于 Artifact Analysis 命令的默认区域端点。
使用 --location
标志
您可以将 --location
标志与以下命令之一结合使用,将请求定向到相应的服务端点:
- 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
如需使用区域级端点成功处理请求,指定的位置必须满足以下要求:
- 相应位置支持区域端点。
- 该位置与工件元数据的存储区域一致。
如果您省略 --location
标志或指定不支持区域端点的位置,则该命令会使用全球端点。
例如,以下命令会列出存储在 us-east1
中的映像的漏洞:
gcloud artifacts vulnerabilities list --location=us-east1 us-east1-docker.pkg.dev/my-project/my-repo/my-image@sha256:49765698074d6d7baa82f
为命令设置默认端点
默认情况下,gcloud CLI 命令使用全球端点。您可以为 Artifact Analysis 命令设置默认地区端点,这样就不必在各个命令中指定位置。
确保您使用的是 gcloud CLI 402.0.0 或更高版本。
在使用下面的命令数据之前,请先进行以下替换:
- LOCATION:元数据的存储区域。
执行以下命令:
Linux、macOS 或 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
针对 API 方法使用区域端点
指定区域端点,而不是全球端点。例如,以下示例列出了指定区域中的出现情况。
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:元数据的存储区域。
- PROJECT_ID:您的 Google Cloud 项目的项目 ID。
HTTP 方法和网址:
GET https://containeranalysis.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/occurrences
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
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 ... }
在改用地区性元数据存储之前,出现情况和备注的标识符中不包含地点名称。由于较新的扫描会在区域中存储元数据,因此使用全局端点或区域端点的 API 请求会返回包含位置标识符的结果。
转换之前的出现次数标识符如下例所示:
name: "projects/my-project/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f"
存储在 us-east1
中的同一出现情况如下所示:
name: "projects/my-project/locations/us-east1/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f"
后续步骤
- 查看每个位置的元数据存储位置和支持的服务端点。