View a markdown version of this page

Apêndice A: Como usar o pré-assinado Serviços da AWS URLs - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Apêndice A: Como usar o pré-assinado Serviços da AWS URLs

Este apêndice fornece informações Serviços da AWS e recursos que usam presigned. URLs Essas informações têm dois propósitos:

  • Fornecer aos engenheiros de segurança que implementam controles informações sobre os possíveis impactos desses controles.

  • Para conscientizar sobre situações em que esse risco pode ser relevante para interações de registro de URL.

Importante

Este apêndice não fornece uma lista completa nem o uso de Serviços da AWS presignados. URLs Também não abrange soluções personalizadas ou de terceiros.

Console do Amazon S3

Principal: Usuário do console

Expiração padrão: 5 minutos

Isenção de responsabilidade

Esta seção documenta o comportamento atual do console Amazon S3. AWS os comportamentos do console estão sujeitos a alterações sem aviso prévio.

O console do Amazon S3 suporta o download e o upload de objetos. Os downloads usam um URL pré-assinado que tem um tempo de expiração de 300 segundos (5 minutos).  O URL é gerado por uma solicitação parahttps://<bucket-region>.console.aws.amazon.com/s3/batchOpsServlet-proxy.

Essa solicitação é iniciada quando o usuário clica em um botão de download, para que o URL não seja gerado com antecedência nem enviado ao cliente até que a solicitação explícita de download ocorra.

Os uploads são semelhantes, exceto que o console envia duas solicitações: OPTIONS como uma verificação CORS antes do voo e. PUT Ambas as solicitações usam a mesma assinatura.

As credenciais usadas para assinar são credenciais temporárias associadas ao usuário atualmente conectado. Detalhes sobre o método para obter essas credenciais temporárias estão fora do escopo deste guia.

Amazon S3 Object Lambda

Principal: Chamador de ponto de acesso

Expiração padrão: 61 segundos

nota

A partir de 7 de novembro de 2025, o S3 Object Lambda está disponível somente para clientes existentes que estão usando o serviço no momento, bem como para parceiros selecionados AWS Partner Network (APN). Para recursos semelhantes ao S3 Object Lambda, saiba mais aqui — Alteração na disponibilidade do Amazon S3 Object Lambda.

O Amazon S3 Object Lambda usa AWS Lambda funções para processar e transformar dados automaticamente à medida que são recuperados do Amazon S3. Quando o S3 Object Lambda invoca uma função, a função recebe uma URL pré-assinada inputS3Url () que pode ser usada para baixar o objeto original do ponto de acesso de suporte.

Esses pré-assinados URLs são assinados para o ponto de acesso Amazon S3 de suporte, que é fornecido quando você configura o S3 Object Lambda. (Isso não é o mesmo que o ponto de acesso do Object Lambda.) Em vez de usar uma função vinculada à função Lambda, a URL é assinada usando a identidade do chamador original, e as permissões desse usuário serão aplicadas quando a URL for usada. Se houver cabeçalhos assinados na URL, a função Lambda deve incluir esses cabeçalhos na chamada para o Amazon S3.

O URL pré-assinado que é retornado tem um tempo de expiração de 61 segundos (um segundo a mais do que a duração máxima de uma função Lambda do S3 Object). O URL gerado só pode ser usado com o ponto de acesso de suporte. O chamador do ponto de acesso S3 Object Lambda precisa ter acesso a esse ponto de acesso. Você pode limitar esse acesso ao contexto do S3 Object Lambda usando a condição. "aws:CalledVia": ["s3-object-lambda.amazonaws.com"] Quando essa condição é anexada a um ponto de acesso ou bucket de suporte, o usuário não pode acessar diretamente o ponto de acesso ou bucket de suporte.

O valor dessa abordagem é que não há necessidade de conceder acesso à função Lambda ao seu bucket ou ponto de acesso do S3. A função associada à função Lambda precisará de permissões WriteGetObjectResponse, mas não precisará de permissões para. GetObject

Quando o S3 Object Lambda gera um código URLs pré-assinado, ele não adiciona restrições de rede, portanto, um URL pode ser usado fora da função Lambda. No entanto, quaisquer restrições impostas ao chamador do S3 Object Lambda ainda se aplicam. Por exemplo, se sua função Lambda for executada em uma VPC e você restringir o chamador a usar um VPC endpoint, qualquer pessoa que possua a URL pré-assinada precisaria enviá-la por meio desse endpoint da VPC. Essa restrição também se aplica a SourceIpe. VpcSourceIp 

nota

Para usar uma função Lambda do S3 Object em uma VPC, a VPC deve ter uma rota para os endpoints públicos do S3 para fazer a chamada. WriteGetObjectResponse Isso não indica que os requisitos para usar um VPC endpoint não se aplicariam às solicitações de recuperação de dados do bucket.

AWS Lambda Entre regiões CopyObject

Diretor:AWS interno

Expiração padrão: 3600 segundos

Quando você usa a UploadPartCopyAPI CopyObjectou para copiar Regiões da AWS, o Amazon S3 usa URLs presigned internamente. Eles APIs podem ser chamados diretamente de SDKs ou a partir dos AWS CLI comandos aws s3api copy-object aws s3api upload-part e. Eles APIs não são usados para a replicação do Amazon S3, mas são usados pelos aws s3 sync comandos AWS CLI aws s3 cp e quando a origem e o destino são buckets do S3. Eles também são suportados por TransferManager implementações em vários AWS SDKs.

AWS Lambda GetFunction

Diretor: AWS interno

Expiração padrão: 10 minutos

AWS Lambda armazena a versão do usuário em um bucket S3 de propriedade da equipe Lambda, antes de gerar os ativos implantados nos contêineres Lambda. Quando quiser acessar o código da sua função, você chama a GetFunctionAPI. Essa API responde comCode.Location, que contém um URL pré-assinado válido por 10 minutos (esse tempo de expiração é o comportamento atual e não um contrato publicado). Se você não quiser o código, você pode usar uma combinação de GetFunctionConfiguration, GetFunctionConcurrency, e ListTagspara recuperar os outros dados retornados porGetFunction.

O URL retornado não é assinado com as credenciais do usuário atualmente conectado, mas em nome do usuário pela Lambda. Por esse motivo, as chaves de condição (comoaws:SourceIP) aplicadas ao usuário atualmente conectado ou às credenciais de sessão temporária do usuário não se aplicam ao URL gerado. Isso vale se as chaves de condição forem aplicadas GetFunctionsomente ou aplicadas a todo o uso da API da AWS para o usuário ou a sessão.

O console Lambda também usa GetFunctiono URL pré-assinado que ele retorna. O console usa as credenciais temporárias associadas ao usuário atualmente conectado para ligar. GetFunction Detalhes sobre a obtenção dessas credenciais temporárias estão fora do escopo deste documento.

Amazon ECR

Diretor: AWS interno

Expiração padrão: 1 hora

O Amazon Elastic Container Registry (Amazon ECR) fornece GetDownloadUrlForLayera API, que retorna uma URL pré-assinada que é válida por uma hora e suporta o download de uma única camada de uma imagem do Amazon ECR. No entanto, essa operação é usada pelo proxy Amazon ECR e geralmente não é usada pelos usuários para extrair e enviar imagens.

Amazon Redshift Spectrum

Principal: Função passada para CREATE EXTERNAL SCHEMA por meio de IAM_ROLE

Expiração padrão: 1 hora

O Amazon Redshift Spectrum usa URLs presigned internamente e proíbe restrições na combinação do bucket e da função do Amazon Redshift que limitariam o pré-assinado. URLs Você pode usar um s3:signatureAge valor de 16 minutos, mas valores muito baixos não são confiáveis. O valor mínimo que você pode usar depende do tempo e do tamanho da sua consulta. Embora um valor inferior a 16 minutos funcione para muitos cenários, ele exige testes. A função pode e deve ser restrita para ser usada somente pelo Redshift Spectrum, que não divulga o que URLs ela gera, mitigando assim a justificativa típica para valores de expiração mais baixos.

Estúdio Amazon SageMaker AI

O Amazon SageMaker AI Studio oferece suporte a duas ações de API: CreatePresignedDomainUrlCreatePresignedNotebookInstanceUrle. No entanto, eles APIs não estão relacionados ao recurso de URL pré-assinado do Signature Version 4. Eles APIs criam uma URL que usa um authToken parâmetro, mas não oferecem suporte a nenhum dos parâmetros de consulta padrão do Signature Version 4.

authTokené um mecanismo diferente, mas tem semelhanças com o URLs preassinado. Ele é enviado como um parâmetro de sequência de caracteres de consulta e suporta um tempo de expiração de 5 minutos.

SageMaker A IA suporta restrições de rede. Se você colocar uma restrição na sagemaker:CreatePresignedDomainUrl ação, essa ação se aplicará tanto à chamada CreatePresignedDomainUrlquanto ao uso da URL gerada. Se uma URL for gerada a partir de uma rede válida e depois enviada por uma rede inválida, a chamada de API para gerar a URL será bem-sucedida, mas a solicitação que envia a URL falhará. O mesmo se aplica CreatePresignedNotebookInstanceUrlà sagemaker:CreatePresignedNotebookInstanceUrl ação.

Para obter mais informações, consulte a documentação da SageMaker IA.