이 페이지에서는 아티팩트 분석 전역 및 리전 서비스 엔드포인트와 사용 방법을 설명합니다.
서비스 엔드포인트는 API 서비스의 네트워크 주소를 지정하는 기준 URL입니다. Artifact Analysis에는 전역 및 리전 엔드포인트가 모두 있습니다.
전역 엔드포인트: 기본적으로 아티팩트 분석은 전역 엔드포인트
containeranalysis.googleapis.com
에 API 요청을 전송합니다. 전역 엔드포인트는 전송 중인 데이터가 특정 위치에 유지된다고 보장하지 않으며 지원되는 모든 리전에서 아티팩트 분석 데이터를 검색할 수 있습니다. 데이터가 저장된 리전 외부에서 데이터가 처리될 수 있습니다.리전 엔드포인트: 데이터가 특정 리전에 저장, 전송, 처리되도록 리전 제한을 적용하는 서비스 엔드포인트입니다. 리전 엔드포인트는 영향을 받는 리소스가 엔드포인트에서 지정된 위치에 있는 경우에만 요청 처리를 허용합니다. 리전 엔드포인트는 다음 형식을 사용합니다.
containeranalysis.region.rep.googleapis.com
.다음과 같은 상황에서는 지역 엔드포인트를 사용하는 것이 좋습니다.
데이터에 액세스해야 하는 애플리케이션이 데이터가 저장된 리전에 지리적으로 가깝지 않습니다.
여러 위치에 데이터를 저장하고 있으며 지연 시간, 안정성, 가용성을 최적화하려고 합니다.
데이터가 저장된 위치와 동일한 위치에서 데이터를 처리하도록 요구하는 데이터 위치 정책 또는 규정을 준수해야 합니다.
증명 및 빌드 출처 데이터는 글로벌 엔드포인트에 저장됩니다. 취약점 스캔 결과 및 SBOM 데이터는 리전 및 멀티 리전 엔드포인트에 저장됩니다.
지역 엔드포인트를 지원하는 위치
아티팩트 분석에서 지원하는 대부분의 리전에 리전 엔드포인트를 사용할 수 있습니다.
멀티 리전 및 일부 리전의 경우 Artifact Analysis는 전역 엔드포인트만 지원합니다.
지원되는 리전 및 각 리전에서 지원되는 서비스 엔드포인트 목록은 메타데이터 저장소 위치를 참고하세요.
Google Cloud CLI 명령어
gcloud CLI를 사용할 때 리전 엔드포인트에 요청을 전송하는 방법에는 두 가지가 있습니다.
--location
플래그를 사용합니다.- 아티팩트 분석 명령어에 사용할 기본 리전 엔드포인트를 설정합니다.
--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 명령어는 전역 엔드포인트를 사용합니다. 개별 명령어에서 위치를 지정할 필요가 없도록 아티팩트 분석 명령어의 기본 지역 엔드포인트를 설정할 수 있습니다.
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 메서드 및 URL:
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"
다음 단계
- 각 위치의 메타데이터 저장소 위치 및 지원되는 서비스 엔드포인트를 확인합니다.