AWS 리소스 접근 관리
AWS 리소스 접근 관리 (Access management for AWS resources)
AWS는 **리소스 접근 관리(Access management)**의 일부로 IAM을 제공해요. IAM 사용자·역할·그룹에 문서나 도구 없이, 코드 기반으로 권한을 부여하는 방법을 알고 싶다면 IAM을 살펴볼 곳이에요. 아래에서 IAM이 권한을 정의하는 방식과, AWS에서 접근을 제어하는 정책의 핵심 개념을 설명할게요.
출처: 문서
본문
IAM에서 **권한(permissions)**은 어떤 주체(principal)가 어떤 리소스에 대해 어떤 작업을 할 수 있는지를 나타내는 정책(policy)으로 표현해요. AWS는 정책을 평가해서 요청을 허용할지 거부할지를 결정해요. 이 과정을 **정책 평가 로직(policy evaluation logic)**이라고 해요.
권한을 부여하는 주체
- 사용자(User) — 한 사람이나 애플리케이션을 나타내는 장기 자격 증명을 가진 아이덴티티예요.
- 역할(Role) — 임시 자격 증명을 받아들이는 아이덴티티예요. 사용자·애플리케이션·서비스가 역할을 수임해 그 역할에 부여된 권한을 사용할 수 있어요.
- 그룹(Group) — 사용자들의 모음이에요. 그룹에 권한을 부여하면 그룹의 모든 사용자에게 적용돼요.
정책의 종류
- 아이덴티티 기반 정책(Identity-based policies) — 사용자·역할·그룹에 연결되어 그 주체가 무엇을 할 수 있는지를 정의해요.
- 리소스 기반 정책(Resource-based policies) — 리소스에 연결되어 누가 그 리소스에 접근할 수 있는지를 정의해요.
- 경계 권한(Permissions boundaries) — 아이덴티티 기반 정책이 부여할 수 있는 최대 권한을 설정해요.
- 세션 정책(Session policies) — 역할 수임 등으로 임시 세션을 만들 때 전달해 세션의 권한을 제한해요.
- 조직 SCP(Service control policies) — AWS Organizations에서 계정 단위로 권한을 제한해요.
권한이 평가되는 방식
AWS는 정책들을 조합해 **실효 권한(effective permissions)**을 계산해요. 기본 원칙은 명시적 거부(Deny)가 명시적 허용(Allow)을 덮는다는 거예요. 어떤 주체가 작업을 하려면 그 작업을 허용하는 정책이 있어야 하고, 거부하는 정책이 없어야 해요.
접근을 제어하는 주요 요소
- Action — 수행할 작업(예:
s3:ListBucket) - Resource — 작업이 적용되는 리소스(예:
arn:aws:s3:::my-bucket) - Condition — 요청 컨텍스트(예: IP, 태그, 시간)를 기준으로 추가 제약을 거는 조건 키
- Principal — 리소스 기반 정책에서 접근을 허용·거부할 주체
이 페이지는 IAM 권한 관리의 개요이고, 다음 주제들에서 각 영역을 자세히 다뤄요.
더 알아보기 (Learn more)
- 정책과 권한 — IAM 권한 모델의 핵심을 확인해 보세요.
- 아이덴티티 기반 정책과 리소스 기반 정책 — 두 정책 유형의 차이를 살펴보세요.
- 정책 평가 로직 — AWS가 권한을 결정하는 방식을 참고하세요.