반응형
1. IAM 정책(Policy)이란?
IAM 정책은 “허용(Allow)” 또는 “거부(Deny)” 규칙을 담은 JSON 문서입니다.
즉, 누가 어떤 리소스에 어떤 행동을 할 수 있는가를 기술합니다.
AWS는 모든 리소스 접근을 정책 기반으로 제어합니다.
정책이 없으면 기본적으로 접근이 거부(Deny) 됩니다.
2. 정책의 기본 구조
IAM 정책은 다음과 같은 JSON 형식을 가집니다:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::my-bucket"
}
]
}
| 항목 | 의미 |
| Version | 정책 언어 버전 (항상 "2012-10-17" 사용) |
| Statement | 하나 이상의 권한 선언(Statement) 묶음 |
| Effect | "Allow" 또는 "Deny" |
| Action | 허용할 작업 (s3:GetObject, ec2:StartInstances 등) |
| Resource | 해당 작업이 적용될 리소스 ARN(Amazon Resource Name) |
3. 여러 작업을 허용하는 정책 예시
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}
- my-bucket의 목록 조회(ListBucket)와
내부 객체 읽기(GetObject)를 모두 허용합니다. - "*"는 버킷 안의 모든 파일을 의미합니다.
4. EC2에 대한 정책 예시
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "*"
}
]
}
- 모든 EC2 인스턴스를 시작·중지할 수 있음
- 단, 삭제(TerminateInstances)는 허용되지 않음
- Resource: "*"은 모든 EC2 리소스에 적용
5. Deny 정책(명시적 거부)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "s3:DeleteObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
“삭제만 금지하고 나머지는 허용”할 때 유용합니다.
AWS는 명시적 Deny가 항상 최우선으로 적용됩니다.
6. 정책 연결 방법
정책을 만든 후에는 다음 3가지 중 한 곳에 연결할 수 있습니다:
| 대상 | 설명 |
| 사용자(User) | 개별 사용자에게 직접 부여 |
| 그룹(Group) | 여러 사용자에게 동일 정책 적용 |
| 역할(Role) | EC2, Lambda, ECS 등 서비스에 부여 |
7. AWS에서 정책 작성하기
- AWS Management Console → IAM → Policies → Create Policy
- JSON 탭 선택 후 위 예시처럼 정책 입력
- Review and Create Policy 클릭
- 정책 이름 예: S3ReadOnlyPolicy
- 생성 후 User/Group/Role에 Attach(연결)
8. 실무 팁
- ReadOnlyAccess, AdministratorAccess 등 AWS에서 제공하는 기본 정책을 먼저 참고하세요.
- 사용자 정의 정책(Custom Policy)은 필요할 때만 작성합니다.
- 정책 테스트는 IAM Policy Simulator로 가능 → https://policysim.aws.amazon.com
9. 한 줄 요약
IAM 정책은 AWS 보안의 설계도입니다.
누가, 무엇을, 어디서, 어떻게 할 수 있는지를 JSON으로 정의합니다.
'유틸리티 > Cloud' 카테고리의 다른 글
| AWS의 IAM(Identity and Access Management) (0) | 2025.10.10 |
|---|---|
| [버추얼박스] 무인 설치(Unattended Installation) (2) | 2025.08.17 |
| Oracle VirtualBox 관리자 화면의 기본 사용법 (1) | 2025.08.17 |