데이터 유출 방지, 왜 이렇게 어려운가?
안녕하세요, 개발자 여러분! 오늘은 AWS에서 머신러닝 환경을 운영하면서 가장 까다로운 문제 중 하나인 데이터 유출 방지에 대해 이야기해보려고 합니다. 특히 금융, 의료, 정부 분야처럼 민감한 데이터를 다루는 조직이라면 이 문제는 단순한 보안 이상의 비즈니스 과제죠.
전통적인 방식은 완전히 격리된 온프레미스 환경을 구축하고, 관리자 감독 하에 가상 데스크톱을 제공하는 것이었습니다. 하지만 팀이 커지고 원격 근무가 보편화되면서 이런 방식은 비용과 운영 복잡도가 급증하게 됩니다. 이 글에서는 AWS에서 실제로 구현된 3계층 보안 아키텍처를 통해 데이터 유출을 방지하면서도 데이터 사이언티스트의 생산성을 유지하고, 비용까지 80% 절감한 사례를 자세히 분석해보겠습니다.
왜 기존 방식은 실패했는가?
많은 조직이 데이터 보안을 위해 에어갭(air-gapped) 환경을 도입합니다. 하지만 이는 데이터 사이언티스트에게는 재앙이나 다름없습니다. 필요한 라이브러리 설치도 제한되고, 협업 도구 사용도 어려워지며, 결국 생산성이 크게 떨어지죠. 또한 사용자마다 전용 가상 데스크톱(VDI)을 할당해야 해서 비용이 기하급수적으로 늘어납니다.
이 글에서 소개하는 사례의 기업도 동일한 문제를 겪었습니다. 사용자당 월 40달러 이상의 VDI 비용과 2일씩 걸리는 프로비저닝, 그리고 끝없는 유지보수는 더 이상 감당할 수 없는 수준이었죠. 그래서 그들은 Amazon SageMaker AI와 WorkSpaces Secure Browser를 결합한 새로운 아키텍처를 설계했습니다.
3계층 보안 아키텍처 개요
이 솔루션은 크게 세 가지 계층으로 구성됩니다.
- WorkSpaces Secure Browser로 접근 제어
- 브라우저 활동 및 크로스 계정 접근 제한
- SageMaker AI 환경 자체 보안
각 계층은 독립적으로도 강력하지만, 함께 사용했을 때 시너지 효과를 발휘합니다. 이제 각 계층을 상세히 살펴보겠습니다.
![]()
Layer 1: WorkSpaces Secure Browser로 접근 제어
가장 먼저, 모든 데이터 사이언티스트는 반드시 Amazon WorkSpaces Secure Browser를 통해 SageMaker AI에 접근해야 합니다. 이는 완전 관리형 브라우저 환경으로, Chromium 기반이며 파일 다운로드/업로드, 클립보드, 인쇄 기능을 모두 비활성화할 수 있습니다.
# 예시: boto3를 사용해 WorkSpaces Secure Browser 환경에서 SageMaker Studio에 접근하는 IAM 정책 (개념적 예시)
import boto3
# IAM 클라이언트 생성
iam = boto3.client('iam')
# 정책 문서 정의
policy_document = {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sagemaker:CreatePresignedDomainUrl",
"Resource": "*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "NAT_GATEWAY_ELASTIC_IP" # NAT 게이트웨이 Elastic IP로만 접근 허용
}
}
}
]
}
# 정책 생성 (실제로는 AWS 콘솔 또는 IaC로 적용)
response = iam.create_policy(
PolicyName='SageMakerSecureBrowserPolicy',
PolicyDocument=json.dumps(policy_document)
)
print(f"정책 생성 완료: {response['Policy']['Arn']}")
핵심 설정:
- 파일 다운로드/업로드 비활성화
- 클립보드 접근 비활성화
- 인쇄 비활성화
- NAT 게이트웨이 Elastic IP에서만 접근 허용
이렇게 하면 데이터가 사용자의 로컬 머신으로 유출되는 것을 원천 차단할 수 있습니다.
Layer 2: 브라우저 활동 및 크로스 계정 접근 제한
두 번째 계층에서는 브라우저 내에서의 활동을 제한합니다. URL 화이트리스트를 적용하여 *.aws.amazon.com과 특정 SageMaker AI 도메인만 접근을 허용합니다. 이메일이나 외부 스토리지 서비스는 모두 차단되므로 데이터를 외부로 업로드할 수 없습니다.
또한, AWS Management Console과 IAM Identity Center에 대한 VPC 엔드포인트를 구성하여 트래픽이 인터넷을 거치지 않고 프라이빗하게 전달되도록 합니다. 이를 통해 데이터 사이언티스트가 다른 AWS 계정으로 데이터를 옮기는 것을 방지할 수 있습니다.
# 예시: VPC 엔드포인트 정책 (JSON)
vpc_endpoint_policy = {
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Principal": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalAccount": "112233445566" # 특정 계정만 허용
}
}
}
]
}
추가로, Route 53 Resolver DNS Firewall을 구성하여 비승인 도메인에 대한 DNS 쿼리를 차단하고, IAM 정책을 통해 대상 리소스가 다른 계정에 속한 경우를 거부합니다.

Layer 3: SageMaker AI 환경 자체 보안
마지막 계층은 SageMaker AI 환경 자체입니다. SageMaker Studio는 터미널과 IDE 접근을 제공하기 때문에, 이를 악용하여 데이터를 외부로 전송할 가능성이 있습니다. 따라서 SageMaker AI VPC에는 인터넷 게이트웨이를 제거하고, 필요한 AWS 서비스에 대해서만 VPC 엔드포인트를 구성합니다.
SageMaker AI 네트워크 구성:
- NAT 게이트웨이 및 인터넷 라우트 없음
- 필요한 모든 AWS 서비스에 대한 VPC 엔드포인트 구성
- 엔드포인트 정책은 조직 소유 리소스만 허용
이를 통해 SageMaker AI는 내부적으로 AWS 서비스와 통신할 수 있지만, 외부 인터넷으로 나가는 트래픽은 완전히 차단됩니다. VPC 엔드포인트 정책을 세분화하여 특정 S3 버킷에 대한 s3:PutObject API 호출만 허용하는 것도 가능합니다.
# 예시: S3 버킷 접근 제한 정책 (JSON)
endpoint_policy = {
"Statement": [
{
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::data-science-bucket/*",
"Principal": "*"
},
{
"Effect": "Deny",
"Action": "s3:*",
"Resource": "*",
"Principal": "*",
"Condition": {
"StringNotEquals": {
"aws:SourceAccount": "112233445566"
}
}
}
]
}
비용 및 운영 효율성: 80% 절감의 비결
이 아키텍처의 가장 큰 장점은 보안 강화와 동시에 비용 절감을 달성했다는 점입니다. 기존 VDI 환경은 사용자당 월 40달러 이상이었지만, WorkSpaces Secure Browser는 월 7달러로 약 80% 비용을 절감했습니다. 또한 프로비저닝 시간이 2일에서 몇 분으로 단축되었고, 데스크톱 유지보수의 부담도 사라졌습니다.
이 결과는 단순한 비용 절감을 넘어, 데이터 사이언티스트의 생산성 향상과 보안 강화라는 두 마리 토끼를 모두 잡은 셈입니다.

결론: 실무 적용을 위한 제언
이 사례는 보안과 생산성이 반드시 트레이드오프 관계가 아니라는 것을 보여줍니다. AWS의 관리형 서비스를 적절히 결합하면 오히려 비용을 줄이면서 보안을 강화할 수 있습니다.
다만, 주의할 점도 있습니다.
- 이 아키텍처는 AWS 환경에 종속되므로, 멀티 클라우드 전략이 있는 조직에는 적용이 어려울 수 있습니다.
- URL 화이트리스트가 엄격하기 때문에, 데이터 사이언티스트가 외부 라이브러리나 문서를 참조해야 하는 경우 불편할 수 있습니다.
- VPC 엔드포인트 정책을 잘못 구성하면 서비스 장애가 발생할 수 있으므로, 충분한 테스트가 필요합니다.
다음 단계 학습 방향
- AWS IAM 정책 시뮬레이터를 활용한 정책 검증
- AWS Organizations와 SCP(서비스 제어 정책)를 결합한 보안 강화
- SageMaker AI의 VPC 인터페이스 엔드포인트와 게이트웨이 엔드포인트 차이 이해하기
이 글이 여러분의 보안 아키텍처 설계에 실질적인 도움이 되었기를 바랍니다. 궁금한 점이나 경험 공유는 댓글로 남겨주세요! 😊
함께 보면 좋은 글
근거자료: 원문 보기