서버의 역할에 따라 EFS에 대한 접근 권한을 다르게 설정하는 보안 강화 시나리오입니다.
**EFS 활용**: 모든 서버가 같은 EFS를 마운트하지만, 내부 파일에 대한 **권한**이 다릅니다.
**관리용 EC2**: 파일을 생성하고 수정할 수 있는 `ClientWrite` 권한을 포함한 IAM 정책을 부여합니다.
**서비스용 EC2**: 오직 파일 읽기만 가능한 `ClientMount` 권한만 부여하여, 서비스 서버가 해킹당하더라도 공유 저장소의 원본 파일이 변조되지 않도록 방어합니다.
**EFS 정책**: EFS 리소스 정책(File System Policy)에서 특정 IAM Role ARN을 체크하여 쓰기 권한을 차단합니다.
특정 서버는 파일 수정을 허용하고, 나머지 서버는 읽기만 가능하게 하여 Fine-grained IAM policy와 연동하는 방식입니다.
[서비스 서버용 - Read Only 버전]
#!/bin/bash
yum update -y
yum install -y amazon-efs-utils
mkdir -p /mnt/readonly_data
# 마운트 옵션에 'ro' (Read-Only) 추가
mount -t efs -o tls,ro <EFS_ID>:/ /mnt/readonly_data
# 재부팅 설정에도 'ro' 반영
echo "<EFS_ID>:/ /mnt/readonly_data efs _netdev,tls,ro 0 0" >> /etc/fstab
# IAM 정책에서 ClientWrite 권한이 없더라도, OS 레벨에서 한 번 더 차단하는 효과