1.5 보안 원칙들
35
요한 가장 작은 부분집합에 대해서만 권한 (
authority
)을 가져야 한다는 것이다. 이 접근 방식
은 특정 연산들을 사용자 한 명의 권한만으로는 수행할 수 없게 함으로써, 특권 있는 사용자 한
명이 필요 이상으로 큰 피해를 시스템에 끼치는 사태를 방지한다.
1.5.6
컨테이너에 보안 원칙들을 적용
이 책의 이후 장들에서 보겠지만, 컨테이너들을 세밀하게 구성하면 보안 원칙들을 적용하기가
편해진다.
최소 권한
각각의 컨테이너에 그 컨테이너가 기능하는 데 꼭 필요한 최소한의 접근 권한만 부여함으로
써 최소 권한 원칙을 지킬 수 있다.
심층 방어
컨테이너는 보안 보호를 강제할 수 있는 또 다른 보안 경계로 작용한다.
공격 표면 축소
모놀리스 시스템(모든 구성 요소가 하나의 개체로 단단히 결합된 형태의 시스템)을 다수의
간단한 마이크로서비스들로 분할하고 마이크로서비스들 사이의 인터페이스를 깔끔하게 정
의하면 전체적인 복잡도가 감소해서 공격 표면이 줄어든다. 그러나 컨테이너들을 관리하기
위한 복잡한 오케스트레이션 층을 추가하면 또 다른 공격 표면이 생긴다는 반론도 있다.
폭발 반경 제한
컨테이너화된 응용 프로그램이 침해되어도, 컨테이너 보안 경계 덕분에 공격의 효과가 컨테
이너 내부로만 한정되고 시스템의 나머지 부분에 영향을 미치지 않을 수 있다.
의무 분리
접근 권한과 자격 증명을 꼭 필요한 컨테이너로만 전달함으로써, 비밀 정보 하나가 누설되
어도 모든 비밀이 새지는 않게 만들 수 있다.
이 모든 장점이 매력적으로 들리겠지만, 이들은 ...