이 문서에서는 소프트웨어 재료명세서 (SBOM) 레코드 및 관련 종속 항목 메타데이터에 액세스하여 Artifact Registry에 저장된 컨테이너 이미지의 구성요소를 이해하는 방법을 설명합니다.
시작하기 전에
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- SBOM이 Cloud Storage에 저장되어 있습니다. SBOM 생성 안내를 참고하세요.
필요한 역할
SBOM 데이터를 보고 결과를 필터링하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
컨테이너 분석 어커런스 뷰어 (
roles/containeranalysis.occurrences.viewer
) -
서비스 사용량 소비자(
roles/serviceusage.serviceUsageConsumer
) -
Artifact Registry 리더(
roles/artifactregistry.reader
) -
SBOMS를 확인하려면 다음을 실행합니다.
스토리지 객체 뷰어 (
roles/storage.objectViewer
) - 특정 Cloud Storage 버킷
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Google Cloud 콘솔에서 SBOM 보기
Artifact Registry에 저장된 컨테이너 이미지의 SBOM 및 관련 종속 항목 메타데이터를 보려면 다음 단계를 따르세요.
Artifact Registry 저장소 페이지를 엽니다.
페이지에 저장소 목록이 표시됩니다.
저장소 목록에서 저장소 이름을 클릭합니다.
저장소 세부정보 페이지가 열리고 이미지 목록이 표시됩니다.
이미지 목록에서 이미지 이름을 클릭합니다.
페이지에 이미지 다이제스트 목록이 표시됩니다.
이미지 다이제스트 목록에서 다이제스트 이름을 클릭합니다.
페이지에는 개요 탭이 열려 있는 탭 행이 표시되며 형식, 위치, 저장소, 가상 크기, 태그와 같은 세부정보가 표시됩니다.
탭 행에서 Dependencies 탭을 클릭합니다.
종속 항목 탭이 열리고 다음 정보가 표시됩니다.
- SBOM 섹션
- 라이선스 섹션
- 필터링 가능한 종속 항목 목록
SBOM
SBOM 요약 섹션에는 다음 정보가 표시됩니다.
- 파일: 클릭 가능한 SBOM 파일 이름으로, Cloud Storage에 SBOM이 저장된 위치를 엽니다.
- 유형: 사용되는 SBOM 표준의 유형입니다(예: Software Package Data Exchange(SPDX) 또는 Cyclone).
- 버전: 사용되는 SBOM 표준의 버전입니다.
- 생성: 아티팩트 분석에서 생성했는지 또는 수동으로 업로드했는지와 관계없이 SBOM 데이터의 출처입니다.
라이선스
라이선스 요약 섹션에는 가장 일반적인 라이선스라는 막대 그래프가 표시됩니다. 종속 항목 정보에 가장 자주 표시되는 라이선스 유형을 나타냅니다. 그래프의 막대 위에 포인터를 가져가면 콘솔에 해당 라이선스 유형의 인스턴스 수가 정확하게 표시됩니다.
종속 항목
종속 항목 목록에는 다음을 포함하여 이미지 다이제스트의 콘텐츠가 표시됩니다.
- 패키지 이름
- 패키지 버전
- 패키지 유형
- 라이선스 유형
이러한 카테고리를 기준으로 종속 항목 목록을 필터링할 수 있습니다.
Cloud Build에서 SBOM 보기
Cloud Build를 사용하는 경우 Google Cloud 콘솔의 보안 통계 측면 패널에서 이미지 메타데이터를 확인할 수 있습니다.
보안 통계 측면 패널에서는 Artifact Registry에 저장된 아티팩트에 대한 빌드 보안 정보에 대한 대략적인 개요를 제공합니다. 측면 패널에 관한 자세한 내용과 Cloud Build를 사용하여 소프트웨어 공급망을 보호하는 방법은 빌드 보안 통계 보기를 참고하세요.
gcloud CLI로 SBOM 보기
gcloud artifacts sbom list
명령어를 사용하여 Cloud Storage에 저장된 SBOM을 검색합니다. 이 검색은 아티팩트 분석에서 생성된 SBOM과 지원되는 형식을 사용하여 다른 소스에서 업로드한 SBOM을 비롯하여 Cloud Storage의 모든 SBOM에 적용됩니다.
gcloud 명령어와 함께 필터를 사용하여 결과를 좁히고 특정 보안 문제 또는 규정 준수 요청과 가장 관련성이 높은 SBOM에 집중할 수 있습니다.
예를 들어 다음 명령어는 Artifact Registry에 저장된 Docker 이미지 my-image
의 SBOM에 관한 정보를 가져오는 방법을 보여줍니다.
gcloud artifacts sbom list \
--resource="us-east1-docker.pkg.dev/my-project/my-repo/my-image:1.0"
각 항목의 의미는 다음과 같습니다.
--resource
는 SBOM 파일 참조를 나열할 이미지 리소스 URI를 지정합니다.
출력에는 다음이 포함됩니다.
- SBOM의 Cloud Storage 위치입니다. Cloud Storage 위치를 사용하여 gcloud storage cat 명령어를 실행하여 gcloud CLI에서 SBOM을 볼 수 있습니다.
- SBOM이 Cloud Storage 버킷에 아직 있는지 또는 삭제되었는지 여부
- SBOM의 해시로, SBOM이 수정되지 않았는지 확인하는 데 사용할 수 있습니다.
필터
다음과 같은 선택적 플래그를 사용하여 특정 SBOM을 필터링할 수 있습니다.
플래그 | 목적 | 입력 값 |
---|---|---|
--dependency |
리소스에 지정된 패키지가 설치된 모든 SBOM 파일 참조를 나열합니다. 지원되는 패키지 유형을 참고하세요. | 설치된 패키지의 이름 |
--resource |
특정 이미지와 관련된 SBOM 파일 참조를 나열합니다. | 리소스 URI |
--resource-prefix |
리소스 경로 접두사와 관련된 SBOM 파일 참조를 나열합니다. | 검색의 접두사로 사용되는 리소스 경로 |
필터링 예시
리소스 URI로 결과 필터링:
gcloud artifacts sbom list \
--resource="us-east1-docker.pkg.dev/project/repo/my-image@sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356"
리소스 접두사로 필터링:
gcloud artifacts sbom list \
--resource-prefix="us-east1-docker.pkg.dev/project/repo"
제한사항
- 라이선스 정보는 OS 패키지 및 지원되는 언어 패키지에 대해서만 제공됩니다.