Infrastructure as Code 스캔
인프라 정의 파일에서 알려진 취약점을 자동으로 탐지하고 파이프라인에 통합하는 IaC 스캔 기능을 설명합니다.
Infrastructure as Code(IaC) 스캐닝은 CI/CD 파이프라인에서 실행되며 인프라 정의 파일에 알려진 취약점이 있는지 검사합니다. 기본 브랜치에 커밋되기 전에 취약점을 찾아내 애플리케이션의 위험에 미리 대응할 수 있습니다. IaC 스캐닝 분석기는 JSON 형식의 리포트를 job 아티팩트 로 출력합니다. GitLab Ultimate에서는 IaC 스캐닝 결과가 추가로 처리되어 다음을 할 수 있습니다. 머지 리퀘스트에서 결과를 확인합니다. 승인 워크플로에 활용합니다. 취약점 리포트에서 검토합니다. 시작하기 # IaC 스캐닝을 처음 사용한다면 다음 단계를 따라 프로젝트에 적용합니다. 사전 요구 사항: 프로젝트에 대한 Maintainer 또는 Owner 권한이 필요합니다. 일관된 성능을 위해 최소 4GB RAM 이 필요합니다. Docker 또는 Kubernetes 실행기를 사용하는 Linux 기반 GitLab Runner가 필요합니다. GitLab.com의 호스티드 러너를 사용한다면 Docker 또는 Kubernetes 실행기가 기본으로 켜져 있습니다. Windows의 GitLab Runner는 지원하지 않습니다. AMD64 외의 CPU 아키텍처는 지원하지 않습니다. GitLab CI/CD 설정( .gitlab-ci.yml )에 test Stage가 있어야 합니다. test Stage는 기본으로 포함되지만, Stage를 재정의했다면 명시적으로 추가해야 합니다. IaC 스캐닝을 활성화하려면 다음을 수행합니다. 상단 바에서 Search or go to 를 선택하고 프로젝트를 찾습니다. Build > Pipeline editor 로 이동합니다. IaC 스캐닝 CI/CD 템플릿이나 컴포넌트 중 하나를 추가합니다. 템플릿을 사용하려면 다음 줄을 추가합니다. include: - template: Jobs/SAST-IaC.gitlab-ci.yml CI/CD 컴포넌트를 사용하려면 다음 줄을 추가합니다. include: - component: gitlab.com/components/sast/iac-sast@main Validate 탭을 선택한 다음 Validate pipeline 을 선택합니다. Simulation completed successfully 메시지가 나오면 파일이 유효한 것입니다. Edit 탭을 선택합니다. 다음 항목을 입력합니다. 커밋 메시지입니다. 브랜치입니다. 예를 들면 add-iac 입니다. Start a new merge request with these changes 체크박스를 선택한 다음 Commit changes 를 선택합니다. 머지 리퀘스트 페이지가 열립니다. 평소 워크플로에 맞게 항목을 입력한 다음 Create merge request 를 선택합니다. 평소 워크플로에 맞게 머지 리퀘스트를 검토하고 수정한 다음 Merge 를 선택합니다. 이제 파이프라인에서 IaC 스캐닝이 활성화됩니다. IaC 스캐닝 job 이 모든 파이프라인에서 실행되어 KICS 분석기를 구동합니다. 분석기는 프로젝트에 지원되는 IaC 파일이 있