Você deseja usar o serviço de token de segurança da AWS. Isso é especificamente projetado para o caso de uso que você descreve.
Mais detalhes aqui:
Credenciais temporárias de segurança
E aqui:
Temos alguns ambientes híbridos em que alguns aplicativos estão sendo executados em nosso próprio datacenter e outros serviços estão sendo executados na nuvem da AWS.
Agora, temos alguns aplicativos que precisam gravar arquivos no S3. Na nossa solução atual, criamos um usuário do IAM (com chaves de acesso) que possui uma política embutida para gravar / listar / excluir objetos em um determinado intervalo.
Isso funciona, mas não é seguro, provavelmente porque as credenciais de segurança são permanentes. Uma das principais vantagens de usar as funções da AWS é que as credenciais são rotacionadas em um intervalo de tempo específico e armazenadas como metadados.
Eu sei que você pode atribuir uma função a um EC2 e, assim, o EC2 pode se conectar com segurança (por exemplo) a um bucket do S3 e fazer o material permitido. Mas como temos que lidar com isso para aplicativos que NÃO estão sendo executados na AWS, mas precisam de uma conexão com um serviço da AWS?
Você deseja usar o serviço de token de segurança da AWS. Isso é especificamente projetado para o caso de uso que você descreve.
Mais detalhes aqui:
Credenciais temporárias de segurança
E aqui: