기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
주요 Amazon SNS 액세스 정책 개념
다음 섹션에서는 액세스 정책 언어를 사용하기 위해 알아두어야 할 개념을 설명합니다. 이 개념들은 논리적 순서대로 제시됩니다. 즉 가장 먼저 알아야 할 용어가 목록의 맨 위에 있습니다.
권한
권한(permission)은 특정 리소스에 대해 어떤 종류의 액세스를 허용하거나 허용하지 않는 개념입니다. 기본적으로 권한은 "D에 해당된다면 A는 C에게 B를 할 수 있다/없다"의 형식을 띱니다. 예를 들어 Jane(A)은 프로토콜(D)을 사용하는 한 TopicA(C)에 (B)를 게시할 수 있는 권한이 있습니다. HTTP Jane이 TopicA에 게시할 때마다 서비스에서는 그녀에게 권한이 있는지 그리고 그 요청이 권한에 설정된 조건을 충족하는지 확인합니다.
문
문(statement)은 단일 권한에 대한 공식적인 설명이며 액세스 정책 언어로 작성됩니다. 설명은 항상 정책(다음 개념 설명 참조)이라고 부르는 더 광범위한 컨테이너 문서의 일부로 작성합니다.
정책
정책(policy)은 하나 이상의 문에 대한 컨테이너의 역할을 수행하는 문서(액세스 정책 언어에서 작성됨)입니다. 예를 들어, 하나의 정책이 2개의 설명을 포함할 수 있습니다. 그중 하나는 Jane이 이메일 프로토콜을 사용하여 구독할 수 있다고, 다른 하나는 Bob이 Topic A에 게시할 수 없다고 규정합니다. 다음 그림에서 보여 주는 것처럼, 상응하는 시나리오는 2개의 정책을 갖습니다. 하나는 Jane이 이메일 프로토콜을 사용하여 구독할 수 있다고, 다른 하나는 Bob이 Topic A에 게시할 수 없다고 규정합니다.
정책 문서에는 ASCII 문자만 허용됩니다. aws:SourceAccount
및 aws:SourceOwner
를 사용하여 문자ASCII가 아닌 다른 AWS 서비스를 연결해야 ARNs 하는 시나리오를 해결할 수 있습니다. aws:SourceAccount과 aws:SourceOwner 비교 간 차이점을 참조하세요.
Issuer
발행자(issuer)는 리소스에 대한 권한을 부여하기 위해 정책을 작성하는 사람입니다. 발급자(정의 기준)는 항상 리소스 소유자입니다. AWS 는 AWS 서비스 사용자가 소유하지 않은 리소스에 대한 정책을 생성하는 것을 허용하지 않습니다. John이 리소스 소유자인 경우 해당 리소스에 대한 권한을 부여하기 위해 작성한 정책을 제출할 때 John의 자격 증명을 AWS 인증합니다.
보안 주체
보안 주체는 정책에 따라 권한을 받는 사람입니다. 보안 주체는 "A는 D가 적용되는 경우 B에게 B를 할 수 있는 권한이 있습니다."라는 명령문에서 A입니다. 책에서 보안 주체를 "모든 사람"으로 설정할 수 있습니다. 즉, 모든 사람을 나타내는 와일드카드를 지정할 수 있습니다. 예를 들어, 요청자의 신원이 아닌, 요청자의 IP 주소와 같은 다른 식별 특성에 따라 액세스를 제한하려는 경우 이와 같이 할 수 있습니다.
작업
작업은 보안 주체가 수행할 수 있는 권한이 있는 작업입니다. "D에 해당된다면 A는 C에게 B를 할 수 있다" 설명에서 작업은 B입니다. 일반적으로 작업은 에 대한 요청의 작업일 뿐입니다 AWS. 예를 들어 Jane은 SNS를 사용하여 Amazon에 요청을 보냅니다Action
=Subscribe
. 하나의 정책에 하나 이상의 작업을 지정할 수 있습니다.
Resource
리소스는 보안 주체가 액세스를 요청하는 개체입니다. "D에 해당된다면 A는 C에게 B를 할 수 있다" 설명에서 리소스는 C입니다.
조건과 키
조건(conditions)은 권한에 대한 제한 또는 세부 정보입니다. "D에 해당된다면 A는 C에게 B를 할 수 있다" 설명에서 조건은 D입니다. 정책에서 조건을 지정하는 부분이 가장 세부적이고 복잡할 수 있습니다. 일반적인 조건은 다음 항목과 관련 있습니다.
-
날짜와 시간(예: 요청이 특정 일보다 먼저 도착해야 함)
-
IP 주소(예: 요청자의 IP 주소는 특정 CIDR 범위에 속해야 함)
키는 액세스 제한의 기준이 되는 구체적 특성입니다. 이를테면 요청의 날짜와 시간이 키가 될 수 있습니다.
조건과 키를 함께 사용하여 제한을 표현합니다. 실제로 제한을 구현하는 방식은 예시를 통해 가장 쉽게 이해할 수 있습니다. 2010년 5월 30일 이전으로 액세스를 제한하려는 경우 DateLessThan
이라는 조건을 사용합니다. 호출된 키 aws:CurrentTime
을 사용하여 값 2010-05-30T00:00:00Z
로 설정합니다. AWS 에서는 사용할 수 있는 조건과 키를 정의합니다. AWS 서비스 자체(예: Amazon SQS 또는 Amazon SNS)는 서비스별 키를 정의할 수도 있습니다. 자세한 내용은 Amazon SNS API 권한: 작업 및 리소스 참조 단원을 참조하십시오.
요청자
요청자(requester)(requester)는 AWS 서비스에 요청을 보내 특정 리소스에 대한 액세스 권한을 원하는 사람입니다. 요청자는 AWS 에 "D에 해당된다면 내가 C에게 B를 하는 것을 허락해달라"는 의미의 요청을 보냅니다.
평가
평가는 AWS 서비스가 해당 정책에 따라 수신 요청을 거부하거나 허용해야 하는지 여부를 결정하는 데 사용하는 프로세스입니다. 평가 로직에 대한 자세한 내용은 평가 로직에서 확인하세요.
Effect
효과(effect)는 정책 설명에서 평가 시점에 반환해야 할 결과입니다. 정책 설명을 작성할 때 이 값을 지정하며, 가능한 값은 거부(deny)와 허용(allow)입니다.
예를 들어, 남극 대륙에서 보내는 모든 요청을 거부하는 정책 설명을 작성할 수 있습니다(효과=요청에서 남극 대륙에 할당된 IP 주소를 사용할 경우 거부). 또는 남극 대륙에서 보내지 않은 모든 요청을 허용하라는 정책 설명을 작성할 수 있습니다(효과=남극 대륙에서 보내지 않은 요청이면 허용). 두 설명이 동일한 기능을 할 것처럼 보이지만 액세스 정책 언어 로직에서는 서로 다릅니다. 자세한 내용은 평가 로직 단원을 참조하십시오.
효과에 대해 지정할 수 있는 값이 2개뿐이지만(허용 또는 거부) 정책 평가 시점에는 서로 다른 3가지 결과가 나올 수 있습니다. 기본 거부, 허용 또는 명시적 거부입니다. 자세한 정보는 다음 개념과 평가 로직에서 확인하세요.
기본 거부
기본 거부(default deny)는 허용 또는 명시적 거부가 없는 정책의 기본 결과입니다.
허용
허용(allow)은 효과=기술된 모든 조건을 충족할 경우 허용인 설명의 결과입니다. 예: 2010년 4월 30일 오후 1:00 이전에 수신된 요청이면 허용. 허용은 모든 기본 거부를 무시하지만 명시적 거부는 무시하지 않습니다.
명시적 거부
명시적 거부(explicit deny)는 효과=기술된 모든 조건을 충족할 경우 거부인 설명의 결과입니다. 예: 남극 대륙에서 보낸 모든 요청 거부. 남극 대륙에서 보낸 모든 요청은 다른 어떤 정책에서 허용하더라도 항상 거부됩니다.