Outra opção é sair sem papéis e credenciais do IAM e usar S3 Pre URLs assinados . Com URLs pré-assinados, você pode criar links de imagem seguros e limitados no tempo, que permitirão o acesso não autenticado a objetos privados do S3. Em outras palavras:
- Seus objetos do S3 são todos privados, ninguém mais do que o servidor da Web tem acesso a eles.
- Quando o usuário faz login, você gera URLs pré-assinados para as imagens dele. Esses URLs dão ao usuário acesso temporário ao conteúdo dele (por exemplo, com validade de 1 hora).
- Quando o link expira (após, por exemplo, 1 hora), ele não fornece mais acesso à imagem do usuário.
Dessa forma, você pode sair sem nenhum usuário do IAM ou dos papéis do IAM para os usuários do site.
Aqui está uma demonstração simples sobre como implementá-lo: Demonstração de URL pré-assinada do S3
Você também pode usar URLs pré-assinados para upload de imagens , mas isso é um pouco mais complicado. Pode ser mais fácil carregar as imagens para o seu servidor usando os métodos de upload padrão e o servidor faz o upload delas para o S3.
Esta é uma abordagem mais limitada do que usar o Cognito, mas pode ser mais fácil de implementar.
Espero que ajude:)