Compartilhar objetos com URLs pré-assinados - Amazon Simple Storage Service

Compartilhar objetos com URLs pré-assinados

Por padrão, todos os objetos do Amazon S3 são privados, somente o proprietário dos objetos tem permissão para acessá-los. No entanto, o proprietário dos objetos pode compartilhá-los com outras pessoas criando um URL pré-assinado. Um URL pré-assinado usa credenciais de segurança para conceder permissão por tempo limitado para baixar objetos. O URL pode ser inserido em um navegador ou usado por um programa para baixar o objeto. As credenciais usadas pelo URL pré-assinado são as do usuário da AWS que gerou o URL.

Para obter informações gerais sobre URLs pré-assinados, consulte Trabalhar com URLs pré-assinados.

É possível criar um URL pré-assinado para compartilhar um objeto sem escrever nenhum código usando o console do Amazon S3, o AWS Explorer for Visual Studio (Windows) ou AWS Toolkit for Visual Studio Code. Também é possível gerar um URL pré-assinado programaticamente usando a AWS Command Line Interface (AWS CLI) ou AWS SDKs.

É possível usar o console do Amazon S3 para gerar um URL pré-assinado para compartilhar um objeto seguindo estas etapas. Ao usar o console, o tempo máximo de validade de um URL pré-assinado é de 12 horas a partir do momento da criação.

Para gerar um URL pré-assinado usando o console do Amazon S3
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets.

  3. Na lista Buckets, selecione o nome do bucket que contém os objetos para os quais você deseja obter um URL pré-assinado.

  4. Na lista Objects (Objetos), selecione o objeto para o qual deseja criar um URL pré-assinado.

  5. No menu Ações de objeto, escolha Compartilhar com um URL pré-assinado.

  6. Especifique por quanto tempo deseja que o URL pré-assinado seja válido.

  7. Escolha Create presigned URL (Criar URL pré-assinado).

  8. Quando uma confirmação é exibida, o URL é copiado automaticamente para a área de transferência. Você verá um botão para copiar o URL pré-assinado se precisar copiá-lo novamente.

O exemplo do comando da AWS CLI a seguir gera um URL pré-assinado para compartilhar um objeto de um bucket do Amazon S3. Ao usar a AWS CLI, o tempo máximo de validade de um URL pré-assinado é de sete dias a partir do momento da criação. Para usar esse exemplo, substitua os user input placeholders por suas próprias informações.

aws s3 presign s3://DOC-EXAMPLE-BUCKET1/mydoc.txt --expires-in 604800

nota

Para todas as Regiões da AWS lançadas após 20 de março de 2019, você precisa especificar o endpoint-url e a Região da AWS com a solicitação. Para obter uma lista de todos os endpoints e as regiões do Amazon S3, consulte Regiões e endpoints na Referência geral da AWS.

aws s3 presign s3://DOC-EXAMPLE-BUCKET1/mydoc.txt --expires-in 604800 --region af-south-1 --endpoint-url https://s3.af-south-1.amazonaws.com

Para obter mais informações, consulte presign na Referência de comandos da AWS CLI.

Para obter exemplos de uso de AWS SDKs para gerar um URL pré-assinado para compartilhar um objeto, consulte Criar um URL pré-assinado para o Amazon S3 usando um AWS SDK.

Ao usar os AWS SDKs para gerar um URL pré-assinado, o tempo máximo de expiração é de sete dias a partir do momento da criação.

nota

Para todas as Regiões da AWS lançadas após 20 de março de 2019, você precisa especificar o endpoint-url e a Região da AWS com a solicitação. Para obter uma lista de todos os endpoints e as regiões do Amazon S3, consulte Regiões e endpoints na Referência geral da AWS.

nota

Ao usar AWS SDKs, o atributo de marcação deve ser um cabeçalho e não um parâmetro de consulta. Todos os outros atributos podem ser transmitidos como um parâmetro para o URL pré-assinado.

nota

No momento, o AWS Toolkit for Visual Studio não é compatível com o Visual Studio para Mac.

  1. Instale o AWS Toolkit for Visual Studio usando as instruções a seguir, Installing and setting up the Toolkit for Visual Studio no Guia do usuário do AWS Toolkit for Visual Studio.

  2. Conecte-se à AWS usando as etapas a seguir, Conectar-se ao AWS no Guia do usuário do AWS Toolkit for Visual Studio.

  3. No painel do lado esquerdo chamado AWS Explorer, clique duas vezes no bucket que contém seu objeto.

  4. Clique com o botão direito do mouse no objeto para o qual você deseja gerar um URL pré-assinado e selecione Criar URL pré-assinado….

  5. Na janela pop-up, defina a data e hora de validade para o URL pré-assinado.

  6. A Chave de objeto deve ser preenchida previamente com base no objeto selecionado.

  7. Escolha GET para especificar que esse URL pré-assinado será usado para baixar um objeto.

  8. Escolha o botão Generate (Gerar).

  9. Para copiar o URL para a área de transferência, escolha Copy (Copiar).

  10. Para usar o URL pré-assinado gerado, cole o URL em qualquer navegador.

Se estiver usando o Visual Studio Code, você poderá gerar um URL pré-assinado para compartilhar um objeto sem escrever nenhum código usando o AWS Toolkit for Visual Studio Code. Para obter informações gerais, consulte AWS Toolkit for Visual Studio Code no Guia do usuário do AWS Toolkit for Visual Studio Code.

Para obter instruções sobre como instalar o AWS Toolkit for Visual Studio Code, consulte Instalar o AWS Toolkit for Visual Studio Code no Guia do usuário do AWS Toolkit for Visual Studio Code.

  1. Conecte-se à AWS usando as etapas a seguir, Conectar-se ao AWS Toolkit for Visual Studio Code no Guia do usuário do AWS Toolkit for Visual Studio Code.

  2. Selecione o logotipo da AWS no painel esquerdo do Visual Studio Code.

  3. Em EXPLORER, selecione S3.

  4. Escolha um bucket e um arquivo e abra o menu de contexto (clique com o botão direito do mouse).

  5. Escolha Gerar URL pré-assinado e defina o tempo de validade (em minutos).

  6. Pressione Enter e o URL pré-assinado será copiado para a área de transferência.