InfoGrab DocsInfoGrab Docs

CI/CD 개발 가이드라인

GitLab CI/CD 파이프라인을 안전하고 효과적으로 사용하는 기능을 개발하기 위한 일반 가이드라인, 아키텍처 개요, job 스케줄링, 메트릭 등을 설명합니다.

CI/CD 파이프라인은 GitLab 개발 및 배포 프로세스의 핵심 구성 요소로, 코드 변경 사항의 빌드, 테스트, 배포와 같은 작업을 자동화합니다. 파이프라인과 상호작용하거나 파이프라인을 트리거하는 기능을 개발할 때는 이러한 작업이 시스템의 보안 및 운영 무결성에 미치는 광범위한 영향을 반드시 고려해야 합니다. 이 문서는 CI/CD 파이프라인을 안전하고 효과적으로 사용하는 기능을 개발하는 데 도움이 되는 가이드라인을 제공합니다. 파이프라인 실행의 영향을 이해하고, 인증 토큰을 책임감 있게 관리하며, 개발 초기부터 보안 고려 사항을 통합하는 것의 중요성을 강조합니다. 일반 가이드라인 # 파이프라인을 쓰기 작업으로 인식 : 파이프라인을 트리거하는 것은 시스템 상태를 변경하는 쓰기 작업입니다. 쓰기 작업은 배포를 시작하거나, 테스트를 실행하거나, 구성을 변경할 수 있습니다. 무단 변경이나 시스템 남용을 방지하기 위해 파이프라인 트리거를 다른 중요한 쓰기 작업과 동일한 수준으로 신중하게 다루세요. 파이프라인 실행은 명시적인 작업이어야 함 : 사용자 컨텍스트에서 파이프라인을 생성하는 작업은 사용자가 해당 작업을 수행할 때 파이프라인(또는 단일 job)이 시작된다는 것을 명확히 알 수 있도록 설계되어야 합니다. 사용자는 파이프라인에서 실행되는 변경 사항이 실행되기 전에 이를 인지해야 합니다. 원격 실행 및 격리 : CI/CD 파이프라인은 job이 광범위한 작업을 수행하는 스크립트를 실행할 수 있는 원격 실행 환경으로 기능합니다. job이 적절히 격리되어 있으며 민감한 데이터나 시스템이 의도치 않게 노출되지 않도록 보장하세요. AppSec 및 Verify 팀과 협업 : 설계 프로세스 초기 및 제안서 작성 시 Application Security (AppSec) 와 Verify 팀원을 참여시키세요. 이들의 전문 지식은 잠재적인 보안 위험을 식별하고 기능 초기부터 보안 고려 사항이 통합되도록 도움을 줍니다. 또한 취약점 식별 및 보안 표준 준수에 관한 전문 지식을 활용하기 위해 코드 리뷰 프로세스에도 참여시키세요. 파이프라인 행위자 파악 : 파이프라인을 트리거하는 기능을 구축할 때는 어떤 사용자가 파이프라인을 시작하는지 고려하는 것이 중요합니다. 이벤트의 행위자가 누구여야 하는지 결정해야 합니다. 사용자가 직접 파이프라인을 트리거하는 의도적인 파이프라인 실행(예: 리포지터리에 변경 사항을 푸시하거나 "Run pipeline" 버튼을 클릭하는 경우)인지, 아니면 GitLab 시스템이나 정책에 의해 시작된 파이프라인 실행인지 파악하세요. 파이프라인을 생성하는 사용자와 변경 사항의 작성자가 다른 시나리오는 피하세요. 사용자가 동일하지 않으면 변경 사항의 작성자가 파이프라인 사용자의 컨텍스트에서 코드를 실행할 수 있는 위험이 있습니다. 행위자를 파악하면 권한 관리 및 파이프라인이 올바른 실행 컨텍스트에서 실행되도록 보장하는 데 도움이 됩니다. job 실행 사용자의 가변성 : 특정 job을 실행하는 사용자가 파이프라인을 생성한 사용자와 다를 수 있습니다. 대부분