
SageMaker Studio에서 TIP와 S3 Access Grants를 활용한 Athena 쿼리 실행하기
두줄요약
SageMaker Studio의 TIP로 사용자 ID를 Athena·S3·Lake Formation까지 전파하는 구성을 안내했습니다. S3 Access Grants와 CloudTrail을 통해 사용자별 권한 제어 및 감사 추적을 구현했습니다.
문제 상황
- 공유 SageMaker Studio의 동일 Execution Role 사용으로 사용자별 데이터 권한 분리와 행위자 추적의 한계
- Athena·S3 접근 시 실제 사용자 대신 Role ARN만 남는 감사 공백
구조와 흐름
- IAM Identity Center 로그인 사용자 ID를 SageMaker TIP가 Role 세션에 전파
- S3 Access Grants의 사용자별 S3 권한과 Lake Formation의 테이블 권한을 Athena TIP Workgroup에 연동
- JupyterLab의 PyAthena 쿼리 실행 후 CloudTrail
onBehalfOf필드로 사용자 ID 확인
해결 방법
- SageMaker Execution Role Trust Policy에
sts:SetContext추가 및 Domain의 TIP 활성화 - S3 직접 객체 접근 거부와 Access Grants 기반 임시 자격증명 발급
- Lake Formation Identity Center 통합, 데이터 위치·테이블 권한 및 Athena Workgroup 사용자 할당
성능/운영 포인트
- 테스트 종료 후 Studio, Workgroup, Lake Formation, Access Grants, S3, IAM, IdC 리소스 순차 정리
- 예시 정책의 와일드카드 리소스를 프로덕션에서 필요한 리소스로 제한


