More Info:
Sagemaker Training Jobs should have inter-container traffic encryption 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
To remediate this in AWS SageMaker using the AWS Management Console, you must enable the setting when creating (or re-creating) the training job. Existing training jobs cannot be edited; you create a new job with the correct security settings.
1. Open SageMaker Training Jobs
- Sign in to the AWS Management Console.
- In the top bar, choose the correct Region.
- Go to Amazon SageMaker.
- In the left navigation pane, select Training → Training jobs.
2. Re-create the Training Job With Encryption
You’ll mirror the settings of the non-compliant job but enable inter-container traffic encryption.- In Training jobs, click the name of the non-compliant training job.
- Note down (or screenshot) its configuration:
- Training image / algorithm
- Input data locations (S3 paths, channels)
- Instance type and count
- Output S3 location
- Hyperparameters
- VPC settings, IAM role, etc.
- Click Create training job (or Create at the top right).
3. Configure the New Training Job
Fill in all the same settings as the old job, then enable the encryption:-
Job name: Give a new name (e.g., append
-encrypted). - IAM role, algorithm/image, input data configuration, output data configuration, resource configuration, etc., as per the original job.
- Scroll down to the Security and encryption or Additional configuration section (exact label may vary slightly by console version).
-
Locate Inter-container traffic encryption:
- Check the box Enable inter-container traffic encryption
(or toggle it On).
- Check the box Enable inter-container traffic encryption
-
Optionally verify or set:
- VPC settings.
- KMS key for output data / volume encryption if you’re also standardizing storage encryption.
- Review all fields to ensure they match the previous job (except the name and the new encryption setting).
- Click Create training job.
4. Clean Up / Enforce Going Forward
- After confirming the new job runs correctly, stop relying on the old non-compliant job (and optionally delete it).
- Update any process that creates training jobs (e.g., runbooks, internal docs) to require:
- Inter-container traffic encryption enabled in the console for all new training jobs.
5. Validate Compliance
- In Training jobs, open the new job’s details.
- In the Security and encryption section, confirm that:
- Inter-container traffic encryption is shown as Enabled.
Using CLI
Using CLI
To fix this, you must create (or re-create) SageMaker training jobs with inter-container traffic encryption enabled. This cannot be retroactively changed on an already running or completed training job.Below are step‑by‑step CLI instructions.
(There is no direct flag to check this on an existing job; remediation is to ensure all new jobs have this flag enabled.)
Create the training job:Key line for remediation:You can also pass it inline:Note: the short option is
1. Identify training jobs missing inter-container encryption (optional)
List recent training jobs:2. Create a training job with inter-container traffic encryption enabled
Prepare a minimal config file, e.g.training-job-config.json:--enable-inter-container-traffic-encryption.3. Update any automation/templates to always enable it
Wherever you define training jobs (CloudFormation, CDK, Step Functions, SageMaker Pipelines, custom scripts), ensure the equivalent flag is set:- CloudFormation:
EnableInterContainerTrafficEncryption: true - CDK (TypeScript/Java/Python):
enableInterContainerTrafficEncryption: true - Raw CLI/scripts: always pass
--enable-inter-container-traffic-encryptionor"EnableInterContainerTrafficEncryption": true.
4. Recreate important recurring jobs
For scheduled or recurring training:- Take the existing training job definition (can be viewed via):
- Copy the response JSON, add
"EnableInterContainerTrafficEncryption": true. - Change
TrainingJobName. - Call
create-training-jobwith the modified JSON.
Using Python
Using Python
Below are step‑by‑step ways to ensure inter-container traffic encryption is enabled for SageMaker training jobs using Python.
b. Enable
This ensures that if the job uses multiple containers (e.g., distributed training), traffic between containers is encrypted.
2. Using
If you are creating training jobs directly with
1. Using the SageMaker Python SDK (recommended)
a. Install / upgrade the SDK
b. Enable encrypt_inter_container_traffic on an Estimator
2. Using boto3 (low-level API)
If you are creating training jobs directly with boto3, set the field EnableInterContainerTrafficEncryption to True.a. Create a training job with encryption enabled
3. Remediating existing non‑compliant jobs
You cannot modify this flag on a running or completed training job. To remediate:- Identify non-compliant jobs (no encryption enabled).
- Recreate those jobs with
EnableInterContainerTrafficEncryption=True(orencrypt_inter_container_traffic=Truevia the SDK).
a. Detect jobs missing inter-container traffic encryption
b. Clone a non-compliant job with encryption enabled
4. Make encryption the default in your codebase
- For all new SageMaker Estimators, always set
encrypt_inter_container_traffic=True. - For all direct
boto3.create_training_jobcalls, always setEnableInterContainerTrafficEncryption=True. - Optionally, add a simple CI/static check to fail builds if the flag is missing.

