Kinesis not encrypted with KMS
이 페이지는 아직 한국어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우
언제든지 연락주시기 바랍니다.Id: 862fe4bf-3eec-4767-a517-40f378886b88
Cloud Provider: AWS
Platform: Terraform
Severity: High
Category: Encryption
Learn More
Description
AWS Kinesis Streams contain potentially sensitive data that should be encrypted at rest using AWS KMS to enhance security. When Kinesis streams are not encrypted with KMS, data stored in them is vulnerable to unauthorized access if the underlying storage is compromised. To properly secure Kinesis streams, both the encryption_type must be set to KMS and a valid kms_key_id must be specified, as shown in the following example:
resource "aws_kinesis_stream" "secure_example" {
name = "terraform-kinesis-test"
// ... other configurations ...
encryption_type = "KMS"
kms_key_id = "alias/aws/kinesis"
}
Compliant Code Examples
resource "aws_kinesis_stream" "negative1" {
name = "terraform-kinesis-test"
shard_count = 1
retention_period = 48
shard_level_metrics = [
"IncomingBytes",
"OutgoingBytes",
]
tags = {
Environment = "test"
}
encryption_type = "KMS"
kms_key_id = "alias/aws/kinesis"
}
Non-Compliant Code Examples
resource "aws_kinesis_stream" "positive1" {
name = "terraform-kinesis-test"
shard_count = 1
retention_period = 48
shard_level_metrics = [
"IncomingBytes",
"OutgoingBytes",
]
tags = {
Environment = "test"
}
}
resource "aws_kinesis_stream" "positive2" {
name = "terraform-kinesis-test"
shard_count = 1
retention_period = 48
shard_level_metrics = [
"IncomingBytes",
"OutgoingBytes",
]
tags = {
Environment = "test"
}
encryption_type = "NONE"
}
resource "aws_kinesis_stream" "positive3" {
name = "terraform-kinesis-test"
shard_count = 1
retention_period = 48
shard_level_metrics = [
"IncomingBytes",
"OutgoingBytes",
]
tags = {
Environment = "test"
}
encryption_type = "KMS"
}