제
12
장
비밀 정보를 컨테이너에 전달
212
드코딩하는 것이므로, 비밀 값을 전달하는 목적으로는 바람직하지 않다. 그렇게 하는 것이 가
능하다고는 해도, 다음과 같은 이유로 대체로 나쁜 방법으로 간주된다.
●
이미지의 원본 파일 (소스 코드 등)에 접근할 수 있는 사람이면 비밀 값도 볼 수 있다. 평
문 대신 암호문을 저장하면 되지 않느냐고 생각하겠지만, 그러면 그것을 해독하는 데 필
요한 또 다른 비밀 값을 어디에 어떻게 저장해야 하느냐의 문제가 생긴다.
●
비밀 값이 바뀌면 컨테이너 이미지를 다시 구축해야 한다. 그보다는 비밀 값 변경과 이미
지 구축을 분리하는 것이 바람직하다. 더 나아가서, 비밀 값을 관리하는 자동화된 중앙 시
스템 (
CyberArk
나
Hashicorp
Vault
같은 )은 이런 식으로 하드코딩된 비밀 값의 수명
주기를 제어하지 못한다.
안타깝게도 비밀 값을 그냥 소스 코드에 담아 두는 경우가 놀랄 만큼 흔하다. 그냥 그것이 나쁜
방법임을 개발자가 몰랐을 수도 있고, 개발 또는 검사 과정에서 시간 절약을 위해 비밀 값을 그
냥 코드에 담아 두었다가 나중에 실무 환경에 배치할 때 비밀 값을 제거하는 것을 깜빡 까먹었
을 수도 있다.
구축 시점에서 비밀 값을 전달하는 것은 확실히 나쁜 일이다. 이보다는, 컨테이너를 시작할
때 지정하거나 실행 중인 컨테이너에 전달하는 것이 낫다.
12.2.2
네트워크로 비밀 값 전달
세 번째 옵션은 네트워크 인터페이스를 통해서 비밀 값을 전달하는 것인데, 그러려면 응용 프
로그램이 네트워크 ...