AWS Config 규칙 s3-bucket-ssl-requests-only를 준수하기 위해 사용할 수 있는 S3 버킷 정책은 무엇입니까?

2분 분량
0

Amazon Simple Storage Service(S3) 버킷 정책에 대해 데이터 전송 중에 암호화를 요구하도록 AWS Config 규칙 “s3-bucket-ssl-requests only”를 활성화했습니다. 내 버킷 정책이 이 규칙을 준수하는지 확인하고 싶습니다.

해결 방법

참고: Amazon S3는 전송 중 암호화와 저장 중 암호화를 제공합니다. 전송 중 암호화는 HTTPS를 의미하고, 저장 중 암호화는 클라이언트 측 또는 서버 측 암호화를 의미합니다.

Amazon S3는 HTTP 요청과 HTTPS 요청을 모두 허용합니다. 기본적으로 Amazon S3는 AWS Management Console, AWS Command Line Interface(AWS CLI) 또는 HTTPS를 통해 요청을 보냅니다.

s3-bucket-ssl-requests-only 규칙을 준수하려면 버킷 정책이 HTTP 요청에 대한 액세스를 명시적으로 거부하는지 확인하세요. HTTPS 요청을 허용하지만 HTTP 요청을 명시적으로 거부하지 않는 버킷 정책은 규칙을 준수하지 않을 수 있습니다.

버킷 정책에서 HTTP 또는 HTTPS 요청을 결정하려면 "aws:SecureTransport" 키를 확인하는 조건을 사용하세요. 이 키가 true인 경우 Amazon S3는 HTTPS를 통해 요청을 보냅니다. s3-bucket-ssl-requests-only 규칙을 준수하려면 요청이 "aws:SecureTransport": "false" 조건을 충족할 경우 액세스를 명시적으로 거부하는 버킷 정책을 생성하세요. 이 정책은 HTTP 요청에 대한 액세스를 명시적으로 거부합니다.

s3-bucket-ssl-requests-only 규칙을 준수하는 버킷 정책

이 예시 버킷 정책은 s3-bucket-ssl-requests-only 규칙을 준수합니다. 이 정책은 요청이 "aws:SecureTransport": "false" 조건을 충족하는 경우 버킷 및 객체에 대한 모든 작업을 명시적으로 거부합니다.

{
  "Id": "ExamplePolicy",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowSSLRequestsOnly",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      },
      "Principal": "*"
    }
  ]
}

s3-bucket-ssl-requests-only 규칙을 준수하지 않는 버킷 정책

이 버킷 정책은 s3-bucket-ssl-requests-only 규칙을 준수하지 않습니다. 이 정책은 명시적인 거부 설명 대신 "aws:SecureTransport": "true" 조건을 충족하는 요청에 대한 액세스를 허용합니다. 이 명령문은 요청이 HTTPS를 사용하는 경우 버킷의 모든 객체에 대해 s3:GetObject에 대한 익명 액세스를 허용합니다. 사용 사례에 HTTPS를 통한 익명 액세스가 필요한 경우가 아니라면 이러한 유형의 버킷 정책은 사용하지 마세요.

{
  "Id": "ExamplePolicy",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "NOT-RECOMMENDED-FOR__AWSCONFIG-Rule_s3-bucket-ssl-requests-only",
      "Action": "s3:GetObject",
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "true"
        }
      },
      "Principal": "*"
    }
  ]
}

관련 정보

버킷 정책을 사용하고 심층 방어를 적용하여 Amazon S3 데이터를 보호하는 방법

AWS 공식
AWS 공식업데이트됨 9달 전