Amazon SNS 주제에 대한 권한 - Amazon DevOps Guru

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

Amazon SNS 주제에 대한 권한

다른 AWS 계정이 소유한 Amazon 주제에 알림을 전달하도록 Amazon DevOpsGuru를 구성하려는 경우에만 이 SNS 주제의 정보를 사용합니다.

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

정책을 연결하여 다른 계정의 Amazon SNS 주제에 대한 권한을 구성한 후 DevOpsGuru에서 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 키의 경우 topic-owner-account-id 주제 소유자의 계정 ID입니다.topic-sender-account-id 는 DevOpsGuru를 설정하는 사용자의 계정 ID이며,devops-guru-role 는 관련된 개별 사용자의 IAM 역할입니다. 에 대한 적절한 값을 대체해야 합니다.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 키의 경우 topic-owner-account-id 주제 소유자의 계정 ID입니다.topic-sender-account-id 는 DevOpsGuru를 설정하는 사용자의 계정 ID이며,devops-guru-user-name 는 관련된 개별 IAM 사용자입니다. 에 대한 적절한 값을 대체해야 합니다.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 주제를 DevOpsGuru 알림 설정에 추가할 수 있습니다. AWS CLI 또는 DevOpsGuru 콘솔을 사용하여 Amazon SNS 주제를 추가할 수 있습니다.

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

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

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

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

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

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

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

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

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

  8. 저장(Save)을 선택합니다.

알림 설정에 Amazon SNS 주제를 추가한 후 DevOpsGuru는 해당 주제를 사용하여 새 인사이트가 생성될 때와 같은 중요한 이벤트를 알립니다.

알림 채널로 Amazon SNS 정책 업데이트(권장)

주제를 추가한 후에는 주제를 포함하는 DevOpsGuru 알림 채널에 대한 권한만 지정하여 정책을 더 안전하게 만드는 것이 좋습니다.

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

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

    예를 들어 다음 응답에서 를 사용하는 주제의 채널 ID는 ARNarn:aws:sns:region-id:111122223333:topic-name입니다. 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을 지정하는 줄을 추가하십시오. 에는 리전 ID(예: us-east-1), 주제 발신자의 AWS 계정 번호, 메모한 채널 ID가 ARN 포함됩니다.

    업데이트된 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" }] }