CI/CD로 개인정보 보호 규정 준수: 규정 준수 팀을 위한 가이드

4월 10, 2024
Fergus Hurley Co-Founder & GM Checks
Evan Otero Product Manager Checks

빠르게 움직이는 소프트웨어 개발 환경에서, 지속적 통합 및 지속적 배포(CI/CD)는 팀원들이 양질의 소프트웨어를 그 어느 때보다 빠르게 제공하도록 지원하는 초석이 되었습니다. 하지만, 급속한 혁신이나 타사 라이브러리 사용 증가, AI 생성 코드 사용이 대세로 떠오르면서 취약점과 리스크가 출현하는 속도도 빨라졌습니다. 따라서 이러한 문제를 개발 수명 주기 초반에 해결하는 것이 팀에서 제품을 신속하게, 확신을 가지고 출시하는 데 필수적인 조건이 되었습니다.

Checks 개인정보 보호 규정 준수 CI/CD 도구 기능을 도입하면 수동 개입을 줄이고 규정 준수와 개인정보 보호 표준을 출시 주기의 일부로 자동화하여 이러한 우려 사항을 해결하는 데 큰 도움이 됩니다.

이 글에서는 이 기술이 생소한 규정 준수 팀원들을 위해 CI/CD의 의미는 무엇이고, Checks를 이용하여 개인정보 보호와 규정 준수 보호를 파이프라인에 내재화하는 방법을 알아봅니다.


CI/CD란 무엇일까요?

지속적 통합(CI)과 지속적 배포(CD)는 최신 소프트웨어 개발의 기본 요소로, 개발팀에서 효율성을 강화하고 품질을 개선하며 납품 속도를 높이도록 해줍니다.

지속적 통합(CI)은 여러 기여자가 제출한 코드 변경 사항을 소프트웨어 프로젝트 하나로 자동 통합합니다. 이렇게 하면 팀마다 각 변경 사항이 메인 분기에 병합되기 전에 자동화된 테스트를 실시해 문제점을 조기에 탐지할 수 있습니다.

CI/CD continuous cycle

지속적 배포(CD)는 자동화를 한 단계 더 진행해 빌드 단계 이후 테스트 혹은 프로덕션 환경에 코드 변경 사항을 모두 자동으로 배포하는 것입니다. 이렇게 하면 자동 테스트 외에 자동 출시 프로세스까지 더해져 사용자가 새로운 변경 사항을 최대한 빨리 접할 수 있게 됩니다.


CI/CD 파이프라인을 이용해 문제를 조기에 포착

CI/CD 프로세스를 자동화하는 것을 보통 "파이프라인"이라고 합니다. CI/CD 파이프라인은 개발부터 배포까지 소프트웨어 변경 사항이 거치는 단계를 자동화해 줍니다. 이러한 단계의 예로는 코드 컴파일링, 테스트 실시(단위 테스트, 통합 테스트 등), 보안 스캔 등이 있습니다. 자동화 테스트를 모두 통과하면 테스트나 프로덕션과 같은 특정 환경에서 사람의 개입 없이 변경 사항이 그대로 실행됩니다.

이러한 파이프라인은 문제를 최대한 일찍 잡아내도록 설계되어 있습니다. 일명 "시프트 레프트(shift left)"라는 관행을 실현한 것입니다. 특히 CI/CD 파이프라인을 통해 적용된 "시프트 레프트"의 이점은 다음과 같습니다.

  • 품질 및 보안 향상: CI/CD 파이프라인 내에서 테스트를 자동화하면 코드가 프로덕션 단계에 도달하기 전에 기능과 규정 준수 문제가 있는지 엄격한 테스트를 거치도록 보장할 수 있습니다. 이렇게 초반에 문제를 탐지하면 팀에서 취약점과 오류를 비교적 더 쉽고 더 낮은 비용으로 수정할 수 있는 시기에 해결할 수 있습니다.

  • 출시 주기 단축: 문제를 초기에 감지하여 해결하면 후반 단계에 문제를 발견했을 때 발생하는 병목 현상을 방지하게 됩니다. 이러한 효율성 덕분에 개발에서 배포까지 걸리는 시간이 단축되고, 결과적으로 출시 주기가 단축되고 기능이나 수정 사항을 더 신속히 대응하여 제공할 수 있게 됩니다.

  • 비용 절감: 문제를 개발 프로세스 후반에 탐지하면 해결하는 데 비용이 훨씬 많이 들 수 있으며, 특히 배포 후에 발견되면 더 그러합니다. CI/CD 파이프라인을 통해 초기에 탐지하면 복잡한 롤백을 방지하고 프로덕션 환경에서 긴급 수정을 적용할 필요가 없으므로 이러한 수습 비용을 최소한으로 줄일 수 있습니다.

  • 안정성과 신뢰 강화: 출시 전에 철저한 테스트를 거치는 소프트웨어일수록 더 안정적이고 안전하기 마련입니다. 이처럼 안정성이 보장되면 사용자와 이해관계자의 신뢰를 얻을 수 있고, 이러한 신뢰는 긍정적인 평판을 유지하고 사용자 만족을 보장하는 데 매우 중요한 요소입니다.


Checks를 사용하여 CI/CD에 개인정보 보호와 규정 준수 테스트 포함

Checks CI/CD 파이프라인 도구는 GitHub, JenkinsFastLane용 플러그인을 통해 앱 규정 준수 스캔을 CI/CD 파이프라인에 원활하게 통합해 줍니다. 또한 GitLab, TeamCity, Bitbucket 등과 같은 맞춤 스크립트를 지원하는 기타 모든 CI/CD 시스템에서도 Checks를 사용할 수 있습니다.

Logos of CI/CD systems that support custom scripts - FastLane, Jenkins, GitHub, Atlassian BitBucket, GitLab, Azure DevOps, and Team City

Checks가 앱을 스캔하면 바이너리가 동적 및 정적 분석을 거쳐 SDK, 권한, 엔드포인트와 같은 앱 종속성을 비롯해 데이터 수집 및 공유 방식을 파악합니다. 그런 다음 이러한 데이터를 글로벌 규제 요건, 스토어 정책, 맞춤 Checks 정책 및 개인정보 보호 정책을 기준으로 테스트하여 잠재적인 문제나 개선할 여지가 있는 부분을 찾아냅니다.


CI/CD에 Checks를 통합하면 얻을 수 있는 5대 장점

A Checks report highlighting potential issues

Checks를 CI/CD 파이프라인의 한 단계로 추가하면 앱 및 코드 규정 준수 스캔을 개발 수명 주기의 일부분으로 자동화할 수 있습니다.

CI/CD에 Checks를 통합하면 얻을 수 있는 5대 장점은 다음과 같습니다.

1. 실시간 지능형 알림: 이메일이나 Slack을 통한 인스턴트 알림이 제공되어 제품 포트폴리오 전반에서 새로운 규정 준수 문제나 데이터 동작의 변화에 대한 최신 정보를 얻을 수 있습니다. 

2. 데이터 공유 및 SDK 이해: Checks를 이용하면 SDK 통합, 권한 및 데이터 흐름 분석에 대한 가시성을 확보하여 서드 파티 데이터 공유 시 보안을 보장할 수 있습니다. Checks를 사용하면 공개 출시 전에 서드 파티 종속성에 대한 확신을 가질 수 있습니다. 

3. 신규 빌드가 회사 정책을 준수하도록 보장: Checks를 사용하면 특정 엔드포인트, SDK, 데이터 유형 및 권한에 대해 안전장치를 설정하게 해 주는 맞춤 정책을 통해 데이터 거버넌스를 자동화하여 각자의 구체적인 니즈에 따라 개인정보 보호를 맞춤 조정할 수 있습니다. 이러한 정책을 이용하면 신규 릴리스가 모두 회사의 데이터 정책을 준수하도록 보장하는 데 도움이 됩니다. 

4. Google Play 데이터 보안 섹션을 최신 상태로 유지: Checks는 Google Play 데이터 보안 섹션에 공개해야 할 정보와 관련하여 추천하고, 공개 출시 전에 업데이트해야 할 정보가 있으면 알림을 제공하므로 공개한 정보가 항상 최신 상태를 유지하게 해 줍니다. 

5. 빠르고 확신 있게 배포: Checks가 CI/CD에서 문제를 찾아내면 그러한 취약점을 초기부터 감지하여 수정하므로, 앱을 배포한 후 규정 준수 위반이 발견될 리스크가 크게 줄어듭니다. Checks를 이용하면 출시 주기를 늦추지 않고 규정 준수 표준은 높은 수준으로 유지할 수 있으므로 팀에서 확신 있게 배포하고 사용자 데이터를 처음부터 효과적으로 보호할 수 있습니다.


다음 단계

시작하는 방법은 간단합니다. 우선 Checks에 가입한 다음 간단한 구성 단계에 따라 CI/CD 파이프라인에 Checks를 추가합니다. 구성을 마치면 Checks가 다양한 개인정보 보호 및 규정 준수 확인을 수행할 준비가 됩니다.

이처럼 개인정보 보호와 규정 준수에 선제적으로 접근하면 잠재적인 리스크에 맞서 안전을 보장하고 규제 준수 요건을 충족할 수 있으므로, 모든 규정 준수 및 개발팀에 커다란 자산이 됩니다.