Skip to content

SageMaker notebook instances should be in a VPC

Manage access to the AWS Cloud by ensuring SageMaker notebook instances are within an AWS Virtual Private Cloud (AWS VPC).

How to fix

Attribute subnet_id of aws_sagemaker_notebook_instance must be non-empty.

Implementation options

Choose the option that matches how you manage Terraform. All options satisfy this control.

Option 1: Terraform AWS provider resources

If you manage resources directly, configure the relevant Terraform AWS provider resources to meet this control. See docs for the resources involved: aws_sagemaker_notebook_instance.

resource "aws_sagemaker_notebook_instance" "this" {
  instance_type = "ml.t2.medium"
  name          = "pofix-example-notebook"
  role_arn      = "arn:aws:iam::123456789012:role/example-role"

  subnet_id = "subnet-12345678"
}
Which option should I choose?
  • Compliance.tf module (recommended): controls enforced by default and mapped to frameworks.
  • Open source module (terraform-aws-modules): compatible by design with compliance.tf. Same variable names for an easy, low-change migration path when you are ready.
  • Terraform AWS provider resources: manage Terraform resources directly.

Tool mappings

Use these identifiers to cross-reference this control across tools, reports, and evidence.

  • Compliance.tf (CTF) Control: sagemaker_notebook_instance_in_vpc

  • AWS Config Managed Rule: SAGEMAKER_NOTEBOOK_INSTANCE_INSIDE_VPC

  • Checkov Check: CKV_AWS_306

  • Powerpipe Control: aws_compliance.control.sagemaker_notebook_instance_in_vpc