
394
3
부
시스템의 구현
어라도 설정의 변경에 대해서는 버전 제어 시스템에 저장한 후 검토를 받는 과정을 건너뛰고
배포하는 것을 대수롭지 않게 생각하기도 한다.
설정도 코드처럼 관리하려면 문화, 도구 그리고 절차를 바꿔야 한다. 문화적으로는 검토 절차
를 중요하게 생각해야 한다. 기술적으로는 (
diff
나
grep
같이 ) 변경사항을 쉽게 비교할 수 있
고 긴급한 상황에서 변경을 수동으로 덮어쓸 수 있는 기능을 제공하는 도구가 필요하다.
9
기밀 정보는 절대 체크인하지 말자
서비스를 운영하다 보면 비밀번호, 암호화 키, 인증 토큰 등 기밀 정보가 필요할 때가 종종 있다.
시스템의 보안은 이런 기밀 정보의 기밀성을 유지하는 것에 달려있다. 기밀 정보를 완전히 보호
하는 내용은 이번 장의 범위를 벗어나지만 이와 관련해 몇 가지 중요한 팁을 제공하고자 한다.
●
기밀 정보를 버전 제어 시스템에 체크인 하거나 소스 코드에 기록하면 절대 안 된다. 기밀 정보를
암호화해 소스 코드나 환경 변수에 내장하는 것은 가능할 수도 있다. 예를 들어 빌드 시스템이 복
호화해 주입한다면 가능하겠다. 이 방법은 편리하기는 하지만 그만큼 중앙식 기밀 정보 관리가
어려워질 수 있다.
●
가능하다면 기밀 정보는 적절한 기밀 정보 관리 시스템에 저장하거나 클라우드
KMS
(
https
://
cloud ...