SageMaker Studio, TIP와 S3 Access Grants로 사용자별 Athena 쿼리 권한 제어
핵심 내용
TIP 활성화 시 CloudTrail에 실제 사용자 ID가 기록되어 정밀한 감사 추적이 가능해진다.
자세히 보기
기존 SageMaker Studio는 모든 사용자가 동일한 Execution Role을 공유하여 개별 사용자 식별 및 차별화된 권한 부여가 불가능했다. **Trusted Identity Propagation(TIP)**을 활성화하면 IAM Identity Center의 사용자 ID가 SageMaker 세션을 통해 다른 AWS 서비스로 전파되어 세밀한 접근 제어와 감사 추적이 가능해진다.
TIP의 핵심 메커니즘과 감사
TIP의 핵심은 Execution Role의 Trust Policy에 sts:AssumeRole 외에 sts:SetContext 액션을 허용하는 것이다. 이를 통해 SageMaker는 Role 세션에 실제 사용자 컨텍스트를 주입한다. TIP 미사용 시 서비스가 보는 주체는 공유 Role뿐이지만, TIP 사용 시 공유 Role과 실제 사용자 ID가 함께 전달된다. CloudTrail 감사 기록에서도 TIP 미사용 시 Role ARN만 기록되어 행위자 식별이 불분명했던 반면, TIP 사용 시 onBehalfOf 필드에 실제 사용자 ID가 기록되어 완전한 감사 추적이 가능하다.
통합 솔루션 구성 요소
이 솔루션은 IAM Identity Center(인증), SageMaker Studio with TIP(ID 전파), S3 Access Grants(사용자별 S3 접근), Lake Formation(테이블/컬럼 권한), Athena with TIP Workgroup(IdC 인증 모드 쿼리 엔진), CloudTrail(감사)으로 구성된다. SageMaker Studio Domain 생성 시 'Set up for organizations'를 선택하고 'Enable trusted identity propagation for all users on this domain' 옵션을 활성화해야 한다.
구현 절차 및 검증
구현 과정에서는 S3 Access Grants 인스턴스를 생성하고 IAM Identity Center와 연동하며, Lake Formation을 통해 특정 사용자(예: emma)에게 테이블 권한을 부여한다. Athena Workgroup 생성 시 인증 방법으로 'AWS IAM Identity Center'를 선택하고, 쿼리 결과 저장 위치로 S3 Access Grants 권한이 지정된 버킷 경로를 사용해야 한다. SageMaker Studio에서 PyAthena를 이용해 쿼리를 실행하면, CloudTrail 로그의 userIdentity.onBehalfOf 필드를 통해 실제 사용자 ID와 접근 대상 S3 객체를 확인할 수 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.