설명
버전 관리 버킷의 MFA Delete는 객체 버전의 영구 삭제와 버전 관리 상태 변경에 추가 인증을 요구합니다. 이를 사용하지 않으면 해당 권한을 가진 주체가 MFA 확인 없이 그 작업을 수행할 수 있습니다. 일반적인 객체 삭제 요청 모두에 MFA를 요구하는 기능은 아닙니다.
잠재적 영향
- 탈취된 권한이나 운영 실수로 복구에 필요한 객체 버전이 영구 삭제될 수 있습니다.
- 버전 관리만으로 모든 버전의 삭제를 막을 수는 없습니다.
해결 방법
데이터 보존 요구에 따라 MFA Delete 도입을 검토하세요. 활성화는 버킷 소유 계정의 루트 사용자가 MFA 장치를 사용해 AWS CLI 또는 API로 수행해야 합니다. 실제 활성화 상태를 확인하고 루트 접근을 엄격히 관리하세요. MFA Delete는 S3 수명 주기 구성과 함께 사용할 수 없습니다.
예시
AWS provider 3.75.2의 기존 인라인 버전 관리 구문입니다. 이 버전의 mfa_delete는 AWS의 실제 상태를 반영하며, Terraform에서 값을 바꾸는 것만으로 MFA Delete를 활성화하지는 않습니다.
변경 전
hcl
resource "aws_s3_bucket" "example" {
bucket = "my-tf-test-bucket"
acl = "private"
versioning {
enabled = true
}
}
변경 후
hcl
resource "aws_s3_bucket" "example" {
bucket = "my-tf-test-bucket"
acl = "private"
versioning {
enabled = true
mfa_delete = true
}
}
변경 후 예시는 AWS에서 별도로 활성화한 MFA Delete 상태를 선언합니다. 적용 전에 버전 관리와 실제 MFA Delete 상태를 확인하세요.