증거 라커로 IBM Cloud Object Storage 버킷 사용
DevSecOps 파이프라인에 통합된 규정 준수 검사에서 생성된 증거 자료를 저장하도록 IBM Cloud Object Storage (COS) 버킷을 구성할 수 있습니다. 규제 준수 증거는 규제 준수 감사 중에 감사자가 검색하는 감사 추적을 작성합니다. DevSecOps의 목표 중 하나는 감사 가능한 증거 라커에서 증거 생성과 저장을 자동화하는 것입니다. 자세한 정보는 증거 보관함 을 참조하십시오.
규정 준수 자동화 파이프라인은 COS 버킷에 다음 정보를 저장합니다:
- 태스크 아티팩트
- 검사 결과, 스캔 결과 또는 작업에 의해 저장된 모든 출력물.
- 태스크 로그
- 파이프라인이 실행된 후, 해당 실행에 대한 로그가 증거 보관소로 전송됩니다.
- 증거
- 작업에 대한 정보와 그 결과 출력(실패 또는 성공)에 대한 정보. 전송되는 증거의 형식에 관한 자세한 정보는 증거 요약을 참조하십시오.
버킷 구성
지속적 통합 또는 지속적 배치 도구 체인을 설정하기 전에 전용 클라우드 Object Storage 인스턴스를 작성해야 합니다. 이 COS 버킷은 애플리케이션에 대한 경계 내에서 증거 잠금을 작성해야 하므로 준수 관련 스토리지에 사용됩니다. 이는 파이프라인의 복원성을 향상시키는 데 도움이 됩니다. 자세한 정보는 복원성 을 참조하십시오.
지속적 통합(CI) 또는 지속적 배포(CD) 파이프라인의 일환으로 Cloud Object Storage 버킷을 규정 준수 증거 보관소로 구성하려면 다음 정보를 참고하시기 바랍니다. 파이프라인 또는 툴체인 템플릿 스크립트는 Cloud Object Storage 에서 로커를 설정하지 않습니다.
규정 준수 증거를 위해 Cloud를 사용할 때 고려할 사항(세분성, 보안 등)에 대한 자세한 내용은 이 페이지 ( Object Storage )를 참조하세요.
보존 정책
Cloud Object Storage 버킷을 설정하여 업로드된 오브젝트에 대해 보존 정책 또는 보존 기간을 적용할 수 있으며, 이를 ‘불변 오브젝트(Immutable Object Storage )’라고도 합니다. 불변 오브젝트 스토리지는 전자 레코드를 보존하고 데이터 무결성을 유지합니다. 보존 정책은 데이터가 WORM(Write-One-Read-Many) 방식으로, 즉 삭제나 재기록이 불가능한 형태로 저장되도록 보장합니다. 보존 기간 내에 보호된 버킷의 오브젝트를 변경 또는 삭제할 수 없거나, 보존 기간이 끝날 때까지 오브젝트가 있는 보호된 버킷을 삭제할 수 없습니다. 정책은 보존 기간이 끝나고 증거보존조치가 제거될 때까지 적용됩니다.
팀은 최소한 365일 동안 모든 오브젝트를 저장하는 증거 라커로 사용되는 버킷에 보존 정책을 설정하는 것이 좋습니다.
버킷 액세스 권한
DevSecOps 환경에서 Cloud Pipelines를 사용할 때, 증거, 증거 요약, 아티팩트와 같은 객체는 IBM Cloud Object Storage (COS)의 버킷으로 파이프되거나 버킷에서 읽힙니다. 도구는 어떤 개체나 버킷도 생성, 업데이트, 삭제 또는 변경하지 않습니다.
필요한 파이프라인 작업을 원활하게 진행하면서 클라우드 Object Storage 의 버킷에 안전하게 액세스하려면 다음 액세스 정책을 따르십시오
-
독자.
- 이 권한은 CD( Continuous Delivery ) 파이프라인이 데이터를 수정하지 않고도 버킷의 보존 설정을 검증할 수 있도록 해줍니다.
- CI 파이프라인에서 생성된 증거를 읽기 위해 필요합니다
-
객체 작성기.
- 이 권한은 CI(Continuous Integration), CD, CC(Configuration Control) 파이프라인이 버킷에 새로운 객체를 업로드하거나 작성할 수 있도록 허용합니다.
서비스 자격 증명 생성 단계
클라우드 파이프라인을 사용하여 COS 버킷에 액세스하려면:
- 서비스 자격 증명 탐색:
- IBM Cloud 의 서비스 자격 증명 섹션으로 이동하십시오.
- 새로운 자격 증명 만들기:
- "만들기"를 클릭하고 안내에 따라 COS 버킷에 대한 새로운 서비스 자격 증명을 만듭니다.
COS 버킷에 대한 접근 권한을 할당하는 단계
COS 버킷에 적절한 접근 권한을 할당하려면:
- IAM 버킷 권한으로 이동합니다
- IBM Cloud 의 COS 버킷 권한 섹션으로 이동합니다.
- 역할과 정책 할당:
- 보존 정책을 확인하기 위해 CD 파이프라인에 리더 역할을 할당합니다.
- 증거를 버킷에 기록하기 위해 CI, CD, CC 파이프라인에 Object Writer 역할을 할당합니다.
클라우드 Object Storage 버킷을 증거 저장소로 사용할 경우 권장되는 권한은 읽기 권한과 객체 작성 권한입니다. 높은 권한(예: 관리자 수준의 접근)을 가진 권한은 실수로 또는 악의적으로 개체를 수정하는 것을 방지하기 위해 피해야 합니다.
스토리지 클래스
비용은 서로 다른 설정 및 배치 빈도를 사용하는 팀에 따라 다릅니다. 무료 티어는 변경 불가능(immutable)하도록 구성할 수 없으므로, 무료 티어를 Cloud Object Storage 버킷으로 사용하는 것은 권장되지 않습니다.
샘플 추정
각각 6개의 증거를 포함하는 참조 지속적 통합(CI) 또는 지속적 배포(CD) 파이프라인을 사용하는 경우, 단일 지속적 통합 및 지속적 배포 실행 쌍은 37건의 A급 요청과 6건의 B급 요청을 생성합니다.
- 지속적 통합은 6개의 로그, 6개의 아티팩트, 6개의 증거(18개의 PUT - 클래스 A와 같음)를 작성합니다.
- 지속적 배포는 6개의 증거(6개의 GET - 클래스 B)를 읽고, 6개의 증거, 6개의 로그, 6개의 아티팩트 및 요약을 작성하며, 이는 총 19개의 PUT - 클래스 A에 해당합니다.
평균 5개의 마이크로서비스(5 × 지속적 통합)와 4개의 배포 리전(4 × 지속적 배포)을 고려할 때, 한 번의 전체 배포는 166건의 A급 요청과 24건의 B급 요청에 해당합니다.
주당 하나의 전체 배치(매월 4개)를 사용하면 매월 664개의 클래스 A 및 96개의 클래스 B 요청을 계산할 수 있습니다.
수집되는 데이터 양은 유스 케이스에 따라 다릅니다. 증거 (1 kB), 테스트 아티팩트 (100 kB) 및 로그 (15 kB) 의 평균 크기를 사용하여 매월 작성되고 전송되는 데이터의 0.01 GB를 계산할 수 있습니다.
복원성
경계 내에서 유지해야 하는 경우 Cross-Region 또는 Regional 복원성을 사용하는 것이 좋습니다. 이러한 지역에 관한 자세한 정보는 엔드포인트 및 스토리지 위치를 참조하십시오.
버킷 이름
Cloud Object Storage 버킷 이름은 전역적으로 고유해야 하며 DNS 규정을 준수해야 합니다. 이름은 3 - 63자여야 하며 소문자, 숫자, 대시를 포함해야 합니다. 버킷 이름은 소문자 또는 숫자로 시작하고 끝나야 합니다. IP 주소와 유사한 이름은 허용되지 않습니다. 버킷 이름은 전체 IBM Cloud Object Storage 시스템에서 고유하며 이름이나 주소 또는 금융, 보안 계정이나 SSN의 일부와 같은 개인 정보를 포함할 수 없습니다.
퍼블릭 클라우드의 모든 버킷이 글로벌 네임스페이스를 공유하므로 버킷 이름이 고유해야 합니다. 이 요구 사항을 통해 서비스 인스턴스나 계정 정보를 제공하지 않아도 버킷에 액세스할 수 있습니다. 또한 cosv1- 또는 account-로 시작하는 이름의 버킷을 생성할 수 없습니다. 이러한 접두사는 시스템에서 예약되어 있기 때문입니다.
엔드포인트
IBM Cloud® 내에서 시작되는 대부분의 요청에 대해 private 엔드포인트를 사용하고 IBM Cloud®외부에서 시작되는 대부분의 요청에 대해 public 엔드포인트를 사용하십시오. 자세한 정보는 엔드포인트 유형 을 참조하십시오.
런던 지역에서 실행 중인 파이프라인의 경우 파이프라인 관리 작업자 인프라로 인해 direct 엔드포인트를 사용하십시오.
COS 버킷을 이용한 툴체인 구성
증거, 자산, 첨부 파일을 저장하려면 파이프라인에서 COS 버킷을 구성하세요. 이 버킷은 기존 정보를 저장하는 데 사용되므로, Reader 및 Object Writer 액세스 권한이 있어야 합니다. 파이프라인에 이 버킷을 구성하려면.
환경 COS 버킷 구성 속성 |이름 |유형 |설명 |필수 또는 선택 | 잠금 또는 잠금 해제 | |:----------|:------------------------------|:------------------|:----------|:----------|
cos-api-key | 비밀 | Cloud Object Storage API 키. | 필수 | 잠김 |
cos-access-key-id | SECRET | HMAC 자격 증명에서 Cloud Object Storage 액세스 키 ID. ( cos-api-key 대신 cos-secret-access-key 와 함께 제공됨) | 필수 | 잠금 해제됨 |
cos-secret-access-key | SECRET | HMAC 자격 증명에서 Cloud Object Storage 비밀 액세스 키. ( cos-api-key 대신 cos-access-key-id 와 함께 제공됨) | 필수 | 잠금 해제됨 | |
cos-bucket-name | 텍스트 | 증거 보관소로 사용되는 Cloud Object Storage 인스턴스 내 버킷의 이름. |필수 | 잠금 해제됨 | |
cos-endpoint | text| 증거 보관소로 사용되는 Cloud Object Storage 인스턴스에서 증거를 읽는 엔드포인트입니다. 자세한 정보는 엔드포인트 유형을 참고하세요. | 필수 | 잠금 해제됨 |
모든 파이프라인 CI/CD/CC에서 동일한 버킷을 구성합니다.
Evidence Git Locker에서 COS Evidence Locker로 마이그레이션
빌드 성능, 안정성 및 확장성을 개선하기 위해 Git-기반 증거 보관소 지원이 더 이상 권장되지 않습니다. (COS) 기반 Cloud Object Storage 증거 보관소로의 전환은 운영에 Git 대한 의존도를 줄이고 공급자로부터 Git hosting 발생하는 속도 제한 문제를 방지합니다.
모든 사용자는 COS 증거 보관함(Evidence Locker)을 사용하도록 툴체인 및 파이프라인을 업데이트해야 합니다.
당신의 툴체인이 오직 하나의 Git 증거 보관함만을 사용할 때
마이그레이션을 완료하려면 다음 단계를 따르세요:
- 도구 체인용 COS 증거 보관함 구성
- 모든 파이프라인에서 환경
evidence-repo속성을 제거하십시오. - 도구 체인에서 증거 저장소와 관련된 통합을 GitHub/GitLab 제거하십시오.
당신의 툴체인이 와 COS 증거 Git 보관소를 모두 사용할 때
이미 둘 다 설정해 놓은 경우:
- 모든 파이프라인에서 환경
evidence-repo속성을 제거하십시오. - 도구 체인에서 증거 저장소와 관련된 통합을 GitHub/GitLab 제거하십시오.
CD 파이프라인을 COS 증거 Git 보관소로의 마이그레이션을 위해 준비하기
CI 및 CD 파이프라인이 증거 Git 보관함에 의존하는 경우, CD 파이프라인은 COS 증거 보관함을 사용하도록 부트스트랩되어야 합니다. 다음 방법 중 하나를 선택할 수 있습니다.
접근법 1: 두 증거 저장소를 모두 활용한 부트스트랩
이 접근 방식에서는 증거 보관소가 구성된 상태로 Git 유지되는 동안 COS 증거 보관소가 활성화됩니다. 두 가지를 병렬로 실행하면 증거 보관소를 사용하여 Git COS 증거 보관소가 자동으로 초기화될 수 있습니다.
- 증거 Git 보관함 구성을 그대로 유지하십시오.
- COS 증거 보관함 활성화
- (권장: v10.46.1 v10.45.0 )보다 이전 버전의 파이프라인 정의로 CD 파이프라인을 실행하십시오.
- 실행이 완료된 후, 앞서 설명한 대로 증거 보관함 Git 구성을 제거하십시오.
접근법 2: 증거 Git 보관함 없이 부트스트랩하기
. Git 에 의존하지 않고 깔끔한 마이그레이션을 선호하는 경우 이 접근 방식을 사용하십시오.
- 증거 Git 보관함 구성을 제거하십시오.
- 매개변수를
force-redeploy로 설정하여 CDtrue파이프라인을 한 번 실행하십시오. - 실행이 완료된 후, 를 로
false``force-redeploy재설정하거나 매개변수를 완전히 제거하십시오.
이 일회성 CD 파이프라인 실행은 COS 증거 보관함에 모든 기존 재고 자산이 채워지도록 보장합니다. 단 한 번의 초기 실행만 필요하며, 이후에는. 실제 배포를 실행하지 않으려면 배포 및 수용 테스트 단계를 건너뛰어 배포 작업을 수행하지 않고 CD 파이프라인을 실행할 수 있습니다.
증거 Git 보관함은 제거 후 보관할 수 있으며, 이는 감사 목적으로 필요할 수 있습니다.
한 COS 버킷에서 다른 COS 버킷으로 마이그레이션
하나의 COS 버킷에서 다른 COS 버킷으로 마이그레이션하기 COS 증거 보관함의 기존 사용자이고, 하나의 COS 버킷에서 다른 버킷으로 마이그레이션해야 하는 경우, 작업 흐름을 방해하지 않고 원활하게 전환하는 것이 중요합니다. 아래는 COS 버킷 간에 마이그레이션하는 단계와 고려 사항입니다.
이주 이유:
- 조직 개편: 한 COS 버킷의 사용을 중단하고 다른 버킷의 사용을 시작할 수 있습니다.
- 버킷 재배치: 조직의 변화나 규정 준수 요건 때문에 버킷을 한 계정에서 다른 계정으로 옮겨야 할 수 있습니다.
마이그레이션 단계:
Backup-COS 버킷 구성: 이전 COS 버킷에서 새로운 버킷으로 마이그레이션하는 경우, 파이프라인이 이전 버킷과 새 버킷을 모두 사용하도록 구성되어 있는지 확인하십시오. 이를 통해 기존 작업 흐름을 방해하지 않고 원활하게 마이그레이션할 수 있습니다.
- 위 단계에 따라 새로운 COS 버킷을 만듭니다.
- IAM 정책 구성: 파이프라인에서 요구하는 대로 새로운 COS 버킷에 리더와 오브젝트 라이터 액세스를 위한 필수 IAM 정책이 있는지 확인합니다.
- 환경 변수 업데이트
IBM 의 툴체인에서 환경 변수를 업데이트하여 이전 버전의 COS 버킷과 새 버전의 COS 버킷을 모두 포함하도록 하십시오. 이전 버킷을 구성하려면 모든 COS 환경 속성에서 backup- 접두사를 사용하고, 새로운 COS 버킷을 구성하려면 일반 속성을 사용하십시오.
| 이름 | 유형 | 설명 | 필수 또는 선택사항 | 잠금 또는 잠금 해제 |
|---|---|---|---|---|
backup-cos-api-key |
SECRET | Cloud Object Storage 의 백업 API 키. | 필수 | 잠김 |
backup-cos-access-key-id |
SECRET | HMAC 자격 증명에서 백업 Cloud Object Storage 에 액세스 키 ID를 확인합니다. ( backup-cos-api-key 대신 backup-cos-secret-access-key 와 함께 제공) |
필수 | 잠금 해제됨 |
backup-cos-secret-access-key |
SECRET | Cloud Object Storage 의 백업 비밀 액세스 키는 HMAC 자격 증명에서 가져옵니다. ( backup-cos-api-key 대신 backup-cos-access-key-id 와 함께 제공) |
필수 | 잠금 해제됨 |
backup-cos-bucket-name |
텍스트 | Cloud Object Storage 인스턴스에서 증거 보관소로 사용되는 백업 버킷의 이름입니다. | 필수 | 잠금 해제됨 |
backup-cos-endpoint |
텍스트 | 증거 보관함으로 사용되는 백업 Cloud Object Storage 인스턴스에서 증거를 읽는 엔드포인트입니다. 더 자세한 정보를 원하시면, 엔드포인트 유형을 참고하세요. | 필수 | 잠금 해제됨 |
이전 버킷은 감사 목적으로 필요하므로 365일 동안 삭제하지 마세요.
느리게 실행되는 파이프라인 문제 해결 가이드
force-redeploy는 모든 항목을 다시 배포하는 경우가 아니라면 true로 설정해서는 안 됩니다.- 프로모션 파이프라인을 사용하여 올바른 델타 세트를 프로모션해야 델타 계산이 올바르게 이루어집니다.
- 이러한 줄이 표시되면 CI 파이프라인이 올바른 요약을 생성하지 못하고 있다는 뜻입니다. CI 파이프라인으로 돌아가서 미니 요약을 완료 단계로 만드는 동안 오류가 있는지 확인합니다.