주요 Amazon SNS 액세스 정책 개념 - Amazon Simple Notification Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

주요 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에 게시할 수 없다고 규정합니다.

Amazon 에서 정책 문을 구성하는 두 가지 방법을 비교합니다SNS. 왼쪽에는 단일 정책(정책 A)에 두 개의 문이 포함되어 있습니다. 오른쪽에는 동일한 두 문이 두 정책으로 나뉘며 각 정책에는 하나의 문이 포함됩니다. 다이어그램은 이러한 두 접근 방식이 권한을 정의하고 적용하는 방식과 동등하다는 것을 보여줍니다.

정책 문서에는 ASCII 문자만 허용됩니다. aws:SourceAccountaws: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)는 효과=기술된 모든 조건을 충족할 경우 거부인 설명의 결과입니다. 예: 남극 대륙에서 보낸 모든 요청 거부. 남극 대륙에서 보낸 모든 요청은 다른 어떤 정책에서 허용하더라도 항상 거부됩니다.