S3 bucket allows public ACL 이 페이지는 아직 한국어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우
언제든지 연락주시기 바랍니다. Id: terraform-aws-s3-bucket-allows-public-acl
Provider: AWS
Platform: Terraform
Severity: Medium
Category: Access Control
Learn More Description Allowing public ACLs on an S3 bucket (block_public_acls = false) in Terraform configurations can expose the bucket and its contents to unauthorized public access, increasing the risk of data leakage or compromise. When public ACLs are permitted, anyone on the internet may be able to read from or write to the bucket, depending on the ACL applied. To mitigate this risk, the block_public_acls attribute should be set to true in the aws_s3_bucket_public_access_block resource, ensuring that public access via ACLs is blocked by default.
Compliant Code Examples resource "aws_s3_bucket" "negative1" {
bucket = "example"
}
resource "aws_s3_bucket_public_access_block" "negative2" {
bucket = aws_s3_bucket . example . id
block_public_acls = true
block_public_policy = true
ignore_public_acls = false
}
module "s3_bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
version = "3.7.0"
bucket = "my-s3-bucket"
acl = "private"
restrict_public_buckets = true
block_public_acls = true
versioning = {
enabled = true
}
policy = < < POLICY
{
"Version" : "2012-10-17" ,
"Id" : "MYBUCKETPOLICY" ,
"Statement" : [
{
"Sid" : "IPAllow" ,
"Effect" : "Deny" ,
"Action" : "s3:*" ,
"Resource" : "arn:aws:s3:::my_tf_test_bucket/*" ,
"Condition" : {
"IpAddress" : { "aws:SourceIp" : "8.8.8.8/32" }
}
}
]
}
POLICY
}
Non-Compliant Code Examples resource "aws_s3_bucket" "positive1" {
bucket = "example"
}
resource "aws_s3_bucket_public_access_block" "positive2" {
bucket = aws_s3_bucket . example . id
block_public_acls = false
block_public_policy = true
ignore_public_acls = false
}
// comment
// comment
// comment
// comment
// comment
resource "aws_s3_bucket_public_access_block" "positive3" {
bucket = aws_s3_bucket . example . id
block_public_policy = true
ignore_public_acls = false
}
module "s3_bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
version = "3.7.0"
bucket = "my-s3-bucket"
acl = "private"
restrict_public_buckets = true
block_public_acls = false
versioning = {
enabled = true
}
policy = < < POLICY
{
"Version" : "2012-10-17" ,
"Id" : "MYBUCKETPOLICY" ,
"Statement" : [
{
"Sid" : "IPAllow" ,
"Effect" : "Deny" ,
"Action" : "s3:*" ,
"Resource" : "arn:aws:s3:::my_tf_test_bucket/*" ,
"Condition" : {
"IpAddress" : { "aws:SourceIp" : "8.8.8.8/32" }
}
}
]
}
POLICY
}
module "s3_bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
version = "3.7.0"
bucket = "my-s3-bucket"
acl = "private"
restrict_public_buckets = true
versioning = {
enabled = true
}
policy = < < POLICY
{
"Version" : "2012-10-17" ,
"Id" : "MYBUCKETPOLICY" ,
"Statement" : [
{
"Sid" : "IPAllow" ,
"Effect" : "Deny" ,
"Action" : "s3:*" ,
"Resource" : "arn:aws:s3:::my_tf_test_bucket/*" ,
"Condition" : {
"IpAddress" : { "aws:SourceIp" : "8.8.8.8/32" }
}
}
]
}
POLICY
}