Permissões para SNS tópicos da Amazon - DevOps Guru da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Permissões para SNS tópicos da Amazon

Use as informações deste tópico somente se quiser configurar o Amazon DevOps Guru para entregar notificações aos SNS tópicos da Amazon pertencentes a outra AWS conta.

Para que o DevOps Guru envie notificações para um SNS tópico da Amazon pertencente a uma conta diferente, você deve anexar uma política ao SNS tópico da Amazon que conceda ao DevOps Guru permissões para enviar notificações a ele. Se você configurar o DevOps Guru para enviar notificações aos SNS tópicos da Amazon pertencentes à mesma conta que você usa para o DevOps Guru, o DevOps Guru adicionará uma política aos tópicos para você.

Depois de anexar uma política para configurar permissões para um SNS tópico da Amazon em outra conta, você pode adicionar o SNS tópico da Amazon no DevOps Guru. Você também pode atualizar sua SNS política da Amazon com um canal de notificação para torná-la mais segura.

nota

DevOpsAtualmente, o Guru só oferece suporte ao acesso entre contas na mesma região.

Configurando permissões para um SNS tópico da Amazon em outra conta

Adicionar permissões como uma IAM função

Para usar um SNS tópico da Amazon de outra conta depois de fazer login com uma IAM função, você deve anexar uma política ao SNS tópico da Amazon que deseja usar. Para anexar uma política a um SNS tópico da Amazon de outra conta enquanto usa uma IAM função, você precisa ter as seguintes permissões para esse recurso da conta como parte de sua IAM função:

  • sns: CreateTopic

  • sns: GetTopicAttributes

  • sns: SetTopicAttributes

  • sns:Publish

Anexe a seguinte política ao SNS tópico da Amazon que você deseja usar. Para a Resource chave, topic-owner-account-id é o ID da conta do proprietário do tópico, topic-sender-account-id é o ID da conta do usuário que configurou o DevOps Guru e devops-guru-role é a IAM função do usuário individual envolvido. Você deve substituir os valores apropriados por region-id (por exemplo,us-west-2) e 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"] } } ] }

Adicionar permissões como IAM usuário

Para usar um SNS tópico da Amazon de outra conta como IAM usuário, anexe a seguinte política ao SNS tópico da Amazon que você deseja usar. Para a Resource chave, topic-owner-account-id é o ID da conta do proprietário do tópico, topic-sender-account-id é o ID da conta do usuário que configurou o DevOps Guru e devops-guru-user-name é o IAM usuário individual envolvido. Você deve substituir os valores apropriados por region-id (por exemplo,us-west-2) e my-topic-name.

nota

Sempre que possível, recomendamos confiar em credenciais temporárias em vez de criar IAM usuários que tenham credenciais de longo prazo, como senhas e chaves de acesso. Para obter mais informações sobre as melhores práticas emIAM, consulte as melhores práticas de segurança IAM no Guia IAM do usuário.

{ "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"] } } ] }

Adicionar um SNS tópico da Amazon de outra conta

Depois de configurar as permissões para um SNS tópico da Amazon em outra conta, você pode adicionar esse SNS tópico da Amazon às suas configurações de notificação do DevOps Guru. Você pode adicionar o SNS tópico da Amazon usando o console AWS CLI ou o DevOps Guru.

  • Ao usar o console, você deve selecionar a opção Usar um SNS tópico ARN para especificar um tópico existente para usar um tópico de outra conta.

  • Ao usar a AWS CLI operação add-notification-channel, você deve especificar o que está TopicArn dentro do NotificationChannelConfig objeto.

Adicione um SNS tópico da Amazon de outra conta usando o console
  1. Abra o console do Amazon DevOps Guru em https://console.aws.amazon.com/devops-guru/.

  2. Abra o painel de navegação e escolha Configurações.

  3. Vá para a seção Notificações e escolha Editar.

  4. Escolha Adicionar SNS tópico.

  5. Escolha Usar um SNS tópico ARN para especificar um tópico existente.

  6. Insira o SNS tópico ARN da Amazon que você deseja usar. Você já deve ter configurado as permissões para esse tópico anexando uma política a ele.

  7. (Opcional) Escolha Configuração de notificação para editar as configurações de frequência de notificação.

  8. Escolha Salvar.

Depois de adicionar o SNS tópico da Amazon às suas configurações de notificação, o DevOps Guru usa esse tópico para notificá-lo sobre eventos importantes, como quando um novo insight é criado.

Atualizar sua SNS política da Amazon com um canal de notificação (recomendado)

Depois de adicionar um tópico, recomendamos que você torne sua política mais segura especificando permissões somente para o canal de notificação do DevOps Guru que contém seu tópico.

Atualize sua política de SNS tópicos da Amazon com um canal de notificação (recomendado)
  1. Execute o AWS CLI comando list-notification-channels DevOps Guru na sua conta da qual você deseja enviar notificações.

    aws devops-guru list-notification-channels
  2. Na list-notification-channels resposta, anote o ID do canal que contém seus SNS tópicos da AmazonARN. O ID do canal é um guia.

    Por exemplo, na resposta a seguir, o ID do canal para o tópico com o ARN arn: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. Acesse a política que você criou em outra conta usando o ID do proprietário do tópico em Configurando permissões para um SNS tópico da Amazon em outra conta. Na declaração da política do Condition, adicione a linha que especifica o SourceArn. ARNContém seu ID de região (por exemplo,us-east-1), o número da AWS conta do remetente do tópico e o ID do canal que você anotou.

    Sua declaração Condition atualizada tem a seguinte aparência.

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

Se AddNotificationChannel não conseguir adicionar seu SNS tópico, verifique se sua IAM política tem as seguintes permissões.

{ "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" }] }