AWSSupport-TroubleshootS3EventNotifications - AWS Systems Manager Referência do runbook de automação

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

AWSSupport-TroubleshootS3EventNotifications

Descrição

O runbook de AWSSupport-TroubleshootS3EventNotifications AWS Systems Manager automação ajuda a solucionar problemas de notificações de eventos de bucket do Amazon Simple Storage Service (Amazon S3) configuradas com AWS Lambda Functions, Amazon Simple Notification Service (Amazon SNS) Topics ou Amazon Simple Queue Service (Amazon SQS) Queues. Ele fornece um relatório de configurações dos diferentes recursos configurados com o Amazon S3 Bucket como uma notificação de evento de destino.

Como funciona?

O runbook executa as seguintes etapas:

  • Verifica se o Amazon S3 Bucket existe na mesma conta em que AWSSupport-TroubleshootS3EventNotifications é executado.

  • Busca os recursos de destino (AWS Lambda função, tópico do Amazon SNS ou fila do Amazon SQS) configurados como notificações de eventos para o bucket do Amazon S3 usando a API. GetBucketNotificationConfiguration

  • Valida a existência do recurso de destino e, em seguida, analisa a política baseada em recursos dos recursos de destino para determinar se o Amazon S3 tem permissão para publicar no destino.

  • Se você criptografou o destino com uma chave AWS Key Management Service (AWS KMS), a política de chaves é verificada para determinar se o acesso ao Amazon S3 é permitido.

  • Gera um relatório de todas as verificações de recursos de destino.

Importante
  • Esse runbook só pode avaliar as configurações de notificação de eventos se o proprietário do bucket do Amazon S3 for o mesmo proprietário em que Conta da AWS o runbook de automação está sendo executado.

  • Além disso, esse runbook não pode avaliar políticas em recursos de destino hospedados em outro Conta da AWS.

Executar esta automação (console)

Tipo de documento

Automação

Proprietário

Amazon

Plataformas

Linux, macOS, Windows

Parâmetros

  • AutomationAssumeRole

    Tipo: String

    Descrição: (opcional) o nome do recurso da Amazon (ARN) do perfil do AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation realize ações em seu nome. Se nenhum perfil for especificado, o Systems Manager Automation usa as permissões do usuário que inicia este runbook.

  • S3 BucketName

    Tipo: AWS::S3::Bucket::Name

    Descrição: (Obrigatório) O nome do bucket Amazon S3 configurado com notificação (ões) de eventos.

Permissões obrigatórias do IAM

O parâmetro AutomationAssumeRole requer as seguintes ações para usar o runbook com êxito.

  • s3:GetBucketLocation

  • s3:ListAllMyBuckets

  • s3:GetBucketNotification

  • sqs:GetQueueAttributes

  • sqs:GetQueueUrl

  • sns:GetTopicAttributes

  • kms:GetKeyPolicy

  • kms:DescribeKey

  • kms:ListAliases

  • lambda:GetPolicy

  • lambda:GetFunction

  • iam:GetContextKeysForCustomPolicy

  • iam:SimulateCustomPolicy

  • iam:ListRoles

  • ssm:DescribeAutomationStepExecutions

Exemplo de política do IAM para a função Automation Assume

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3Permission", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Sid": "S3PermissionGetBucketNotification", "Effect": "Allow", "Action": [ "s3:GetBucketNotification" ], "Resource": "arn:aws:s3::::<bucket-name>" }, { "Sid": "SQSPermission", "Effect": "Allow", "Action": [ "sqs:GetQueueAttributes", "sqs:GetQueueUrl" ], "Resource": "arn:aws:sqs:<region>:123456789012:*" }, { "Sid": "SNSPermission", "Effect": "Allow", "Action": [ "sns:GetTopicAttributes" ], "Resource": "arn:aws:sns:<region>:123456789012:*" }, { "Sid": "KMSPermission", "Effect": "Allow", "Action": [ "kms:GetKeyPolicy", "kms:DescribeKey", "kms:ListAliases" ], "Resource": "arn:aws:kms:<region>:123456789012:key/<key-id>" }, { "Sid": "LambdaPermission", "Effect": "Allow", "Action": [ "lambda:GetPolicy", "lambda:GetFunction" ], "Resource": "arn:aws:lambda:<region>:123456789012:function:*" }, { "Sid": "IAMPermission", "Effect": "Allow", "Action": [ "iam:GetContextKeysForCustomPolicy", "iam:SimulateCustomPolicy", "iam:ListRoles" ], "Resource": "*" }, { "Sid": "SSMPermission", "Effect": "Allow", "Action": [ "ssm:DescribeAutomationStepExecutions" ], "Resource": "*" } ] }

Instruções

Siga estas etapas para configurar a automação:

  1. Navegue até AWSSupport-TroubleshootS3EventNotificationsem Systems Manager em Documentos.

  2. Selecione Execute automation (Executar automação).

  3. Para os parâmetros de entrada, insira o seguinte:

    • AutomationAssumeRole (Opcional):

      O Amazon Resource Name (ARN) da função AWS AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation execute as ações em seu nome. Se nenhuma função for especificada, o Systems Manager Automation usa as permissões do usuário que inicia esse runbook.

    • S3 BucketName (obrigatório):

      O nome do bucket do Amazon S3 configurado com notificação (ões) de eventos.

    AWSSupport-TroubleshootS3 parâmetros de entrada de execução do EventNotification runbook.
  4. Selecione Executar.

  5. A automação é iniciada.

  6. O bucket realiza as seguintes etapas:

    • ValidateInputs

      Valida que o bucket Amazon S3 fornecido pertence à mesma conta em que a automação é executada e busca a região em que o bucket está hospedado.

    • GetBucketNotificationConfiguration

      Chama a GetBucketNotificationConfiguration API para revisar as notificações de eventos configuradas com o bucket do Amazon S3 e formata a saída.

    • BranchOnSQSResourcePolítica

      Define se há recursos do Amazon SQS nas notificações de eventos.

    • Validar política SQSResource

      Valida a política de recursos nos atributos do Amazon SQS Queue que sqs:SendMessage tem permissão para o Amazon S3. Se o recurso Amazon SQS estiver criptografado, verifica se a criptografia não está usando a AWS KMS chave padrão, ou seja, aws/sqs e verifica se a política de AWS KMS chaves tem permissões para o Amazon S3.

    • BranchOnSNSResourcePolítica

      Define se há recursos do Amazon SNS nas notificações de eventos.

    • Validar política SNSResource

      Valida a política de recursos no Amazon SNS. Os atributos de tópico sns:Publish têm permissão para o Amazon S3. Se o recurso do Amazon SNS estiver criptografado, verifica se a criptografia não está usando a AWS KMS chave padrão, ou seja, aws/sns e verifica se a política de AWS KMS chaves tem permissões para o Amazon S3.

    • BranchOnLambdaFunctionResourcePolicy

      Explica se há AWS Lambda funções nas notificações de eventos.

    • ValidateLambdaFunctionResourcePolicy

      Valida a política de recursos se AWS Lambda a função tem lambda:InvokeFunction permissão para o Amazon S3.

    • GenerateReport

      Retorna detalhes das etapas, saídas e recomendações do runbook para resolver qualquer problema com as notificações de eventos configuradas com o bucket do Amazon S3.

  7. Depois de concluído, revise a seção Saídas para obter os resultados detalhados da execução:

    • Notificações de eventos do Amazon SQS

      Se houver notificações de destino do Amazon SQS configuradas com o bucket do Amazon S3, uma lista das filas do Amazon SQS será exibida junto com os resultados das verificações. O relatório inclui verificação de recursos do Amazon SQS, verificação da política de acesso do Amazon SQS, verificação da chave AWS KMS , verificação do status da chave AWS KMS e verificação da política da chave. AWS KMS

    • Notificações de eventos do Amazon SNS

      Se houver notificações de destino do Amazon SNS configuradas com o bucket do Amazon S3, uma lista dos tópicos do Amazon SNS será exibida junto com os resultados das verificações. O relatório inclui verificação de recursos do Amazon SNS, verificação da política de acesso do Amazon SNS, verificação da chave AWS KMS , verificação do status da chave AWS KMS e verificação da política da chave. AWS KMS

    • AWS Lambda Notificações de eventos

      Se houver notificações de AWS Lambda destino configuradas com o bucket do Amazon S3, uma lista das funções do Lambda será exibida junto com os resultados das verificações. O relatório inclui a verificação de recursos do Lambda e a verificação da política de acesso do Lambda.

    AWSSupport-TroubleshootS3 exemplos de saída de execução do EventNotification runbook.

Referências

Automação do Systems Manager