Por que meu URL pré-assinado de um bucket do Amazon S3 está expirando antes do prazo de expiração que eu especifiquei?

3 minuto de leitura
0

Eu criei um URL pré-assinado para um bucket do Amazon Simple Storage Service (Amazon S3) usando um token temporário. No entanto, o URL expirou antes do prazo de validade que eu especifiquei. Por que isso aconteceu? Como posso criar um URL pré-assinado que seja válido por mais tempo?

Resolução

Se você criou um URL pré-assinado usando um token temporário, o URL expirará quando o token expirar. O URL expira mesmo que tenha sido criado com um prazo de validade posterior.

As credenciais que você pode usar para criar um URL pré-assinado incluem:

  • Perfil de instância do AWS Identity and Access Management (IAM): válido por até seis horas.
  • Serviço de token de segurança da AWS (STS): válido por até 36 horas quando assinado por um usuário do AWS Identity and Access Management (IAM) ou válido por até uma hora quando assinado pelo usuário raiz.
  • Usuário do IAM: válido por até sete dias ao usar o AWS Signature versão 4.

Para criar um URL pré-assinado válido por até sete dias, designe as credenciais de usuário do IAM (a chave de acesso e a chave de acesso secreta) para seu SDK. Em seguida, gere uma URL pré-assinada usando o AWS Signature versão 4. Para obter exemplos, consulte Cálculos de assinatura no AWS Signature versão 4.

Ao criar um URL pré-assinado, lembre-se dos seguintes pontos:

  • Os serviços que assumem um perfil, como o perfil de execução do AWS Lambda, não estão necessariamente em conformidade com as ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)configurações de duração da sessão[ do perfil.
  • Como os URLs pré-assinados concedem acesso ao bucket do Amazon S3 a quem tem o URL, é uma melhor prática protegê-los adequadamente.
  • Se você criou um URL pré-assinado usando um token temporário, o URL expirará quando o token expirar. Isso é válido mesmo que o URL tenha sido criado com um prazo de validade posterior.

Para permitir que os usuários acessem os objetos em seu bucket do Amazon S3 por mais de sete dias, considere usar uma destas opções:


Informações relacionadas

Compartilhamento de objetos usando URLs pré-assinados

GetSessionToken

Recupere credenciais de segurança nos metadados da instância

Solicitações de autenticação: uso de parâmetros de consulta (AWS Signature versão 4)

Documentos do Boto 3: S3

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos