4부: CC 툴체인 설정하기
이 튜토리얼에서는 배포된 아티팩트와 해당 소스 리포지토리가 항상 규정을 준수하는지 확인하기 위해 CC(지속적인 규정 준수)를 위한 툴체인 템플릿을 사용하는 방법을 안내합니다.
시작하기 전에
다음의 전제조건이 완료되었는지 확인하십시오. CI 및 지속적 배포(CD) 도구 체인 설정 과정에서 생성된 리소스를 재사용할 수 있습니다. CI및 CD 도구 체인의 자원 정보를 편리하게 유지하는 데 도움이 됩니다.
- 전제 조건 설정하기 완료.
- CI 툴체인 설정하기 완료.
- CD 툴체인 설정하기 를 완료합니다.
- CC 툴체인 사례 를 참조하세요.
CC 툴체인 설정 시작
이 튜토리얼에서는 스테이징 환경을 예로 들어 CC 툴체인을 구성하고 보여줍니다. CC 툴체인용 템플릿에 액세스하려면 다음 단계를 따르세요.
- IBM Cloud 콘솔에서 메뉴
> 플랫폼 자동화 > 툴체인을 클릭합니다.
- 도구 체인 페이지에서 도구 체인 만들기를 클릭합니다.
- 툴체인 만들기 페이지에서 CC - 앱이 DevSecOps 관행을 지속적으로 준수하도록 유지합니다 타일을 클릭합니다.
CC 툴체인 설정 설정
-
시작을 클릭하십시오.
-
도구 체인 내에서 동일한 지역 및 리소스 그룹에 대한 고유한 도구 체인 이름을 IBM Cloud에 입력합니다. 도구 체인 지역은 클러스터 및 레지스트리 지역과 다를 수 있습니다.
-
지역을 선택하십시오.
-
리소스 그룹을 선택하십시오.
-
선택 사항: 드롭다운에서 관련 CI(지속적 통합) 도구 체인을 선택할 수 있습니다. 이렇게 하면 CC 툴체인 설정을 돕기 위해 일부 CI 구성이 복사됩니다. 이렇게 하면 이미 입력한 일부 값을 덮어쓸 수 있습니다.
-
계속을 클릭합니다.
현재 단계의 구성이 완료되어 유효한 경우에만 다음 단계로 진행할 수 있습니다. 언제든지 뒤로하기를 클릭하여 안내된 설치 관리자에서 이전 단계를 볼 수 있습니다. 도구 체인 설치 프로그램은 연속적인 단계의 모든 구성 설정을 유지합니다.
일부 단계에는 고급 구성으로 전환 토글 버튼이 포함되어 있습니다. 이 단계에서는 기본적으로 최소한의 구성이 제공됩니다. 그러나 보다 세밀한 제어가 필요한 고급 사용자는 고급 구성으로 전환 토글을 클릭하여 기본 통합 옵션을 표시할 수 있습니다.
CC 도구 통합 설정
기본 설정을 검토하고 필요한 경우 CC 도구 통합을 설정하는 데 필요한 사용자 정의 구성을 제공하세요.
시크릿
제공된 토글을 사용하여 도구 체인에 추가할 비밀 저장소 통합을 지정하세요. 자세한 내용은 IBM Cloud 비밀 번호 관리 를 참조하세요.
CI 도구체인은 임의 시크릿 및 IAM 자격증명 시크릿 유형만 지원합니다.
- 이 튜토리얼에서는 IBM Cloud® Secrets Manager를 비밀 저장소로 사용합니다. 지역, 리소스 그룹, 서비스 이름 필드는 사용 가능한 선택 항목에 따라 자동으로 채워집니다. 드롭다운 표시기를 클릭하면 다른 선택 사항을 볼 수 있습니다.
- Secrets Manager 인스턴스 이름를 입력합니다.
- 권한 부여 유형을 선택합니다.
- 계속을 클릭합니다.
인벤토리
- CI 툴체인으로 구축된 아티팩트의 세부 사항을 기록하기 위해 인벤토리 저장소의 저장소 URL 를 선택합니다.
- 계속을 클릭합니다.
대상
- IBM Cloud API 키를 입력합니다.
- 인벤토리의 환경 태그을 입력하여 배포된 아티팩트를 스캔합니다.
- 계속을 클릭합니다.
문제
- CC 파이프라인이 실행되는 동안 이슈를 기록하려면 저장소 URL 를 선택하십시오.
- 계속을 클릭합니다.
파이프라인 구성
파이프라인 구성 리포지토리에는 배포, 테스트 및 기타 사용자 지정 작업을 위한 YAML 파일과 스크립트가 포함되어 있습니다.
- 소스 제공자에 대한 기본 채워진 설정을 수락합니다.
- 유효한 소스 저장소 URL 를 선택합니다. 이 필드에 제공된 기본 리포지토리를 사용합니다.
- 계속을 클릭합니다.
증거 스토리지
- 기존 증거 보관함 저장소 사용 옵션을 선택합니다.
- CI 툴체인을 구성할 때 생성된 저장소 URL 를 선택합니다. 증거 보관에 대한 자세한 내용은 증거 를 참조하세요.
- IBM Cloud Object Storage 버킷을 토글하여 모든 증거를 IBM Cloud Object Storage 버킷에 저장합니다.
- 계속을 클릭합니다.
클라우드 Object Storage 버킷
- 자동으로 미리 채워진 IBM Cloud Object Storage 세부 정보를 확인하고 수락합니다.
- Cloud Object Storage 인스턴스에 쓰기 위한 서비스 API 키를 제공합니다.
- 계속을 클릭합니다.
DevOps Insights 툴체인
-
DevOps Insights IBM Cloud API 키를 입력합니다.
-
기본 구성을 수락합니다.
DevOps Insights 의 CI 툴체인에서 기존 툴체인 ID IBM Cloud DevOps Insights 에 있는 툴체인 인스턴스로 연결할 수 있습니다. 예를 들어 URL 이
https://cloud.ibm.com/devops/toolchains/aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee?env_id=ibm:yp:us-south이라면 툴체인의 ID는aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee입니다. -
계속을 클릭합니다.
SonarQube
- 기본 구성을 수락합니다.
- 계속을 클릭합니다.
선택적 도구
Slack
툴체인 생성 후 Slack 도구를 추가할 수 있습니다.
- Slack 웹훅을 입력합니다. 자세한 내용은 Slack 웹훅 를 참조하세요.
- 메시지를 게시하려면 슬랙 채널를 입력합니다.
- 슬랙 팀 이름를 입력합니다. 예를 들어 팀 이름이 URL
https://team.slack.com인 경우 팀 이름은team입니다. - 자동화된 Slack 알림에 대한 알림을 받을 이벤트를 선택합니다.
- 계속을 클릭합니다.
원하는 경우 slack-notifications 환경 속성을 사용하여 CD 파이프라인에서 0 = off, and 1 = on 를 사용하여 알림 전송을 전환할 수 있습니다.
CC 도구 체인 작성
-
요약 페이지에서 툴체인 만들기를 클릭하고 툴체인이 생성될 때까지 기다립니다.
개별 툴체인 통합은 파이프라인 생성 후 구성할 수 있습니다.
CC 도구 체인 탐색
- 이제 CC 툴체인이 생성되었으므로 CC-파이프라인 타일을 클릭하여 CC 수동 트리거, CC 시간 제한 트리거 및 서브파이프라인 웹훅 트리거 파이프라인을 열고 확인합니다.
URL 앱을 업데이트하여 동적 스캔을 실행하세요
대상 환경에서 동적 스캔을 실행하려면 CC 파이프라인에 애플리케이션 URL 를 제공해야 합니다. 동적 스캔은 본질적으로 방해가 되는 일부 테스트를 실행합니다. 스테이징 환경을 사용하여 동적 스캔을 실행합니다. 단계에 따라 ci-pipeline 에서 애플리케이션 URL 을 가져옵니다.
- CI 툴체인 페이지에서 CI 파이프라인 타일을 클릭합니다.
- 파이프라인 이름에 대해 실행를 클릭합니다. 파이프라인 실행이 실행 중인지 확인합니다. 파이프라인 실행이 완료될 때까지 기다립니다.
- URL 애플리케이션은 CI 파이프라인 실행의
deploy-dev작업 중run stage단계의 로그 끝에서 찾을 수 있습니다. URL 을 사용하여 애플리케이션이 실행 중인지 확인합니다. 예:Application URL: http://<ipaddress>:<portno>.
수동 트리거를 사용하여 CC 파이프라인에 URL 애플리케이션을 추가하는 단계를 따르십시오. 업데이트된 목록에 대한 자세한 내용은 컴플라이언스 검사에서 실행되는 스캔 및 검사 를 참조하세요.
- CC 툴체인 페이지에서 cc-pipeline 타일을 클릭합니다.
- 설정 > 환경 속성을 클릭합니다.
- 추가 > 텍스트 값을 클릭합니다.
- 속성 추가에서 이름을
app-url으로 입력합니다. - 값를
http://<ipaddress>:<portno>에서 추출한ci-pipeline으로 입력합니다. - 추가 를 클릭하십시오. 이제 수동 트리거를 사용하여 CC 파이프라인을 실행할 준비가 되었습니다. 화면 캡처에 표시된 것처럼 완성된 CC 파이프라인이 표시됩니다.
CC 파이프라인 중에 트리거된 완료된 비동기 하위 파이프라인 실행이 화면 캡처에 표시된 것처럼 표시됩니다.
인시던트 문제
CC 파이프라인을 실행하는 동안 취약성, CVE와 같은 인시던트 이슈가 생성되어 수집된 증거에 첨부됩니다. 프로덕션에서 발견되면 마감일이 있는 이러한 이슈는 도구 체인 설정에 언급된 이슈 리포지토리에 생성됩니다. 자세한 정보는 만료 날짜의 인시던트 문제 를 참조하십시오.
DevOps Insights 탐색
다음 위치에는 규정 준수 점검의 증거가 업로드되어 있습니다.
- 증거 보관함 저장소.
- Object Storage 버킷.
- DevOps Insights- 도구 체인에서 DevOps Insights 을 클릭합니다.
- 화면 캡처에 표시된 것처럼 DevOps Insights 품질 대시보드 입니다.
CI및 CC 파이프라인 비교
CI와 CC 파이프라인에는 공통된 단계가 있다는 것을 알 수 있습니다. 실행되는 스캔 및 검사는 본질적으로 유사하며 세부사항도 유사합니다. 자세한 내용은 CI와 CC 파이프라인의 차이점 를 참조하세요.
다음 단계
CI, CD, CC 도구 체인을 설정하고 보안 애플리케이션을 배포하는 일련의 튜토리얼을 성공적으로 완료하셨습니다. DevSecOps 실습.
이제 보안 인프라를 코드로 개발 및 배포하는 방법(IaC)을 DevSecOps 사례를 사용하여 살펴볼 수 있습니다.