

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

# Amazon Managed Service for Prometheus에 Amazon SNS 주제로 알림 메시지를 전송할 수 있는 권한 부여
<a name="AMP-alertmanager-receiver-AMPpermission"></a>

Amazon Managed Service for Prometheus에 Amazon SNS 주제로 메시지를 전송할 수 있는 권한을 부여해야 합니다. 다음 정책 문은 해당 권한을 부여합니다. 여기에는 *혼동된 대리자* 문제라고 하는 보안 문제를 방지하는 데 도움이 되는 `Condition` 문이 포함되어 있습니다. 이 `Condition` 문은 Amazon SNS 주제에 대한 액세스를 제한하여 이 특정 계정 및 Amazon Managed Service for Prometheus 워크스페이스에서 발생하는 작업만 허용하도록 합니다. 혼동된 대리자 문제에 대한 자세한 내용은 [교차 서비스 혼동된 대리인 방지](#cross-service-confused-deputy-prevention)를 참조하세요.

**Amazon Managed Service for Prometheus에 Amazon SNS 주제에 메시지를 전송할 수 있는 권한을 부여하려면**

1. [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)에서 Amazon SNS 콘솔을 엽니다.

1. 탐색 창에서 **주제**를 선택합니다.

1. Amazon Managed Service for Prometheus에서 사용하는 주제의 이름을 선택합니다.

1. **편집**을 선택합니다.

1. **액세스 정책**을 선택하고 기존 정책에 다음 정책 문을 추가합니다.

   ```
   {
       "Sid": "Allow_Publish_Alarms",
       "Effect": "Allow",
       "Principal": {
           "Service": "aps.amazonaws.com"
       },
       "Action": [
           "sns:Publish",
           "sns:GetTopicAttributes"
       ],
       "Condition": {
           "ArnEquals": {
               "aws:SourceArn": "workspace_ARN"
           },
           "StringEquals": {
               "AWS:SourceAccount": "account_id"
           }
       },
       "Resource": "arn:aws:sns:region:account_id:topic_name"
   }
   ```

   [선택 사항] Amazon SNS 주제가 서비스 측 암호화(SSE)를 활성화한 경우 주제를 암호화하는 데 사용되는 키의 AWS KMS 키 정책에 `kms:GenerateDataKey*` 및 `kms:Decrypt` 권한을 추가하여 Amazon Managed Service for Prometheus가이 암호화된 주제에 메시지를 보내도록 허용해야 합니다.

   예를 들어 정책에 다음을 추가할 수 있습니다.

   ```
   {
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "Service": "aps.amazonaws.com"
       },
       "Action": [
         "kms:GenerateDataKey*",
         "kms:Decrypt"
       ],
       "Resource": "*"
     }]
   }
   ```

   자세한 내용을 알아보려면 [SNS 주제에 대한AWS KMS 권한](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#sns-what-permissions-for-sse)을 참조하세요.

1. **변경 사항 저장**을 선택합니다.

**참고**  
 기본적으로 Amazon SNS는 `AWS:SourceOwner`에 대한 조건을 적용해서 액세스 정책을 생성합니다. 자세한 내용은 [SNS 액세스 정책](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html#source-account-versus-source-owner)을 참조하세요.

**참고**  
IAM은 [가장 제한적인 정책 우선](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) 규칙을 따릅니다. SNS 주제에서 문서화된 Amazon SNS 정책 블록보다 더 제한적인 정책 블록이 있는 경우 주제 정책에 대한 권한은 부여되지 않습니다. 정책을 평가하고 어떤 권한이 부여되었는지 알아보려면 [정책 평가 로직](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)을 참조하세요.

## 옵트인 리전에 대한 SNS 주제 구성
<a name="AMP-alertmanager-sns-regional-config"></a>

`aps.amazonaws.com`를 사용하여 Amazon Managed Service for Prometheus 워크스페이스와 동일한에서 Amazon SNS 주제를 구성할 수 있습니다. AWS 리전 비옵트인 리전(예: us-east-1)의 SNS 주제를 옵트인 리전(예: af-south-1)과 함께 사용하려면 리전 서비스 위탁자 형식을 사용해야 합니다. 리전 서비스 보안 주체에서 *us-east-1*을 사용하려는 비옵트인 리전으로 바꿉니다. **aps.*us-east-1*.amazonaws.com** 

다음 표에는 옵트인 리전과 해당하는 리전 서비스 보안 주체가 나열되어 있습니다.


**옵트인 리전 및 해당 리전 서비스 보안 주체**  

| 리전 이름 | 리전 | 리전 서비스 보안 주체 | 
| --- | --- | --- | 
| Africa (Cape Town) | af-south-1 | af-south-1.aps.amazonaws.com | 
| Asia Pacific (Hong Kong) | ap-east-1 | ap-east-1.aps.amazonaws.com | 
| 아시아 태평양(태국) | ap-southeast-7 | ap-southeast-7.aps.amazonaws.com | 
| Europe (Milan) | eu-south-1 | eu-south-1.aps.amazonaws.com | 
| 유럽(취리히) | eu-central-2 | eu-central-2.aps.amazonaws.com | 
| 중동(UAE) | me-central-1 | me-central-1.aps.amazonaws.com | 
| 아시아 태평양(말레이시아) | ap-southeast-5 | ap-southeast-5.aps.amazonaws.com | 

옵트인 리전 활성화에 대한 자세한 내용은 Amazon Web Services 일반 참조의 **IAM 사용 설명서에서 [AWS 리전관리](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)를 참조하세요.

이러한 옵트인 리전에 대해 Amazon SNS 주제를 구성할 때는 올바른 리전 서비스 보안 주체를 사용하여 교차 리전 알림 전송을 활성화해야 합니다.

## 교차 서비스 혼동된 대리인 방지
<a name="cross-service-confused-deputy-prevention"></a>

혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다. 에서 AWS교차 서비스 가장은 혼동된 대리자 문제를 초래할 수 있습니다. 교차 서비스 가장은 한 서비스(*직접 호출하는 서비스*)가 다른 서비스(*직접 호출되는 서비스*)를 직접 호출할 때 발생할 수 있습니다. 직접 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다. 이를 방지하기 위해 AWS 에서는 계정의 리소스에 대한 액세스 권한이 부여된 서비스 위탁자를 사용하여 모든 서비스에 대한 데이터를 보호하는 데 도움이 되는 도구를 제공합니다.

Amazon Managed Service for Prometheus가 리소스에 대해 Amazon SNS에 부여하는 권한을 제한하려면 리소스 정책에서 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 및 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) 글로벌 조건 컨텍스트 키를 사용하는 것이 좋습니다. 두 전역 조건 컨텍스트 키를 모두 사용하는 경우 `aws:SourceAccount` 값과 `aws:SourceArn` 값의 계정은 동일한 정책 문에서 사용할 경우 동일한 계정 ID를 사용해야 합니다.

`aws:SourceArn` 값은 Amazon Managed Service for Prometheus 워크스페이스의 ARN이어야 합니다.

혼동된 대리인 문제로부터 보호하는 가장 효과적인 방법은 리소스의 전체 ARN이 포함된 `aws:SourceArn`글로벌 조건 컨텍스트 키를 사용하는 것입니다. 리소스의 전체 ARN을 모를 경우 또는 여러 리소스를 지정하는 경우, ARN의 알 수 없는 부분에 대해 와일드카드(`*`)를 포함한 `aws:SourceArn`전역 조건 컨텍스트 키를 사용합니다. 예제: `arn:aws:servicename::123456789012:*`.

[Amazon Managed Service for Prometheus에 Amazon SNS 주제로 알림 메시지를 전송할 수 있는 권한 부여](#AMP-alertmanager-receiver-AMPpermission)에 표시되는 정책은 Amazon Managed Service for Prometheus에서 `aws:SourceArn` 및 `aws:SourceAccount` 전역 조건 컨텍스트 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여 줍니다.