AWS 전역 조건 컨텍스트 키
AWS 전역 조건 컨텍스트 키
모든 AWS 서비스에서 쓸 수 있는 전역 조건(global condition) 컨텍스트 키의 목록을 다루는 페이지예요. aws: 접두사를 가지며, 요청 컨텍스트의 정보를 정책 조건에서 검사할 때 사용해요.
출처: 문서
본문
프린시펄이 AWS에 요청을 보내면 AWS는 요청 정보를 요청 컨텍스트(request context)로 모아요. JSON 정책의 Condition 요소를 사용해 요청 컨텍스트의 키를 정책에 지정한 키 값과 비교할 수 있어요. 요청 정보는 요청을 보내는 프린시펄, 요청 대상 리소스, 요청 자체의 메타데이터 등 다양한 출처에서 제공돼요.
전역 조건 키는 모든 AWS 서비스에서 사용할 수 있어요. 이 키들은 모든 정책에서 쓸 수 있지만, 모든 요청 컨텍스트에서 사용할 수 있는 것은 아니에요. 예를 들어 aws:SourceAccount 조건 키는 리소스 호출이 AWS 서비스 프린시펄에 의해 직접 이루어질 때만 사용할 수 있어요. 전역 키가 요청 컨텍스트에 포함되는 상황에 대한 자세한 내용은 각 키의 가용성(Availability) 정보를 참고하세요.
일부 개별 서비스는 요청 컨텍스트에서 사용할 수 있는 자체 조건 키를 만들기도 해요. 서비스별 조건 키는 각 서비스의 Service Authorization Reference에서 확인할 수 있어요.
주요 전역 조건 키
자주 쓰는 전역 조건 키는 다음과 같아요.
aws:SourceIp— 요청이 시작된 IP 주소 (String).aws:VpcSourceIp— VPC 엔드포인트를 통한 요청의 프라이빗 IP 주소 (String).aws:SourceVpc— 요청이 통과한 VPC ID (String).aws:SourceVpce— 요청이 통과한 VPC 엔드포인트 ID (String).aws:CurrentTime— 요청 시각 (Date).aws:EpochTime— 요청 시각 (epoch/UNIX 시간, Numeric).aws:SecureTransport— 요청이 SSL/TLS로 전송됐는지 (Bool).aws:PrincipalArn— 프린시펄의 ARN (ARN).aws:PrincipalAccount— 프린시펄의 계정 ID (String).aws:PrincipalOrgID— 프린시펄이 속한 조직 ID (String).aws:PrincipalOrgPaths— 프린시펄의 조직 내 경로 (String, 다중 값).aws:userid— 프린시펄의 고유 ID (String).aws:username— IAM 사용자 이름 (String).aws:MultiFactorAuthPresent— MFA 인증 여부 (Bool).aws:MultiFactorAuthAge— MFA 인증 후 경과 시간 (Numeric).aws:PrincipalTag/tag-key— 프린시펄에 연결된 태그 (String).aws:ResourceTag/tag-key— 리소스에 연결된 태그 (String).aws:RequestTag/tag-key— 요청에서 보낸 태그 (String).aws:TagKeys— 요청에 포함된 태그 키 목록 (String, 다중 값).aws:TokenIssueTime— 임시 자격 증명 발급 시각 (Date).aws:CalledVia— 요청을 전달한 체인 서비스 (String, 다중 값).aws:RequestedRegion— 요청된 리전 (String).aws:ReferenceArn— 참조되는 리소스 ARN (ARN).aws:ResourceAccount— 리소스를 소유한 계정 ID (String).aws:SourceAccount— 리소스를 호출한 계정 ID (String).
각 키의 정확한 데이터 타입, 가용성 조건, 쓸 수 있는 조건 연산자는 Service Authorization Reference와 AWS 문서의 해당 키 설명에서 확인할 수 있어요.
이 키들은 aws: 접두사를 가지는 전역 키예요. 서비스별 조건 키(예: s3: 접두사)는 각 서비스의 Service Authorization Reference를 참고하세요.