SageMaker training job not run inside a VPC
- Severity
- Medium
- Service
- SageMaker
- Check ID
- SAGEMAKER_TRAINING_NO_VPC
What this check finds
A SageMaker training job that is running, or ran in the last 90 days, has no VPC configuration. Its containers reach the internet and AWS endpoints directly, so training data and model artifacts can leave without passing any network control you own.
Passing looks like: SageMaker training jobs run inside a VPC.
How to fix it
Submit training jobs with --vpc-config SecurityGroupIds=...,Subnets=... (private subnets, with VPC endpoints for S3 and SageMaker), and set the same in the pipeline or SDK estimator (subnets=, security_group_ids=).
Compliance controls it is evidence for
A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works
| Framework | Controls |
|---|---|
| PCI-DSS v4.0.1 |
|
| HIPAA Security Rule |
|
| SOC 2 — Trust Services Criteria |
|
| NIST SP 800-53 Rev5 (Moderate) |
|
| NIST Cybersecurity Framework 2.0 |
|
| ISO/IEC 27001:2022 Annex A |
|
AI risk mappings
| Framework | Controls |
|---|---|
| MITRE ATLAS (Adversarial Threat Landscape for AI Systems) |
|
Checked on every scan
KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs
More SageMaker checks
- HighSageMaker execution role is over-permissioned
- HighSageMaker notebook instance has direct internet access
- HighSageMaker training job has no checkpoint configuration
- MediumDistributed SageMaker training job does not encrypt traffic between containers
- MediumSageMaker endpoint not deployed inside VPC
- MediumSageMaker endpoint variant runs on one instance
- MediumSageMaker model has no VPC configuration
- MediumSageMaker monitoring schedule encrypts neither its output nor its volumes with a KMS key