| 서비스 분류 | 권한 (Action) | 대상 리소스 (Resource ARN) | 핵심 기능 및 요구사항 반영 |
|---|---|---|---|
| S3 (소스 관리) | s3:GetObject |
||
s3:ListBucket |
arn:aws:s3:::<소스-버킷-명> |
||
arn:aws:s3:::<소스-버킷-명>/* |
애플리케이션 배포: User Data 실행 시 S3에서 main.py 및 실행 파일을 안전하게 다운로드. |
||
| Secrets Manager | secretsmanager:GetSecretValue |
arn:aws:secretsmanager:ap-northeast-2:<계정ID>:secret:/secret/db-* |
DB 접속 보안: 하드코딩 없이 /secret/db 시크릿을 조회하여 RDS 연결. |
| KMS (데이터 보호) | kms:Decrypt |
||
kms:DescribeKey |
|||
kms:GenerateDataKey |
1. RDS용 KMS 키 ARN | ||
| 2. 로그용 KMS 키 ARN | 암호화 준수: Secrets Manager의 DB 정보 복호화 및 CloudWatch 로그 암호화 전송. | ||
| CloudWatch Logs | logs:CreateLogStream |
||
logs:PutLogEvents |
|||
logs:DescribeLogStreams |
arn:aws:logs:ap-northeast-2:<계정ID>:log-group:<로그그룹명>:* |
중앙 집중 로깅: ASG 인스턴스 교체와 상관없이 실시간으로 액세스/에러 로그 전송. | |
| CloudWatch Agent | (관리형 정책 연결) | arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy |
에이전트 구동: EC2 시스템 지표 및 로그 수집 에이전트의 기본 동작 보장. |
| 서비스 분류 | 권한 (Action) | 대상 리소스 (Resource ARN) | 핵심 기능 및 요구사항 반영 |
|---|---|---|---|
| S3 | |||
| (소스 및 데이터 관리) | s3:GetObject |
||
s3:PutObject |
|||
s3:ListBucket |
arn:aws:s3:::<소스-버킷-명> |
||
arn:aws:s3:::<소스-버킷-명>/* |
애플리케이션 배포 및 데이터 연동: User Data 실행 시 S3에서 소스 코드(main.py 등)를 다운로드하거나, 작업 결과를 업로드. |
||
| Secrets Manager | |||
| (DB 자격 증명) | secretsmanager:GetSecretValue |
arn:aws:secretsmanager:<리전>:<계정ID>:secret:/secret/db-* |
DB 접속 보안: 소스 코드에 하드코딩 없이 안전하게 RDS 접속용 시크릿(아이디/패스워드)을 조회하여 연결. |
| KMS | |||
| (데이터 보호) | kms:Decrypt |
||
kms:DescribeKey |
|||
kms:GenerateDataKey* |
|||
kms:Encrypt |
1. <RDS용 KMS 키 ARN> |
<로그용 KMS 키 ARN> | 암호화 준수: Secrets Manager의 DB 정보 복호화, RDS 스토리지 암호화 처리 및 CloudWatch 로그 암호화 전송. |
| CloudWatch Logs
(애플리케이션 로그) | logs:CreateLogGroup
logs:CreateLogStream
logs:PutLogEvents
logs:DescribeLogStreams | arn:aws:logs:<리전>:<계정ID>:log-group:<로그그룹명>:* | 중앙 집중 로깅: ASG 인스턴스 교체와 상관없이 실시간으로 애플리케이션 액세스 및 에러 로그 전송. |
| CloudWatch Agent
(인스턴스 모니터링) | (관리형 정책 연결) | arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy | 에이전트 구동: EC2 시스템 지표(메모리, 디스크 등) 및 로그 수집 에이전트의 기본 동작 보장. |
| RDS
(데이터베이스 연결) | rds-db:connect
rds:DescribeDBInstances | arn:aws:rds-db:<리전>:<계정ID>:dbuser:<DB-리소스-ID>/<DB-유저명>
(또는 *) | DB 접속 권한: IAM 데이터베이스 인증 사용 시 패스워드 없이 토큰 기반으로 안전하게 RDS에 연결. (Secrets Manager 방식 사용 시 생략 가능) |