요청의 구성 요소
요청의 구성 요소 (Request context)
AWS 요청을 구성하는 요소와 요청 컨텍스트가 무엇인지 설명하는 페이지예요. 프린시펄, 동작, 리소스, 조건(컨텍스트)이라는 네 가지 구성 요소가 정책 평가에 들어가요.
출처: 문서
본문
AWS에 보내는 모든 요청에는 다음 구성 요소가 포함돼요.
- Principal(프린시펄) — 요청을 보내는 주체예요. IAM 사용자, 역할, 서비스 프린시펄, 페더레이션 사용자 등이 될 수 있어요.
- Action(동작) — 요청이 수행하려는 작업이에요.
s3:GetObject,ec2:RunInstances같은 형식이에요. - Resource(리소스) — 동작이 적용되는 대상 리소스예요. ARN으로 식별돼요.
- Context(컨텍스트 / 조건) — 요청에 대한 추가 정보로, 시간, IP 주소, 프린시펄 속성, 리소스 태그 같은 것이에요.
AWS가 요청을 받으면 이런 정보를 **요청 컨텍스트(request context)**로 모아요. 정책 평가는 정책에 정의된 속성(예: Condition 요소의 컨텍스트 키)을 요청 컨텍스트의 속성과 대조해서 요청을 허용하거나 거부해요.
예를 들어 정책의 Condition 요소에 aws:SourceIp 컨텍스트 키가 있다면 AWS는 요청 컨텍스트에서 실제 요청 IP를 가져와 비교해요.
요청 컨텍스트에 포함되는 주요 정보 항목은 다음과 같아요.
- 프린시펄 정보 —
aws:PrincipalArn,aws:PrincipalAccount,aws:userId,aws:PrincipalTag/... - 리소스 정보 —
aws:ResourceAccount,aws:ResourceTag/... - 요청 메타데이터 —
aws:SourceIp,aws:SourceVpc,aws:CurrentTime,aws:EpochTime,aws:MultiFactorAuthPresent등
컨텍스트 키 전체 목록은 AWS 전역 조건 컨텍스트 키와 IAM 및 AWS STS 조건 컨텍스트 키를 참고하세요.