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

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

주요 Amazon SNS 액세스 정책 개념

다음 섹션에서는 액세스 정책 언어를 사용하기 위해 알아두어야 할 개념을 설명합니다. 이 개념들은 논리적 순서대로 제시됩니다. 즉 가장 먼저 알아야 할 용어가 목록의 맨 위에 있습니다.

권한

권한(permission)은 특정 리소스에 대해 어떤 종류의 액세스를 허용하거나 허용하지 않는 개념입니다. 기본적으로 권한은 "D에 해당된다면 A는 C에게 B를 할 수 있다/없다"의 형식을 띱니다. 예를 들어 Jane (A) 은 프로토콜 (D) 을 사용하는 HTTP 한 Topica (C) 에 (B) 를 게시할 권한이 있습니다. Jane이 TopicA에 게시할 때마다 서비스에서는 그녀에게 권한이 있는지 그리고 그 요청이 권한에 설정된 조건을 충족하는지 확인합니다.

문(statement)은 단일 권한에 대한 공식적인 설명이며 액세스 정책 언어로 작성됩니다. 설명은 항상 정책(다음 개념 설명 참조)이라고 부르는 더 광범위한 컨테이너 문서의 일부로 작성합니다.

정책

정책(policy)은 하나 이상의 문에 대한 컨테이너의 역할을 수행하는 문서(액세스 정책 언어에서 작성됨)입니다. 예를 들어, 하나의 정책이 2개의 설명을 포함할 수 있습니다. 그중 하나는 Jane이 이메일 프로토콜을 사용하여 구독할 수 있다고, 다른 하나는 Bob이 Topic A에 게시할 수 없다고 규정합니다. 다음 그림에서 보여 주는 것처럼, 상응하는 시나리오는 2개의 정책을 갖습니다. 하나는 Jane이 이메일 프로토콜을 사용하여 구독할 수 있다고, 다른 하나는 Bob이 Topic A에 게시할 수 없다고 규정합니다.

SNSAmazon에서 정책 설명을 구성하는 두 가지 방법을 비교합니다. 왼쪽에는 단일 정책 (정책 A) 에 두 개의 설명이 포함되어 있습니다. 오른쪽에는 동일한 두 명령문이 두 정책으로 분할되어 있으며, 각 정책에는 한 개의 명령문이 포함되어 있습니다. 이 다이어그램은 권한을 정의하고 적용하는 방식 측면에서 이 두 가지 접근 방식이 동일하다는 것을 보여줍니다.

정책 문서에는 ASCII 문자만 사용할 수 있습니다. -가 아닌 ASCII 문자를 포함하는 다른 AWS 서비스를 ARNs 플러그인해야 하는 시나리오를 활용하여 aws:SourceAccount 해결할 수 있습니다. aws:SourceOwner aws:SourceAccount과 aws:SourceOwner 비교 간 차이점을 참조하세요.

Issuer

발행자(issuer)는 리소스에 대한 권한을 부여하기 위해 정책을 작성하는 사람입니다. 발행자 (정의상) 는 항상 리소스 소유자입니다. AWS AWS 서비스 사용자가 자신이 소유하지 않은 리소스에 대한 정책을 만들 수 없습니다. John이 리소스 소유자인 경우 John이 해당 리소스에 대한 권한을 부여하기 위해 작성한 정책을 제출할 때 John의 ID를 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 또는 AmazonSNS) 에서도 서비스별 키를 정의할 수 있습니다. 자세한 내용은 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)는 효과=기술된 모든 조건을 충족할 경우 거부인 설명의 결과입니다. 예: 남극 대륙에서 보낸 모든 요청 거부. 남극 대륙에서 보낸 모든 요청은 다른 어떤 정책에서 허용하더라도 항상 거부됩니다.