Amazon MLA-C01: 보안, 거버넌스 및 규정 준수 — 학습 가이드
다음의 일부입니다: AWS Machine Learning Engineer Associate MLA-C01 — 학습 가이드. 검증된 답안으로 연습하기: Amazon 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
IAM 역할, 최소 권한 원칙, SageMaker 실행 컨텍스트
ML 워크로드의 자격 증명 및 액세스 관리는 사람 사용자, CI/CD 시스템, 런타임 컴퓨팅 간에 명시적이고 감사 가능한 권한 분리를 요구합니다. SageMaker의 경우, 이는 전용 실행 역할(SageMaker 서비스 주체 sagemaker.amazonaws.com을 허용하는 AssumeRolePolicyDocument를 가진 IAM 역할)을 정의하고, 해당 역할의 권한 범위를 필요한 최소한의 작업 집합으로 제한하는 것을 의미합니다. 예를 들어, 특정 접두사에 대한 S3 GetObject/PutObject, 하나 이상의 고객 관리형 CMK에 대한 kms:Decrypt/kms:Encrypt, 특정 LogGroup ARN에 대한 logs:CreateLogStream 및 logs:PutLogEvents, 그리고 교차 계정 액세스가 필요한 경우에만 sts:AssumeRole을 허용하는 것입니다. 특정 SageMaker 작업이나 파이프라인에 의해 생성된 아티팩트가 다른 주체에 의해 유출될 수 없도록 리소스 수준 정책 조건(aws:SourceAccount 및 aws:SourceArn)을 연결합니다. 런타임 권한을 구획화하기 위해 훈련, 모델 빌딩, 호스팅에 대해 별도의 역할(CreateTrainingJob, CreateModel, CreateEndpointConfig에 전달되는 RoleArn 필드)을 사용합니다. 이러한 역할 ARN은 자격 증명을 포함하는 대신 코드나 파이프라인에 파라미터로 저장합니다.
임시 개발자 액세스 및 사람의 승인을 위해서는, 수명이 긴 IAM 사용자 키 대신 AWS STS를 통해 수임하는 단기 자격 증명을 가진 IAM 역할을 사용하는 것이 좋습니다. 다자 검토 및 직무 분리 적용은 IAM 권한 경계, AWS Single Sign-On 또는 OIDC IdP, 그리고 SageMaker Model Registry 패키지에 대한 리소스 수준 제어를 결합하여 달성됩니다. 워크플로에서 일시적인 권한 상승이 필요한 경우(예: 모델 패키지 승인), SageMaker Model Registry의 승인 워크플로를 사용하여 ModelApprovalStatus를 “PendingManualApproval"로 설정하고, 좁은 범위의 sagemaker:ApproveModelPackage 권한을 가진 IAM 주체가 이를 “Approved"로 변경하도록 요구합니다.
VPC 격리, 네트워크 제어, 암호화
네트워크 격리는 CreateTrainingJob, CreateModel, CreateEndpointConfig, CreateProcessingJob API에 명시적인 VpcConfig(서브넷 ID 및 보안 그룹 ID)를 제공하여 SageMaker 훈련 및 추론 인스턴스를 VPC 서브넷 내에 배치하는 것에서 시작됩니다. 모델 아티팩트와 API 트래픽이 절대 퍼블릭 인터넷을 통과하지 않도록 이를 VPC 엔드포인트(AWS PrivateLink를 통한 com.amazonaws.region.sagemaker 및 com.amazonaws.region.s3용 인터페이스 엔드포인트 또는 S3용 게이트웨이 엔드포인트)와 결합합니다. 서브넷에 VPC Flow Logs를 활성화하고, 보안 그룹 규칙을 사용하여 이그레스(egress)를 필요한 주소와 포트로만 제한합니다. 예를 들어, S3 VPC 엔드포인트로만 제한하거나 외부 패키지 다운로드가 허용되는 경우 NAT Gateway로 제한합니다.
암호화는 저장 데이터(at rest)와 전송 중인 데이터(in transit) 모두에 적용되어야 합니다. 저장 데이터의 경우, AWS KMS를 사용한 S3 서버 측 암호화(SSE-KMS)를 사용하고, 관리자와 SageMaker 실행 역할을 제한하는 키 정책을 가진 고객 관리형 CMK로 키를 보호합니다(아티팩트에 대해 CMK ARN을 OutputDataConfig.KmsKeyId에 넣거나 S3 PutObject SSE-KMS 헤더에 넣습니다). 훈련 인스턴스에 연결된 EBS 볼륨의 경우, ResourceConfig를 통해 볼륨 암호화를 지정하고 EBS KMS 키가 설정되었는지 확인합니다. 컨테이너 간 트래픽 및 네트워크 전송의 경우, CreateTrainingJob/CreateModel에서 EnableInterContainerTrafficEncryption 및 EnableNetworkIsolation을 활성화하여 컨테이너 간 트래픽에 TLS를 강제하고 아웃바운드 인터넷 액세스를 차단합니다. 또한, SageMaker 및 S3에 대한 모든 REST 및 SDK 호출은 기본적으로 HTTPS/TLS를 활용해야 합니다. CMK에서 EnableKeyRotation을 사용하여 CMK를 교체하고, CloudTrail의 KMS 이벤트를 통해 키 사용을 감사합니다.
감사 로깅, 데이터 이벤트, 계보 추적
포괄적인 감사 추적은 관리 영역(management-plane) 로그와 데이터 영역(data-plane) 이벤트를 결합합니다. AWS CloudTrail을 사용하여 모든 SageMaker 및 IAM API 호출을 기록합니다. 훈련 데이터 세트 및 모델 아티팩트에 대한 객체 수준 읽기/쓰기를 캡처하기 위해 S3 버킷에 대한 CloudTrail 데이터 이벤트 로깅(S3 ARN을 가리키는 DataResources와 함께 PutEventSelectors 사용)을 활성화합니다. 실행 역할에 logs:CreateLogStream 및 logs:PutLogEvents 권한이 있는지 확인하여 컨테이너 로그와 훈련 작업 시스템 로그를 CloudWatch Logs로 보냅니다. 보존 정책 및 구독 필터를 사용하여 이러한 로그를 중앙 SIEM으로 스트리밍할 수 있습니다. 네트워크 수준 감사를 위해 VPC Flow Logs를 활성화하고, 의심스러운 활동 탐지를 위해 GuardDuty 결과 및 S3 민감 데이터 검색을 위한 Amazon Macie를 구독합니다.
계보(Lineage) 추적은 전처리, 훈련, 평가, 배포 전반에 걸쳐 아티팩트 출처를 캡처해야 합니다. SageMaker Pipelines와 SageMaker Experiments를 사용하여 Experiment, Trial, TrialComponent 레코드를 자동으로 생성합니다. 이러한 API는 파라미터, 입력, 지표 및 ModelPackage 메타데이터를 기록합니다. 중앙 메타데이터 스토어에 메타데이터를 영구 저장합니다. AWS Glue Data Catalog는 데이터 세트 카탈로그 역할을 하며 테이블 수준 메타데이터와 파티셔닝을 저장할 수 있고, SageMaker의 메타데이터 서비스는 파이프라인 실행을 모델 아티팩트에 연결합니다. 교차 계정 또는 다중 소스 수집의 경우, AWS Glue 연결(온프레미스 MySQL용 JDBC)로 연결을 중앙 집중화하거나, AWS Database Migration Service(DMS)를 사용하여 트랜잭션 데이터를 S3/Redshift로 복제한 후 Glue 크롤러가 이를 인덱싱하게 합니다. 그런 다음 파이프라인에서 결과 Glue 테이블을 참조하여 감사 가능한 계보 경로를 유지합니다.
모델 거버넌스: 레지스트리, 모델 카드, 모니터링
SageMaker Model Registry(모델 패키지 그룹 및 ModelPackage 객체)는 CI/CD를 위한 내장 라이프사이클 상태와 후크를 갖춘 표준 중앙 모델 저장소를 제공합니다. 훈련된 모델을 ModelPackageGroup에 등록하고 ModelApprovalStatus를 “PendingManualApproval"로 설정합니다. 그러면 자동화(CodePipeline, Step Functions)가 일시 중지되고, 권한 있는 보안 주체가 ModelApprovalStatus=“Approved"로 설정하여 UpdateModelPackage를 호출할 때까지 대기할 수 있습니다. 레지스트리를 SageMaker Model Cards와 함께 사용하여 의도된 사용법, 데이터 세트, 훈련 하이퍼파라미터, 리니지 참조, 성능 지표, SageMaker Clarify의 공정성 지표 및 규정 준수 선언문을 문서화합니다. 모델 카드는 구조화된 메타데이터로 작성되어 ModelPackage와 함께 저장되어야 합니다. 이렇게 하면 검토, 감사 추적 및 모델 카드가 바이너리 아티팩트와 동일한 위치에 유지됩니다.
운영 모니터링은 데이터 및 모델 품질 드리프트의 경우 SageMaker Model Monitor를, 편향 및 설명 가능성의 경우 SageMaker Clarify를 사용하여 수행됩니다. CreateEndpoint에서 DataCaptureConfig를 활성화하여 요청 및 응답 페이로드를 보안 S3 접두사(SSE-KMS 사용)에 캡처합니다. 그런 다음 Model Monitor 기준선 생성 작업(기준 통계 및 제약 조건 사용)을 구성하고 모니터링 작업을 예약하거나 온디맨드 분석을 트리거합니다. 배포된 실시간 엔드포인트의 편향 드리프트의 경우, 추론 및 실제 값(ground-truth, 사용 가능한 경우)을 캡처하고, 캡처된 데이터 세트에 대해 Clarify 편향 작업을 실행한 다음, Clarify 보고서를 S3 및 모델 카드에 저장합니다. 경고 및 해결 조치는 롤백 또는 격리 패턴을 구현하는 CloudWatch Alarms 및 Step Functions에 연결할 수 있습니다.
설계 패턴, 장단점 및 일반적인 함정
여러 데이터 소스를 중앙 집중화할 때, JDBC 커넥터를 사용하는 AWS Glue와 세분화된 액세스 제어를 위한 AWS Lake Formation을 함께 사용하는 것이 운영 오버헤드가 가장 낮은 패턴입니다. DMS를 사용하여 트랜잭션 소스를 S3로 복제하면 ML 파이프라인에 대한 격리 수준은 높아지지만 운영 복잡성이 증가합니다. 반복적인 훈련 작업 중 데이터세트 액세스 지연 시간을 줄이려면, Pipe 모드로 S3 입력을 스트리밍하거나 Amazon FSx for Lustre와 같은 공유 파일 시스템(훈련 인스턴스에 POSIX 네임스페이스를 내보냄)을 마운트하는 것이 대용량 데이터세트를 로컬 EBS 볼륨에 반복적으로 복사하는 것보다 시작 시간을 단축시킵니다. 장단점은 FSx가 비용과 관리 부담을 추가한다는 것입니다. Pipe 모드는 더 간단하지만 훈련 컨테이너가 스트리밍 입력(RecordIO, protobuf)을 지원해야 합니다.
클래스 불균형 및 범주형 데이터 처리를 최소한의 운영으로 처리하려면, Data Wrangler 또는 SageMaker Processing을 활용하여 일관된 변환을 생성하고, 오프라인 훈련과 온라인 추론이 동일한 변환을 공유하도록 SageMaker Feature Store에 피처 데이터를 저장합니다. 특히 불균형 문제의 경우, 데이터 수준의 리샘플링보다 알고리즘 수준의 해결책(예: XGBoost의 경우 scale_pos_weight를 num_negative/num_positive로 설정)을 먼저 선호해야 합니다. 알고리즘적 접근 방식은 합성 레코드를 생성하지 않으며 파이프라인 운영이 더 간단합니다. 이상 탐지 및 데이터세트 품질 검사를 위해서는 특수 목적 서비스와 사용자 지정 모델 중에서 선택할 수 있습니다. Amazon Lookout for Metrics는 여러 소스에 대한 커넥터를 통해 자동화된 이상 탐지 및 시각화를 제공하는 반면, SageMaker Random Cut Forest(내장)는 파이프라인에 직접 통합되어 사용자 지정 임계값 및 설명 가능성에 대한 완전한 제어를 제공합니다.
일반적인 함정으로는 과도하게 넓은 범위의 IAM 역할(지나친 s3:* 또는 kms:* 권한), S3에 대한 CloudTrail 데이터 이벤트를 활성화하지 않아 모델 아티팩트가 유출될 때 사각지대가 발생하는 경우, VPC 엔드포인트를 활성화하지 않아 의도치 않게 데이터를 공용 인터넷을 통해 라우팅하는 경우, 그리고 모델 승인 워크플로를 건너뛰어 검토되지 않은 모델이 프로모션되는 경우가 있습니다. 또 다른 흔한 실수는 SSE-KMS 없이 평문 민감 데이터를 S3에 저장하거나, 승인되지 않은 보안 주체의 키 사용을 막기 위해 KMS 키 정책을 제한하지 않는 것입니다.
실용적인 문제: 사용 사례 시나리오
AcmeFin: 금융 웹 애플리케이션을 위한 사기 탐지 모델. 데이터 소스로는 S3의 트랜잭션 로그와 고객 프로필, 그리고 고객 위험 점수를 포함하는 온프레미스 MySQL 테이블이 있습니다. 목표는 안전하고 감사 가능한 파이프라인, 빈번한 재훈련을 위한 낮은 훈련 시작 지연 시간, 프로덕션 배포를 위한 수동 승인 게이트, 배포된 엔드포인트에 대한 온디맨드 편향/드리프트 평가, 그리고 수신 데이터의 자동화된 이상 탐지 및 시각화입니다.
데이터 수집 및 중앙 집중화: AWS DMS를 사용하여 온프레미스 MySQL을 엄격한 SSE-KMS 암호화(버킷 정책은 AcmeFin 계정으로 제한) 하에 S3 랜딩 프리픽스로 복제합니다. Glue 크롤러를 통해 S3 데이터세트와 파티션을 AWS Glue Data Catalog에 등록하고 Lake Formation 권한을 통해 액세스를 강제합니다. 근거: DMS는 트랜잭션 테이블에 대한 지속적인 복제를 제공하고, Glue Catalog는 메타데이터를 중앙 집중화하며 ETL 및 훈련 전반에 걸쳐 데이터 계보(lineage)를 활성화합니다.
컴퓨팅 및 스토리지 보안: 최소 권한 원칙에 따라 전용 SageMaker 실행 역할(CreateTrainingJob에서 사용되는 RoleArn)을 생성하고 sagemaker.amazonaws.com을 허용하는 신뢰 정책을 설정합니다. 역할 권한을 특정 S3 프리픽스와 고객 관리형 CMK로 제한합니다. CreateTrainingJob 및 CreateEndpointConfig에 VpcConfig.Subnets와 VpcConfig.SecurityGroupIds를 제공하여 모든 훈련 및 추론을 프라이빗 서브넷에 배치하고, 공용 인터넷 이그레스를 피하기 위해 com.amazonaws.region.s3 및 SageMaker API에 대한 인터페이스 엔드포인트를 생성합니다. 근거: VPC 격리와 VPC 엔드포인트는 아티팩트가 절대 공용 네트워크를 통과하지 않도록 보장하며, CMK 제한이 있는 역할은 키의 오용을 방지합니다.
훈련 시작 지연 시간 최소화: 대용량 데이터세트는 훈련 서브넷으로 내보낸 Amazon FSx for Lustre에 저장하고, 더 작은 스트리밍 입력에는 Pipe 모드를 사용합니다. FSx에 마운트된 데이터세트 또는 Pipe 모드의 S3를 가리키는 InputDataConfig로 CreateTrainingJob을 구성하고, 작업 간에 데이터세트 포인터를 일정하게 유지하여 웜 캐시를 재사용합니다. 근거: FSx는 POSIX 액세스를 제공하고 반복적인 S3 다운로드를 방지합니다. Pipe 모드는 스트리밍 친화적인 컨테이너의 복사 지연 시간을 줄여줍니다.
거버넌스 및 수동 승인: 훈련 완료 시 SageMaker Model Registry에 모델을 등록합니다. 새로운 ModelPackage 객체에 대해 ModelApprovalStatus=“PendingManualApproval"로 설정합니다. CreateEndpoint 단계가 실행되기 전에 sagemaker:UpdateModelPackage 권한을 가진 보안 주체가 UpdateModelPackage(ModelApprovalStatus=“Approved”)를 호출하도록 요구하는 승인 워크플로를 AWS CodePipeline/Step Functions를 사용하여 구현합니다. 근거: Model Registry는 수명 주기 상태와 IAM 권한 부여에 연결된 감사 가능한 승인 조치를 제공합니다.
온디맨드 편향 및 드리프트 확인: 엔드포인트에서 DataCaptureConfig를 활성화하여 요청과 응답을 SSE-KMS로 암호화된 S3 프리픽스에 기록합니다. 온디맨드 편향 분석을 위해, 캡처된 데이터와 Model Card 기준선을 참조하는 SageMaker Clarify 배치 작업을 실행합니다. 지속적인 드리프트 감지를 위해, 실시간 분포를 기준 통계와 비교하는 SageMaker Model Monitor 작업을 예약합니다. 근거: 데이터 캡처와 Clarify/Model Monitor를 함께 사용하면 임시 및 예약 평가를 모두 제공하며, 결과는 모델 메타데이터와 함께 저장됩니다.
이상 탐지 및 시각화: 캡처된 지표와 피처 시계열 데이터를 Amazon Lookout for Metrics에 연결하여 자동화된 이상 탐지 및 알림을 받고, 결과를 Amazon QuickSight에서 시각화합니다. 또는, 사용자 지정 임계값이 필요한 경우 SageMaker에서 Random Cut Forest 훈련 작업을 실행하고 이상 현상을 대시보드에 표시합니다. 근거: Lookout for Metrics는 이상 탐지에 대한 운영 오버헤드를 줄이고 신속한 시각화를 위해 여러 소스와 통합됩니다.
이 접근 방식은 Glue Catalog와 SageMaker Experiments를 통해 감사 가능한 데이터 계보(lineage)를 유지하면서 보안(VPC, SSE-KMS, 제한된 IAM), 거버넌스(Model Registry, Model Cards, 승인 워크플로), 저지연 훈련(FSx + Pipe 모드), 운영 모니터링(DataCapture, Clarify, Model Monitor, Lookout for Metrics) 간의 균형을 맞춥니다.
← 모델 모니터링 및 관찰 가능성 · 모든 도메인 · 생성형 AI 및 파운데이션 모델 →
이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
시험 합격하기 →