Amazon SNS 주제에 대한 권한 - 아마존 DevOps 전문가

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

Amazon SNS 주제에 대한 권한

Amazon DevOps Guru에서 다른 AWS 계정이 소유한 Amazon SNS 주제에 알림을 전송하도록 구성하려는 경우에만 이 주제의 정보를 사용하십시오.

DevOpsGuru가 다른 계정이 소유한 Amazon SNS 주제에 알림을 전송하려면 DevOps Guru에게 알림을 보낼 권한을 부여하는 정책을 Amazon SNS 주제에 추가해야 합니다. DevOpsGuru에 사용하는 것과 동일한 계정이 소유한 Amazon SNS 주제에 알림을 전송하도록 DevOps Guru를 구성하면 DevOps Guru가 주제에 정책을 추가합니다.

다른 계정의 Amazon SNS 주제에 대한 권한을 구성하는 정책을 연결한 후 DevOps Guru에서 Amazon SNS 주제를 추가할 수 있습니다. 알림 채널과 함께 Amazon SNS 정책을 업데이트하여 보안을 강화할 수도 있습니다.

참고

DevOpsGuru는 현재 동일한 지역에서만 계정 간 액세스를 지원합니다.

다른 계정에서 Amazon SNS 주제에 대한 권한 구성하기

IAM 역할로 권한 추가

IAM 역할로 로그인한 후 다른 계정의 Amazon SNS 주제를 사용하려면, 사용하려는 Amazon SNS 주제에 정책을 연결해야 합니다. IAM 역할을 사용하는 동안 다른 계정의 Amazon SNS 주제에 정책을 연결하려면 IAM 역할의 일부로 해당 계정 리소스에 대해 다음과 같은 권한이 있어야 합니다.

  • sns: CreateTopic

  • sns: GetTopicAttributes

  • sns: SetTopicAttributes

  • sns:Publish

사용하려는 Amazon SNS 주제에 다음과 같은 정책을 연결하십시오. Resource키의 경우 주제 소유자의 계정 ID, topic-sender-account-id DevOpsGuru를 설정한 사용자의 계정 ID, 관련된 개별 사용자의 IAM devops-guru-role역할입니다. topic-owner-account-id region-id (예:) 및 를 적절한 값으로 대체해야 합니다. us-west-2 my-topic-name

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EnableDevOpsGuruServicePrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "Service": "region-id.devops-guru.amazonaws.com" }, "Condition": { "StringEquals": { "AWS:SourceAccount": "topic-sender-account-id" } } }, { "Sid": "EnableAccountPrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "AWS": ["arn:aws:iam::topic-sender-account-id:role/devops-guru-role"] } } ] }

IAM 사용자로서 권한 추가 추가

다른 계정의 Amazon SNS 주제를 IAM 사용자로 사용하려면 사용하려는 Amazon SNS 주제에 다음 정책을 연결하십시오. Resource키의 경우 주제 소유자의 계정 ID, topic-sender-account-id DevOpsGuru를 설정한 사용자의 계정 ID, 관련된 개별 IAM devops-guru-user-name사용자입니다. topic-owner-account-id region-id (예:) 및 를 적절한 값으로 대체해야 합니다. us-west-2 my-topic-name

참고

가능하면 암호 및 액세스 키와 같은 장기 자격 증명이 있는 IAM 사용자를 생성하는 대신 임시 자격 증명을 사용하는 것이 좋습니다. IAM의 모범 사례에 대한 자세한 내용은 IAM 사용 설명서IAM의 보안 모범 사례를 참조하십시오.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EnableDevOpsGuruServicePrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "Service": "region-id.devops-guru.amazonaws.com" }, "Condition": { "StringEquals": { "AWS:SourceAccount": "topic-sender-account-id" } } }, { "Sid": "EnableAccountPrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "AWS": ["arn:aws:iam::topic-sender-account-id:user/devops-guru-user-name"] } } ] }

다른 계정의 Amazon SNS 주제 추가

다른 계정에서 Amazon SNS 주제에 대한 권한을 구성한 후 해당 Amazon SNS 주제를 DevOps Guru 알림 설정에 추가할 수 있습니다. AWS CLI 또는 DevOps Guru 콘솔을 사용하여 Amazon SNS 주제를 추가할 수 있습니다.

  • 콘솔을 사용할 때, 다른 계정의 주제를 사용하려면 SNS 주제 ARN을 사용하여 기존 주제 지정 옵션을 선택해야 합니다.

  • AWS CLI 작업을 add-notification-channel사용할 때는 NotificationChannelConfig 객체 TopicArn 내에 를 지정해야 합니다.

콘솔을 사용하여 다른 계정의 Amazon SNS 주제 추가
  1. https://console.aws.amazon.com/devops-guru/ 에서 Amazon DevOps Guru 콘솔을 엽니다.

  2. 콘솔을 열고 탐색 창에서 설정을 선택합니다.

  3. 알림 섹션으로 이동하여 편집을 선택합니다.

  4. SNS 주제 추가를 선택합니다.

  5. SNS 주제 ARN을 사용하여 기존 주제 지정을 선택합니다.

  6. 사용하려는 Amazon SNS 주제의 ARN을 입력합니다. 정책을 연결하여 이 주제에 대한 권한을 이미 구성했어야 합니다.

  7. (선택 사항) 알림 빈도 설정을 편집하려면 알림 구성을 선택합니다.

  8. 저장을 선택합니다.

알림 설정에 Amazon SNS 주제를 추가하면 DevOps Guru는 해당 주제를 사용하여 새 인사이트가 생성되는 경우와 같은 중요한 이벤트를 알립니다.

알림 채널을 사용한 Amazon SNS 정책 업데이트(권장)

주제를 추가한 후에는 주제가 포함된 DevOps Guru 알림 채널에 대한 권한만 지정하여 정책의 보안을 강화하는 것이 좋습니다.

알림 채널을 사용하여 Amazon SNS 주제 정책 업데이트(권장)
  1. 알림을 보내려는 계정에서 list-notification-channels DevOps Guru AWS CLI 명령어를 실행합니다.

    aws devops-guru list-notification-channels
  2. list-notification-channels 응답에서 Amazon SNS 주제의 ARN이 포함된 채널 ID를 기록해 두십시오. 채널 ID는 guid입니다.

    예를 들어, 아래의 응답에서 arn:aws:sns:region-id:111122223333:topic-name ARN이 있는 주제에 대한 채널 ID는 e89be5f7-989d-4c4c-b1fe-e7145037e531입니다.

    { "Channels": [ { "Id": "e89be5f7-989d-4c4c-b1fe-e7145037e531", "Config": { "Sns": { "TopicArn": "arn:aws:sns:region-id:111122223333:topic-name" }, "Filters": { "MessageTypes": ["CLOSED_INSIGHT", "NEW_INSIGHT", "SEVERITY_UPGRADED"], "Severities": ["HIGH", "MEDIUM"] } } } ] }
  3. 다른 계정에서 Amazon SNS 주제에 대한 권한 구성하기에서 주제 소유자 ID를 사용하여 다른 계정에서 만든 정책으로 이동합니다. 정책의 Condition 문장에 SourceArn을 지정하는 줄을 추가하십시오. ARN에는 지역 ID (예:us-east-1), 주제 발신자의 AWS 계정 번호, 메모한 채널 ID가 포함됩니다.

    업데이트된 Condition 문장은 다음과 같습니다.

    "Condition" : { "StringEquals" : { "AWS:SourceArn": "arn:aws:devops-guru:us-east-1:111122223333:channel/e89be5f7-989d-4c4c-b1fe-e7145037e531", "AWS:SourceAccount": "111122223333" } }

AddNotificationChannel이 SNS 주제를 추가할 수 없는 경우, IAM 정책에 다음 권한이 있는지 확인하십시오.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DevOpsGuruTopicPermissions", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:GetTopicAttributes", "sns:SetTopicAttributes", "sns:Publish" ], "Resource": "arn:aws:sns:region-id:account-id:my-topic-name" }] }