- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
ID: terraform-aws/aws-ecs-no-encryption
Language: Terraform
Severity: Warning
Category: Security
This rule is designed to enforce the use of encryption in the Elastic Container Service (ECS). ECS is a highly scalable, high-performance container orchestration service that supports Docker containers and allows you to easily run and scale containerized applications on AWS. Ensuring the use of encryption is vital for securing your data and maintaining the integrity of your applications.
This rule has an important role in protecting sensitive data. When data is encrypted, it is transformed into an unreadable format that can only be deciphered with the correct encryption key. Therefore, even if an unauthorized party gains access to the data, they are not be able to understand it without the key. This is particularly crucial for applications that handle sensitive user data.
To comply with this rule and ensure good coding practices, you should enable encryption in your aws_ecs_task_definition
resource. This can be done by setting the transit_encryption
field to "ENABLED"
in the efs_volume_configuration
block. For example: transit_encryption = "ENABLED"
. This ensures that data in transit is always encrypted, providing an additional layer of security to your ECS applications.
resource "aws_ecs_task_definition" "mytask" {
family = "service"
container_definitions = file("task-definition.json")
volume {
name = "storage"
efs_volume_configuration {
file_system_id = aws_efs_file_system.fs.id
}
}
}
resource "aws_ecs_task_definition" "mytask" {
family = "service"
container_definitions = file("task-definition.json")
volume {
name = "storage"
efs_volume_configuration {
file_system_id = aws_efs_file_system.fs.id
transit_encryption = "DISABLED"
}
}
}
resource "aws_ecs_task_definition" "mytask" {
family = "service"
container_definitions = file("task-definition.json")
volume {
name = "storage"
efs_volume_configuration {
file_system_id = aws_efs_file_system.fs.id
transit_encryption = "ENABLED"
}
}
}