Opção 1
Se a sua nova instância for baixar o arquivo logo após ser iniciado, você poderá criar um arquivo público com limite de tempo:
- Gere um URL com limite de tempo para o arquivo que você deseja baixar. Consulte o link
- Inicie sua nova instância, transmitindo o URL gerado nos dados do usuário.
- Dentro de sua nova instância, leia os dados do usuário e faça o download do arquivo.
Ao fazer o acima, nenhuma credencial é necessária na sua instância do EC2. No entanto, seu URL público é público por um breve período.
Opção 2
Inicie sua nova instância em uma "função" do EC2. Consulte o link
Quando você usa uma função do EC2, sua instância tem chaves de acesso de geração automática e expiração automática fornecidas a ela regularmente. Então você não precisa ter credenciais mantidas no seu servidor. Em vez disso, seu cliente da AWS solicitará continuamente das novas chaves da AWS que serão alteradas com o tempo.
Dessa forma, você pode dar à sua função EC2 uma política do IAM que permita o acesso do S3 ao (s) seu (s) arquivo (s).