More Info:
Sagemaker Training Jobs should have network isolation enabledRisk Level
MediumAddress
Monitoring, SecurityCompliance Standards
- APRA CPS 234 (Australia)
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS Critical Security Controls v8
- CMMC 2.0
- CSA Cloud Controls Matrix v4
- DPDPA
- Digital Operational Resilience Act (EU)
- ISO 27001
- ISO/IEC 27018
- ISO/IEC 27701
- MAS Technology Risk Management (Singapore)
- MITRE ATT&CK (Cloud)
- NIST SP 800-171
- NYDFS 23 NYCRR 500
- SOC2
- SWIFT Customer Security Controls Framework
- Sarbanes-Oxley IT General Controls
- UK NCSC Cyber Assessment Framework
Triage and Remediation
- Remediation
Remediation
Using Console
Using Console
Here’s how to ensure SageMaker Training Jobs have Network Isolation enabled using the AWS Management Console:
1. Understand the Limitation
- You cannot edit an existing completed/running training job to enable network isolation.
- You must create a new training job (or update the template/pipeline/notebook code that creates it) with
Network isolationturned on.
2. Enable Network Isolation When Creating a Training Job
-
Sign in to AWS Console
- Go to: https://console.aws.amazon.com/
- Switch to the region where you run SageMaker.
-
Open SageMaker
- In the Services menu, choose Amazon SageMaker.
-
Go to Training Jobs
- In the left navigation pane, under Training, click Training jobs.
- To recreate an existing job with isolation, select that job and click Create similar (if available in your console version), or note down its configuration to re-enter.
-
Create a New Training Job
- Click Create training job (or Create → Training job, depending on UI version).
-
Fill in Basic Settings
- Job name: Provide a unique name.
- IAM role: Select a role with needed permissions (S3, logs, etc.).
- Configure Algorithm / Container, Input data configuration, Output data configuration, etc. as you normally would.
-
Enable Network Isolation
- Scroll to the Network or Security section (label may vary slightly by console version).
- Find the option usually named:
- Network isolation, or
- Enable network isolation
- Check the box or choose Enabled.
- This corresponds to setting
EnableNetworkIsolation = truefor the training job.
-
(Optional) Configure VPC Settings
- In the same Network section, you can also:
- Select a VPC, Subnets, and Security groups if you need training to run in a private subnet.
- This is separate from network isolation, but commonly used together.
- In the same Network section, you can also:
-
Review and Create
- Review all configurations.
- Click Create training job.
3. Ongoing Remediation
- For any place you define training jobs (SageMaker Studio UI, notebook code, CI/CD pipelines, SageMaker Pipelines):
- Ensure
EnableNetworkIsolation = trueis always set.
- Ensure
- Over time, deprecate old jobs / code that created training jobs without network isolation.
Using CLI
Using CLI
For SageMaker training jobs, network isolation is enabled per training job and cannot be turned on for an already-running/completed job. You must submit new jobs with network isolation enabled.Below are the key steps using AWS CLI.
1. Create a training job with network isolation enabled
You can either use a JSON config file or pass parameters inline. The important flag is:Option A: Using a JSON config file
- Create a file
training-job-config.json:
- Create the job via CLI:
"EnableNetworkIsolation": true in the JSON is equivalent to --enable-network-isolation on the CLI.Option B: Passing parameters inline
2. Ensure pipelines / automations use the flag
Wherever training jobs are created (scripts, CI/CD, Step Functions, SageMaker Pipelines, etc.), confirm:- They use
enable_network_isolation=True(SDK)
or --enable-network-isolation/"EnableNetworkIsolation": true(CLI/JSON).
Using Python
Using Python
To remediate this, you must (a) ensure all new training jobs are created with network isolation, and (b) stop/recreate any existing non‑isolated jobs (you cannot “flip” isolation on a running job).Below are step‑by‑step instructions using Python.
1. Using the low-level
Key field:
Then stop or let the original non‑isolated job complete and only use the new isolated one going forward.
2. Using the high-level
If you use the SageMaker Python SDK (Here
1. Using the low-level boto3 SageMaker client
a. Create training jobs with network isolation
EnableNetworkIsolation=True must be set on every create_training_job call.b. Recreate existing training jobs with network isolation
2. Using the high-level sagemaker Python SDK
If you use the SageMaker Python SDK (pip install sagemaker):enable_network_isolation=True ensures EnableNetworkIsolation=True in the underlying training job.3. Policy / guardrail (optional)
To enforce this org‑wide, use:- AWS Config rule
sagemaker-training-job-network-isolation-enabled - Or a custom rule that checks
EnableNetworkIsolationon training jobs
and alerts/blocks when it’s notTrue.
EnableNetworkIsolation=True on all training job creations and recreate any existing ones without it.
