Eu herdei um ambiente Amazon AWS no qual a chave da conta raiz foi amplamente distribuída com o objetivo de fazer backups em buckets do S3.
Eu preciso rastrear onde a chave está sendo usada, para que eu possa substituí-la por uma chave com permissões limitadas.
Eu configurei notificações de eventos nos buckets para enviar mensagens para um SQS Q para informar quando os objetos são criados. Essas mensagens contêm o endereço IP do servidor de onde a solicitação de objeto foi originada, mas não a chave do IAM em uso (apenas o ID da conta da Amazon em uso).
O Cloudtrail também não é usado aqui, pois as solicitações do S3 não são gravadas no Cloudtrail.
Existe alguma outra maneira que eu possa dizer qual chave está sendo usada ao fazer solicitações S3?
POR FAVOR, NOTE QUE ESTA NÃO É UMA SOLUÇÃO SUGERIDA, MESMO UMA ATUALIZAÇÃO SOBRE O QUE EU FEZ. USE O MÉTODO SUGERIDO ACIMA. EU DEVIA ATUALIZADO A PERGUNTA.
#
Obrigado à EEAA
Eu considerei isso, mas existem centenas de baldes em jogo, então não foi muito prático. Eu estava esperando que houvesse algum lugar no IAM que eu pudesse rastrear o uso das chaves.
Como eu tinha o Events e o SQS já configurados, o que acabei fazendo foi configurar eventos em possíveis buckets e corresponder o timestamp do evento S3 ao timestamp fornecido pelo timestamp do último IAM do IAM.
Isso me deu os endereços IP dos servidores que estavam enviando solicitações para o S3 ao mesmo tempo em que a chave raiz estava sendo usada, dos quais eu consegui encontrar a chave raiz em alguns servidores. Espero que, quando eu verificar a chave raiz nos próximos dias, eu não a veja mais em uso.
Se não, provavelmente terei que configurar o registro em intervalos individuais, como você sugeriu.