All checks
Low SageMaker · regional

SageMaker notebook instances should be encrypted with customer managed AWS KMS keys

Flags Amazon SageMaker notebook instances that have no KMS key configured for storage-volume encryption. Without a KmsKeyId the volume is encrypted with the default AWS-owned key instead of one you manage.

service
SageMaker
severity
Low
scope
evaluated in every region

How to fix it

Set at creation: fixing it means replacing the resource.

Name a KMS key you control for the notebook instance's ML storage volume. KmsKeyId can only be set at creation, so the route is a new notebook instance created with the key named and the old one deleted. Move the work across deliberately, because the two instances share nothing: copy /home/ec2-user/SageMaker out before deleting the original, and reproduce anything installed outside that directory with the new instance's lifecycle configuration script. The volume can be grown later but never shrunk, so size it now.

In the console

SageMaker AI → Notebook instances → Create notebook instance → Encryption key

With the AWS CLI

aws sagemaker create-notebook-instance --notebook-instance-name <notebook-instance-name> --instance-type <instance-type> --role-arn <execution-role-arn> --kms-key-id <kms-key-arn> --region <region>

With Terraform

resource "aws_sagemaker_notebook_instance" "this" {
  name          = var.notebook_instance_name
  instance_type = var.instance_type
  role_arn      = var.execution_role_arn
  kms_key_id    = var.kms_key_arn
}

See which of your accounts this check is failing on.

Book a demo