SageMaker notebook instances should be encrypted using CMK¶
This control checks if SageMaker notebook instance storage volumes are encrypted with AWS KMS Customer Master Keys (CMKs) instead of AWS managed-keys.
How to fix¶
Attribute kms_key_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"
kms_key_id = "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
}
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_encrypted_with_kms_cmkCheckov Checks:
CKV_AWS_187,CKV_AWS_22Powerpipe Control:
aws_compliance.control.sagemaker_notebook_instance_encrypted_with_kms_cmk