IT 관리 / 가상화ㆍ컨테이너 / 개발자

그래피스, 더 효과적인 컨테이너 감사 툴의 등장

Serdar Yegulalp | InfoWorld 2017.10.18
요즘 사용되는 소프트웨어는 과거에 비해 제공하는 과정이 훨씬 더 어렵다. 로컬과 클라우드 서비스에 흩어져 있고, 때로는 잘 알려지지 않은 오픈소스 구성 요소로 만들어지기도 하며, 전달 일정도 빠르다. 따라서 안전이나 품질을 보장하기가 어렵다.

결과적으로 감사, 추론, 보호, 관리하기 어려운 소프트웨어가 만들어진다. VM이나 컨테이너를 무엇으로 만들었는지는 물론 누가 어떤 기능을 추가하거나 제거했는지도 알기 어렵다. 구글이 고안한 그래피스(Grafeas)의 목적은 이러한 질문에 대한 답을 쉽게 찾는 데 있다.

그래피스란?
그래피스는 소프트웨어 구성 요소의 메타데이터 API를 정의하는 오픈소스 프로젝트다. VM, 컨테이너, JAR 파일 및 기타 소프트웨어 아티팩트가 각기 실행되는 환경에, 그리고 이를 관리하는 사용자에게 스스로에 대해 설명할 수 있게 해주는 일정한 메타데이터 스키마를 제공한다. 목적은 특정 환경에서 사용되는 소프트웨어에 대한 감사, 그 소프트웨어에 적용된 변경에 대한 감사를 일관적이고 안정적으로 수행할 수 있도록 하는 것이다.

그래피스는 노트(Note)와 어커런스(Occurrence), 두 가지 종류의 메타데이터를 위한 API를 제공한다.

- 노트는 해당 소프트웨어 아티팩트의 몇 가지 측면에 대한 세부 사항이다. 알려전 소프트웨어 취약점에 대한 설명, 소프트웨어 제작에 대한 정보(빌더 버전, 체크섬 등), 배포 이력 등이 될 수 있다.

- 어커런스는 노트의 인스턴스로, 노트가 어디서, 어떻게 작성되었는지에 대한 세부 정보를 포함한다. 예를 들어 알려진 소프트웨어 취약점에 대한 세부 정보에는 어느 취약점 검사기가 탐지했는지, 언제 탐지했는지, 문제의 취약점이 수정되었는지 여부를 기술하는 어커런스 정보가 포함될 수 있다.

노트와 어커런스 모두 리포지토리에 저장된다. 각 노트와 어커런스는 상호 구분을 위한 고유한 식별자를 사용해 추적된다.

그래피스 사양에는 노트 유형에 대한 여러 기본적인 스키마가 포함된다. 예를 들어 패키지 취약점 스키마는 CVE 또는 취약점 설명에 대한 노트 정보를 저장하는 방법을 기술한다. 현재 새 스키마 유형을 수락하는 공식적인 프로세스는 없지만 계획은 진행되고 있다.

그래피스 클라이언트와 서드파티 지원
현재 그래피스는 주로 사양과 참조 구현으로 존재하는 상태며 깃허브에서 다운로드할 수 있다. 구글 고, 파이썬, 자바용 클라이언트가 있는데, 모두 스웨거(Swagger)로 생성되었으므로 다른 언어용 클라이언트도 어렵지 않게 만들 수 있을 것이다.

구글은 그래피스가 널리 사용되도록 하기 위한 방법으로 쿠버네티스를 선택했다. 크리티스(Kritis)라는 쿠버네티스용 정책 엔진은 그래피스 메타데이터를 근거로 컨테이너에 대한 작업을 수행할 수 있게 해준다.

구글 외에 여러 업체가 기존 제품에 그래피스 지원을 추가할 계획을 발표했다. 예를 들어 코어OS(CoreOS)는 그래피스를 텍토닉(Teconic)에 통합 중이며, 레드햇과 IBM은 컨테이너 제품 및 서비스에 그래피스를 추가할 계획이다.  editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.