이 페이지에서는 메타데이터 관리의 핵심 개념과 안전한 소프트웨어 제공 체인에서의 중요성을 소개합니다.
안전한 공급망의 한 가지 측면은 소프트웨어 아티팩트의 수명 주기를 추적하는 것입니다. 규정 준수를 위해 아티팩트가 지원 중단된 후에도 이 추적 정보를 사용할 수 있어야 할 수 있습니다. 이는 아티팩트 또는 소프트웨어 리소스(컨테이너 이미지, 가상 머신, 소프트웨어 패키지)에 관한 중요한 이벤트를 설명하는 메타데이터를 생성하고 저장하여 달성할 수 있습니다.
Artifact Analysis를 사용하면 리소스와 연결된 메타데이터 정보를 저장할 수 있으며, 이 메타데이터는 나중에 소프트웨어 공급망을 감사하기 위해 검색할 수 있습니다.
Artifact Analysis에서 메타데이터를 저장하는 방법
아티팩트 분석은 정책 추적 및 시행을 위한 중앙화된 정보 소스로 작동할 수 있는 오픈소스 구성요소 메타데이터 API인 Grafeas를 기반으로 합니다. 빌드, 감사, 규정 준수 도구는 Grafeas를 사용하여 소프트웨어 구성요소에 관한 포괄적인 메타데이터를 저장, 쿼리, 검색할 수 있습니다.
Grafeas는 오픈소스이므로 특정 공급업체에 종속되지 않습니다. Grafeas는 고유한 소프트웨어 식별자를 사용하여 메타데이터를 연결합니다. 아티팩트 저장소를 분리하므로 여러 저장소의 구성요소에 관한 메타데이터를 저장할 수 있습니다. Artifact Analysis에도 동일한 원칙이 적용되며, Artifact Registry 또는 다른 위치의 소프트웨어 구성요소에 대한 중앙 집중식 범용 메타데이터 저장소로 사용할 수 있습니다.
Grafeas 모델에는 두 가지 항목이 포함됩니다.
- 메모에 저장된 메타데이터를 만드는 제공업체입니다.
- 메모에 저장된 메타데이터가 아티팩트에 적용되는지 확인하는 고객입니다. 이 경우 메타데이터는 메모의 어커런스로 표시됩니다.
참고
메모는 상위 수준의 메타데이터를 설명합니다. 예를 들어 Linux 패키지의 특정 취약점에 대한 메모를 작성할 수 있습니다. 메모를 사용하여 빌드 프로세스의 빌더 관련 정보를 저장할 수도 있습니다. 분석을 수행하는 제공업체가 일반적으로 메모를 소유하고 만듭니다. 그런 다음 메타데이터를 사용하려는 고객은 프로젝트 내에서 발생하는 메모를 식별할 수 있습니다.
메모와 어커런스를 별도의 프로젝트에 저장하여 보다 세밀한 액세스 제어가 가능합니다.
메모는 메모 소유자만 편집할 수 있고, 메모를 참조하는 어커런스에 액세스할 수 있는 고객은 메모를 읽을 수만 있어야 합니다.
어커런스
어커런스는 소프트웨어 아티팩트에서 메모가 발견된 시점을 나타냅니다. 메모의 인스턴스화라고 생각하면 됩니다. 예를 들어 취약점에 대한 메모의 어커런스는 취약점이 발견된 패키지와 구체적인 해결 조치 단계 등을 설명합니다. 또한 빌드 세부정보에 대한 메모의 어커런스는 빌드로 인해 생성된 컨테이너 이미지를 설명합니다.
일반적으로 어커런스는 메모가 생성된 프로젝트가 아닌 별도의 프로젝트에 저장됩니다. 어커런스에 대한 쓰기 액세스 권한은 메모를 어커런스에 연결할 수 있는 사용자에게만 부여해야 합니다. 어커런스에 대한 읽기 액세스 권한은 모든 사용자가 가질 수 있습니다.
지원되는 메타데이터 유형
다음 표에는 아티팩트 분석에서 지원하는 메타데이터 유형이 나와 있습니다. 서드 파티 메타데이터 제공업체는 고객의 이미지에 대해 다음과 같은 메타데이터 유형 일체를 저장하고 검색할 수 있습니다.
메타데이터 유형 | Google Cloud 서비스의 사용량 |
---|---|
취약점: 감사된 파일의 취약점 정보를 제공합니다. | Artifact Analysis는 공개적으로 공개된 보안 문제의 외부 데이터베이스를 기반으로 취약점 발생을 생성합니다. |
빌드: 빌드 출처에 대한 정보를 제공합니다. | Cloud Build를 사용하여 이미지를 빌드하는 경우 Cloud Build에서 이 메타데이터를 생성하고 Artifact Analysis에서 정보를 저장합니다. |
이미지는 컨테이너 이미지에 대한 메타데이터입니다(예: 특정 이미지의 다양한 레이어 관련 정보). | |
패키지에는 이미지에 설치된 패키지에 관한 정보가 포함되어 있습니다. | |
배포: 이미지 배포 이벤트에 대한 정보를 제공합니다. | |
탐색에는 이미지의 초기 스캔에 관한 정보가 포함됩니다. | Artifact Analysis는 취약점 스캔에 대해서만 이 정보를 제공합니다. |
증명에는 이미지 인증 정보가 포함됩니다. | 예. Binary Authorization은 이 정보를 읽고 이를 사용하여 배포를 통제할 수 있습니다. |
업그레이드: 사용 가능한 패키지 업그레이드를 설명합니다. | |
규정 준수: 규정 준수 검사에 관한 정보를 제공합니다. | |
DSSE 증명: Dead Simple Signing Envelope 서명을 사용하는 증명을 설명합니다. | |
취약점 평가는 업로드된 VEX 문을 Grafeas VulnerabilityAssessment note 형식으로 저장합니다. | |
SBOM 참조는 SBOM을 찾고 확인하는 데 도움이 되는 추가 메타데이터를 제공합니다. |
다음 단계
- 이미지의 메타데이터를 제공합니다.
- 액세스 제어를 구성하여 메타데이터를 세분화하여 제어합니다.