Política de SNS tópicos da Amazon para CloudTrail - AWS CloudTrail

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á.

Política de SNS tópicos da Amazon para CloudTrail

Para enviar notificações para um SNS tópico, é CloudTrail necessário ter as permissões necessárias. CloudTrailanexa automaticamente as permissões necessárias ao tópico quando você cria um SNS tópico da Amazon como parte da criação ou atualização de uma trilha no CloudTrail console.

Importante

Como prática recomendada de segurança, para restringir o acesso ao seu SNS tópico, é altamente recomendável que, depois de criar ou atualizar uma trilha para enviar SNS notificações, você edite manualmente a IAM política anexada ao SNS tópico para adicionar chaves de condição. Para obter mais informações, consulte Prática recomendada de segurança para políticas SNS temáticas neste tópico.

CloudTrail adiciona a seguinte declaração à política para você com os seguintes campos:

  • O permitidoSIDs.

  • O nome principal do serviço para CloudTrail.

  • O SNS tópico, incluindo região, ID da conta e nome do tópico.

A política a seguir permite CloudTrail enviar notificações sobre a entrega de arquivos de log das regiões suportadas. Para ter mais informações, consulte CloudTrail Regiões suportadas. Essa é a política padrão anexada a uma política de SNS tópico nova ou existente quando você cria ou atualiza uma trilha e opta por ativar as SNS notificações.

SNSpolítica de tópicos

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:region:SNSTopicOwnerAccountId:SNSTopicName" } ] }

Para usar um SNS tópico AWS KMS criptografado da Amazon para enviar notificações, você também deve ativar a compatibilidade entre a fonte do evento (CloudTrail) e o tópico criptografado adicionando a seguinte declaração à política do AWS KMS key.

KMSpolítica chave

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" } ] }

Para obter mais informações, consulte Habilitar compatibilidade entre fontes de eventos de AWS serviços e tópicos criptografados.

Prática recomendada de segurança para políticas SNS temáticas

Por padrão, a declaração IAM de política CloudTrail anexada ao seu SNS tópico da Amazon permite que o responsável pelo CloudTrail serviço publique em um SNS tópico, identificado por umARN. Para ajudar a impedir que um invasor tenha acesso ao seu SNS tópico e envie notificações em nome dos destinatários do CloudTrail tópico, edite manualmente sua política de CloudTrail SNS tópicos para adicionar uma chave de aws:SourceArn condição à declaração de política anexada por. CloudTrail O valor dessa chave é o ARN da trilha ou uma matriz de trilhas ARNs que estão usando o SNS tópico. Como inclui a ID específica da trilha e a ID da conta proprietária da trilha, ela restringe o acesso ao SNS tópico somente às contas que têm permissão para gerenciar a trilha. Antes de adicionar chaves de condição à sua SNS política de tópicos, obtenha o nome do SNS tópico nas configurações da trilha no CloudTrail console.

A aws:SourceAccount chave de condição também é compatível, mas não é recomendada.

Para adicionar a chave de aws:SourceArn condição à sua política de SNS tópicos
  1. Abra o SNS console da Amazon em https://console.aws.amazon.com/sns/v3/home.

  2. No painel de navegação, escolha Tópicos.

  3. Escolha o SNS tópico que é mostrado nas configurações da trilha e, em seguida, escolha Editar.

  4. Expanda Access policy (Política de acesso).

  5. No JSON editor de políticas do Access, procure um bloco semelhante ao exemplo a seguir.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496" }
  6. Adicione um novo bloco para uma condição, aws:SourceArn, conforme mostrado no exemplo a seguir. O valor de aws:SourceArn é o ARN da trilha sobre a qual você está enviando notificaçõesSNS.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail3" } } }
  7. Ao terminar de editar a política de SNS tópicos, escolha Salvar alterações.

Para adicionar a chave de aws:SourceAccount condição à sua política de SNS tópicos
  1. Abra o SNS console da Amazon em https://console.aws.amazon.com/sns/v3/home.

  2. No painel de navegação, escolha Tópicos.

  3. Escolha o SNS tópico que é mostrado nas configurações da trilha e, em seguida, escolha Editar.

  4. Expanda Access policy (Política de acesso).

  5. No JSON editor de políticas do Access, procure um bloco semelhante ao exemplo a seguir.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496" }
  6. Adicione um novo bloco para uma condição, aws:SourceAccount, conforme mostrado no exemplo a seguir. O valor de aws:SourceAccount é o ID da conta proprietária da CloudTrail trilha. Este exemplo restringe o acesso ao SNS tópico somente aos usuários que podem entrar na AWS conta 123456789012.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }
  7. Ao terminar de editar a política de SNS tópicos, escolha Salvar alterações.

Especificar um tópico existente para enviar notificações

Você pode adicionar manualmente as permissões de um SNS tópico da Amazon à sua política de tópicos no SNS console da Amazon e depois especificar o tópico no CloudTrail console.

Para atualizar manualmente uma política de SNS tópico
  1. Abra o SNS console da Amazon em https://console.aws.amazon.com/sns/v3/home.

  2. Escolha Topics (Tópicos) e escolha o tópico.

  3. Escolha Editar e, em seguida, role para baixo até Política de acesso.

  4. Adicione o extrato de SNS topic policy com os valores apropriados para a região, ID da conta e nome do tópico.

  5. Se o seu tópico for um tópico criptografado, você deverá CloudTrail permitir que ele tenha kms:GenerateDataKey* e as kms:Decrypt permissões. Para ter mais informações, consulte Encrypted SNS topic KMS key policy.

  6. Escolha Salvar alterações.

  7. Volte ao CloudTrail console e especifique o tópico da trilha.

Solução de problemas da política de SNS tópicos

As seções a seguir descrevem como solucionar problemas com a política de SNS tópicos.

CloudTrail não está enviando notificações para uma região

Quando você cria um novo tópico como parte da criação ou atualização de uma trilha, CloudTrail anexa as permissões necessárias ao seu tópico. A política de tópicos usa o nome principal do serviço"cloudtrail.amazonaws.com",, que permite CloudTrail enviar notificações para todas as regiões.

Se não CloudTrail estiver enviando notificações para uma região, é possível que seu tópico tenha uma política mais antiga que especifique uma CloudTrail conta IDs para cada região. Essa política dá CloudTrail permissão para enviar notificações somente para as regiões especificadas.

A política de tópicos a seguir CloudTrail permite enviar notificações somente para as nove regiões especificadas:

exemplo política de tópicos com conta IDs
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::903692715234:root", "arn:aws:iam::035351147821:root", "arn:aws:iam::859597730677:root", "arn:aws:iam::814480443879:root", "arn:aws:iam::216624486486:root", "arn:aws:iam::086441151436:root", "arn:aws:iam::388731089494:root", "arn:aws:iam::284668455005:root", "arn:aws:iam::113285607260:root" ]}, "Action": "SNS:Publish", "Resource": "aws:arn:sns:us-east-1:123456789012:myTopic" }] }

Esta política usa uma permissão com base na CloudTrail conta individualIDs. Para entregar registros para uma nova região, você deve atualizar manualmente a política para incluir o ID da CloudTrail conta dessa região. Por exemplo, como CloudTrail adicionou suporte para a região Leste dos EUA (Ohio), você deve atualizar a política para adicionar o ID ARN da conta dessa região:"arn:aws:iam::475085895292:root".

Como prática recomendada, atualize a política para usar uma permissão com o responsável pelo CloudTrail serviço. Para fazer isso, substitua o ID ARNs da conta pelo nome principal do serviço:"cloudtrail.amazonaws.com".

Isso dá CloudTrail permissão para enviar notificações para regiões atuais e novas. Veja a seguir uma versão atualizada da política anterior:

exemplo política de tópicos com o nome principal do serviço
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:123456789012:myTopic" }] }

Verifique se a política tem os valores corretos:

  • No campo Resource, especifique o número da conta do proprietário do tópico. Para os tópicos que você criar, especifique o número da sua conta.

  • Especifique os valores apropriados para a região e o nome do SNS tópico.

CloudTrail não está enviando notificações para uma conta de membro em uma organização

Quando uma conta membro com uma trilha AWS Organizations organizacional não está enviando SNS notificações para a Amazon, pode haver um problema com a configuração da política de SNS tópicos. CloudTrail cria trilhas da organização nas contas dos membros mesmo se a validação do recurso falhar, por exemplo, o SNS tópico da trilha da organização não inclui todas as contas dos membrosIDs. Se a política do SNS tópico estiver incorreta, ocorrerá uma falha na autorização.

Para verificar se a política de SNS tópicos de uma trilha tem uma falha de autorização:

  • No CloudTrail console, verifique a página de detalhes da trilha. Se houver uma falha na autorização, a página de detalhes inclui um aviso SNS authorization failed e indica a correção da política de SNS tópicos.

  • A partir do AWS CLI, execute o get-trail-statuscomando. Se houver uma falha na autorização, a saída do comando incluirá o LastNotificationError campo com um valor deAuthorizationError.

Recursos adicionais

Para obter mais informações sobre SNS tópicos e se inscrever neles, consulte o Guia do desenvolvedor do Amazon Simple Notification Service.