EFS 파일 시스템 정책의 접근 권한 점검

파일 시스템을 사용할 주체와 필요한 클라이언트 작업만 허용하세요.

설명

EFS 파일 시스템 정책의 권한이 지나치게 넓으면 불필요한 클라이언트가 파일을 읽거나 쓸 수 있습니다. 실제 접근에는 마운트 대상까지의 네트워크 연결, IAM 권한과 파일 권한도 적용됩니다.

파일 시스템 정책의 허용만 줄여도 다른 IAM 정책의 허용은 남을 수 있으므로 함께 검토하세요.

잠재적 영향

  • 불필요한 읽기 권한은 파일 내용의 유출로 이어질 수 있습니다.
  • 쓰기나 루트 접근 권한의 오용은 파일 변조·삭제와 서비스 장애를 일으킬 수 있습니다.

해결 방법

  • 승인된 주체에 필요한 ClientMount, ClientWrite, ClientRootAccess 작업만 허용하세요.
  • IAM 인가를 사용하는 EFS 마운트 도우미와 TLS를 구성하고, 필요하면 Access Point로 접근 범위를 제한하세요.
  • 보안 그룹과 파일 권한 및 다른 IAM 허용을 함께 확인하고 정상 접근은 유지되며 불필요한 접근은 거부되는지 시험하세요.

예시

같은 파일 시스템 정책을 변경하는 발췌입니다. 참조 파일 시스템을 별도로 정의하고 예시 사용자 ARN을 실제 승인된 주체로 바꾸세요.

변경 전

hcl
resource "aws_efs_file_system_policy" "example" {
  file_system_id = aws_efs_file_system.fs.id

  policy = <<POLICY
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Resource": "${aws_efs_file_system.fs.arn}",
      "Action": [
        "elasticfilesystem:*"
      ]
    }
  ]
}
POLICY
}

파일 시스템에 모든 AWS 주체와 광범위한 클라이언트 작업을 허용합니다. 실제 네트워크 연결과 파일 권한도 접근에 영향을 줍니다.

변경 후

hcl
resource "aws_efs_file_system_policy" "example" {
  file_system_id = aws_efs_file_system.fs.id

  policy = <<POLICY
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:user/Carlos"
      },
      "Resource": "${aws_efs_file_system.fs.arn}",
      "Action": [
        "elasticfilesystem:ClientMount",
        "elasticfilesystem:ClientWrite"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "true"
        }
      }
    }
  ]
}
POLICY
}

이 허용문은 지정한 사용자에게 TLS 연결의 마운트·쓰기 권한을 부여합니다. 다른 정책의 허용까지 제거하는 설정은 아닙니다.

참조