AWS Config에서 Amazon SNS 알림을 수신하려면 어떻게 해야 합니까?

3분 분량
0

AWS Config에 대해 Amazon Simple Notification Service(Amazon SNS) 알림을 설정했지만 알림이 수신되지 않습니다.

간략한 설명

다음 문제 해결 방법을 시도해 보세요.

  • Amazon SNS 주제 구독 상태 확인
  • AWS 계정에 SNS 주제를 게시할 권한 부여
  • Amazon SNS 주제를 게시할 수 있는 AWS 교차 계정 권한 부여
  • AWS Config가 암호화된 Amazon SNS 주제에 액세스할 수 있는지 확인
  • Amazon CloudWatch Events 및 SNS 권한 구성 수정

해결 방법

Amazon SNS 주제 구독 상태 확인

1.    Amazon SNS 콘솔을 엽니다.

2.    탐색 창에서 [구독(Subscriptions)]을 선택합니다.

3.    구독 목록에서 구독 [상태(Status)]가 [확인됨(Confirmed)]으로 설정되어 있는지 확인합니다. [상태(Status)]가 [PendingConfirmation]으로 설정된 경우 지침에 따라 구독을 확인합니다.

AWS 계정에 SNS 주제를 게시할 권한 부여

서비스 연결 역할 또는 사용자 정의 역할을 레코더 역할로 선택해야 합니다. 레코더 역할은 구성 정보를 기록할 수 있는 AWS Identity and Access Management(IAM) 역할입니다.

중요: 보안 모범 사례로 사용자 지정 구성 서비스 역할을 레코더 역할로 사용하세요. 교차 계정 주제 정책의 레코더 역할로 서비스 연결 역할을 사용해서는 안 됩니다. 이는 서비스 연결 역할의 경우 Amazon SNS 주제 정책에서 **“config.amazonaws.com”**을 서비스 속성으로 설정해야 하기 때문입니다.

서비스 연결 역할의 Amazon 리소스 이름(ARN)을 사용자 지정 서비스 역할 ARN으로 바꾸려면 역할 권한 정책에 다음 권한을 추가합니다.

{
    "Effect": "Allow",
    "Action": "sns:Publish",
    "Resource": "arn:aws:sns:Region:AccountId:Topic-Name"
}

사용자 지정 역할에 대한 자세한 내용은 AWS Config에 할당된 IAM 역할에 대한 권한을 참조하세요.

Amazon SNS 주제를 게시할 수 있는 AWS 교차 계정 권한 부여

다른 계정에서 SNS 주제를 선택한 경우 교차 계정에 액세스할 수 있도록 다음 구성을 설정합니다.

1.    SNS 주제에 연결된 액세스 정책에 다음 설명을 추가합니다.

{
    "Sid": "__console_pub_0",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::config-AccountId:root" OR "arn:aws:iam::config-AccountId:role/Custom_Service_role_name"
    },
    "Action": "sns:Publish",
    "Resource": "arn:aws:sns:Region:SNS-topic-AccountId:Topic-Name"
}

2.    AWS Config에서 위임하는 IAM 역할에 다음 문을 연결합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublishToSNSTargetAccount",
            "Effect": "Allow",
            "Action": "sns:Publish",
            "Resource": "arn:aws:sns:Region:config-AccountId:Topic-Name"
        }
    ]
}

AWS Config가 암호화된 Amazon SNS 주제에 액세스할 수 있는지 확인

SNS 주제가 AWS Key Management Service(AWS KMS) 키로 암호화되면 다음 단계를 완료합니다.

1.    AWS Config에서 위임한 IAM 역할이 SNS 주제를 해독하는 데 필요한 키에 액세스할 수 있는지 확인합니다. 예를 들어 다음과 같습니다.

{
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::config-AccountId:role/ConfigRoleName"
    },
    "Action": [
        "kms:GenerateDataKey*",
        "kms:Decrypt",
        "kms:Encrypt"
    ],
    "Resource": "*"
}

2.    역할의 액세스 정책에 AWS KMS 권한을 추가합니다.

{
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey*",
        "kms:Decrypt",
         
    ],
    "Resource": "*"
}

Amazon CloudWatch Events 및 SNS 권한 구성 수정

1.    CloudWatch Events 규칙의 대상으로 올바른 SNS 주제를 선택했는지 확인합니다.

2.    Amazon CloudWatch를 사용하여 AWS 구성 API를 모니터링하고 Amazon SNS를 사용하여 알림을 보내는 경우 CloudWatch에 SNS 주제에 대한 게시 권한이 있는지 확인합니다. 예를 들어 주제의 리소스 정책에 다음 문을 포함시킵니다.

{
    "Sid": "Allow_Publish_Events",
    "Effect": "Allow",
    "Principal": {
        "Service": "events.amazonaws.com"
    },
    "Action": "sns:Publish",
    "Resource": "arn:aws:sns:Region:AccountId:Topic-Name"
}

3.    CloudWatch Events 규칙의 문제를 해결합니다.


관련 정보

Amazon SNS 주제에 대한 권한

AWS Config를 사용하여 AWS 리소스가 미준수 상태일 때 알림을 받으려면 어떻게 해야 합니까?

AWS Config 서비스를 사용하여 내 AWS 계정에서 리소스가 삭제될 때 사용자 지정 이메일 알림을 받으려면 어떻게 해야 합니까?

AWS Config 서비스를 사용하여 내 AWS 계정에서 리소스가 만들어질 때 사용자 지정 이메일 알림을 받으려면 어떻게 해야 합니까?

IAM 역할 정책 생성

AWS 공식
AWS 공식업데이트됨 3년 전