Desarrollo con Amazon S3 mediante los SDK de AWS y los exploradores - Amazon Simple Storage Service

Desarrollo con Amazon S3 mediante los SDK de AWS y los exploradores

Puede utilizar los SDK de AWS para desarrollar aplicaciones con Amazon S3. Los SDK de AWS simplifican las tareas de programación dado que incluyen la API de REST subyacente. Los SDK de AWS para móviles y la biblioteca de JavaScript de AWS Amplify también están disponibles para crear con AWS aplicaciones web y móviles conectadas.

En esta sección, se proporciona información general sobre el uso de los SDK de AWS para desarrollar aplicaciones de Amazon S3. En esta sección, también se describe cómo probar los ejemplos de código del SDK de AWS proporcionados en esta guía.

Además de los SDK de AWS, los exploradores de AWS están disponibles para Visual Studio y el entorno de desarrollo integrado (IDE) de Eclipse para Java. En este caso, los SDK y los exploradores están disponibles agrupados como conjuntos de herramientas de AWS.

Además, puede utilizar AWS Command Line Interface (AWS CLI) para administrar los buckets y los objetos de Amazon S3.

AWS Toolkit for Eclipse

AWS Toolkit for Eclipse incluye AWS SDK for Java y AWS Explorer para Eclipse. AWS Explorer para Eclipse es un complemento de código abierto para el IDE de Eclipse para Java. Este complemento facilita a los desarrolladores las tareas de desarrollo, depuración e implementación de aplicaciones Java mediante AWS. La interfaz gráfica de usuario (GUI) fácil de usar le permite obtener acceso a su infraestructura de AWS y administrarla, incluido Amazon S3. Puede realizar operaciones comunes, como administrar sus buckets y objetos, y configurar políticas de IAM, además de desarrollar aplicaciones, todo ello dentro del contexto del IDE de Eclipse para Java. Para obtener instrucciones de configuración, consulte Configuración del Toolkit. Para ver ejemplos de cómo utilizar el explorador, consulte Cómo acceder a AWS Explorer.

AWS Toolkit for Visual Studio

AWS Explorer para Visual Studio es una extensión para Microsoft Visual Studio que facilita a los desarrolladores las tareas de desarrollo, depuración e implementación de aplicaciones .NET con Amazon Web Services. La interfaz gráfica de usuario (GUI) fácil de usar le permite obtener acceso a su infraestructura de AWS y administrarla, incluido Amazon S3. Puede realizar operaciones comunes como administrar sus buckets y objetos o configurar políticas de IAM, y, al mismo tiempo desarrollar aplicaciones, todo dentro del contexto de Visual Studio. Para obtener instrucciones de configuración, consulte Configuración de AWS Toolkit for Visual Studio. Para ver ejemplos de cómo utilizar Amazon S3 con el explorador, consulte Uso de Amazon S3 desde AWS Explorer.

AWS SDK

Puede descargar solo los SDK. Para obtener información sobre la descarga de las bibliotecas de SDK, consulte Código de muestra y bibliotecas.

AWS CLI

La AWS CLI es una herramienta unificada para administrar los servicios de AWS, incluido Amazon S3. Para obtener más información sobre la descarga de la AWS CLI, consulte AWS Command Line Interface.

Uso de este servicio con un SDK de AWS

Los kits de desarrollo de software (SDK) de AWS se encuentran disponibles en muchos lenguajes de programación populares. Cada SDK proporciona una API, ejemplos de código y documentación que facilitan a los desarrolladores la creación de aplicaciones en su lenguaje preferido.

Para obtener ejemplos específicos de este servicio, consulte Ejemplos de código de Amazon S3 con SDK de AWS.

Ejemplo de disponibilidad

¿No encuentra lo que necesita? Solicite un ejemplo de código mediante el enlace de Proporcionar comentarios que se encuentra en la parte inferior de esta página.

Especificación de Signature Version en la autenticación de solicitudes

Amazon S3 solo es compatible con AWS Signature Version 4 en la mayoría de las Regiones de AWS. En algunas de las Regiones de AWS más antiguas, Amazon S3 admite Signature Version 4 y Signature Version 2. Sin embargo, Signature Version 2 se va a desactivar (esta característica quedará obsoleta). Para obtener más información sobre el final del periodo de soporte de Signature Version 2, consulte AWS Signature Version 2 se va a desactivar (quedará obsoleta) para Amazon S3.

Para ver una lista de todas las regiones de Amazon S3 y las versiones de Signature que admiten, consulte Regiones y puntos de enlace en la Referencia general de AWS.

Para todas las Regiones de AWS, los SDK de AWS utilizan Signature Version 4 de forma predeterminada con el fin de autenticar solicitudes. Si utiliza los SDK de AWS lanzados antes de mayo de 2016, es posible que deba solicitar Signature Version 4, como se muestra en la siguiente tabla.

SDK Solicitud de Signature Version 4 para una autenticación de solicitud
AWS CLI

Para el perfil predeterminado, ejecute el siguiente comando:

$ aws configure set default.s3.signature_version s3v4

Para un perfil común, ejecute el siguiente comando:

$ aws configure set profile.your_profile_name.s3.signature_version s3v4
SDK de Java

Añada lo siguiente en su código:

System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true");

O bien, en la línea de comando, especifique lo siguiente:

-Dcom.amazonaws.services.s3.enableV4
SDK de JavaScript

Configure el parámetro signatureVersion en v4 cuando cree el cliente:

var s3 = new AWS.S3({signatureVersion: 'v4'});
SDK de PHP

Configure el parámetro signature en v4 cuando cree el cliente del servicio de Amazon S3 para PHP SDK v2:

<?php $client = S3Client::factory([ 'region' => 'YOUR-REGION', 'version' => 'latest', 'signature' => 'v4' ]);

Cuando utilice el SDK de PHP v3, establezca el parámetro signature_version en v4 durante la construcción del cliente de servicio de Amazon S3:

<?php $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'YOUR-REGION', 'signature_version' => 'v4' ]);
SDK de Python-Boto

Especifique lo siguiente en el archivo de configuración predeterminado boto:

[s3] use-sigv4 = True
SDK de Ruby

SDK de Ruby - Version 1: configure el parámetro :s3_signature_version en :v4 cuando cree el cliente:

s3 = AWS::S3::Client.new(:s3_signature_version => :v4)

SDK de Ruby - Version 3: configure el parámetro signature_version en v4 cuando cree el cliente:

s3 = Aws::S3::Client.new(signature_version: 'v4')
SDK de .NET

Añada lo siguiente al código antes de crear el cliente de Amazon S3:

AWSConfigsS3.UseSignatureVersion4 = true;

O bien, añada lo siguiente al archivo de configuración:

<appSettings> <add key="AWS.S3.UseSignatureVersion4" value="true" /> </appSettings>

 

AWS Signature Version 2 se va a desactivar (quedará obsoleta) para Amazon S3

Sin embargo, Signature Version 2 se va a desactivar (quedará obsoleta) en Amazon S3. Amazon S3 solo aceptará solicitudes de API que estén firmadas con Signature Version 4.

En esta sección, se incluyen algunas respuestas a preguntas comunes sobre el final del servicio de soporte de Signature Version 2.

¿Qué es Signature Version 2/4 y qué significa la firma de solicitudes?

El proceso de firma Signature Version 2 o Signature Version 4 se utiliza para autenticar las solicitudes de API de Amazon S3. La firma de solicitudes permite que Amazon S3 pueda identificar quién está enviando la solicitud y ayuda a proteger las solicitudes frente a agentes malintencionados.

Para obtener más información sobre la firma de solicitudes de AWS, consulte Firma de solicitudes de AWS en la Referencia general de AWS.

¿En qué consiste la actualización?

En la actualidad, pueden utilizarse solicitudes de la API de Amazon S3 firmadas con Signature Version 2 y Signature Version 4. Cuando esto suceda, Amazon S3 solamente aceptará solicitudes que estén firmadas con Signature Version 4.

Para obtener más información sobre la firma de solicitudes de AWS, consulte Cambios de Signature Version 4 en la Referencia general de AWS.

¿Por qué se realiza la actualización?

En lugar de utilizar una clave de acceso secreta, Signature Version 4 usa una clave de firma, lo que mejora la seguridad. En la actualidad, Signature Version 4 puede utilizarse en todas las Regiones de AWS, mientras que Signature Version 2 solo se admite en las regiones que se lanzaron antes de enero de 2014. Esta actualización nos permite proporcionar una experiencia más uniforme en todas las regiones.

¿Cómo sé si estoy utilizando Signature Version 4 y qué actualizaciones tengo que hacer?

Normalmente, la versión de Signature que se utiliza para firmar las solicitudes viene determinada por la herramienta o el SDK del lado del cliente. De forma predeterminada, las últimas versiones de los SDK de AWS utilizan Signature Version 4. En el caso del software de terceros, póngase en contacto con el equipo de soporte del software correspondiente para confirmar la versión que necesita. Si envía llamadas REST directas a Amazon S3, debe modificar la aplicación para que utilice el proceso de firma Signature Version 4.

Para obtener información acerca de qué versión de los SDK de AWS debe usarse al pasar a Signature Version 4, consulte Transición de Signature Version 2 a Signature Version 4.

Para obtener información acerca del uso de Signature Version 4 con la API de REST de Amazon S3, consulte Autenticación de solicitudes (AWS Signature Version 4) en la Referencia de la API de Amazon Simple Storage Service.

¿Qué sucede si no realizo la actualización?

Las solicitudes firmadas con Signature Version 2 que se generen cuando esto suceda, no podrán autenticarse con Amazon S3. Los solicitantes recibirán mensajes de error en los que se informará de que la solicitud debe firmarse con Signature Version 4.

¿Debo hacer algún cambio aunque utilice una URL prefirmada que requiera mi firma durante más de siete días?

Si utiliza una URL prefirmada que necesita su firma durante más de siete días, no tiene que hacer nada por el momento. Podrá seguir utilizando AWS Signature Version 2 para firmar y autenticar la URL prefirmada. Seguiremos investigando y le proporcionaremos más detalles sobre la migración a Signature Version 4 con direcciones URL prefirmadas.

Más información

Transición de Signature Version 2 a Signature Version 4

Si en la actualidad utiliza Signature Version 2 para autenticar las solicitudes de API de Amazon S3, debe cambiar a Signature Version 4. Tal y como se describe en , el servicio de soporte de Signature Version 2 está a punto de finaliza AWS Signature Version 2 se va a desactivar (quedará obsoleta) para Amazon S3.

Para obtener información acerca del uso de Signature Version 4 con la API de REST de Amazon S3, consulte Autenticación de solicitudes (AWS Signature Version 4) en la Referencia de la API de Amazon Simple Storage Service.

En la tabla siguiente, se muestran los SDK con la versión mínima necesaria para utilizar Signature Version 4 (SigV4). Si utiliza URL prefirmadas con los SDK de AWS para Java, JavaScript (Node.js) o Python (Boto/CLI), debe especificar la Región de AWS apropiada y configurar Signature Version 4 para el cliente. Para obtener información acerca de la configuración de SigV4 en el cliente, consulte Especificación de Signature Version en la autenticación de solicitudes.

Si utiliza este SDK o producto Actualice a esta versión del SDK ¿Es necesario cambiar el código para que el cliente utilice Sigv4? Enlace a la documentación del SDK

AWS SDK for Java v1

Actualice a Java 1.11.201+ o v2. Especificación de Signature Version en la autenticación de solicitudes

AWS SDK for Java v2

No es necesario actualizar el SDK. No AWS SDK for Java

AWS SDK for .NET v1

Actualice a 3.1.10 o versiones posteriores. AWS SDK for .NET

AWS SDK for .NET v2

Actualice a 3.1.10 o versiones posteriores. No AWS SDK for .NET v2

AWS SDK for .NET v3

Actualice a 3.3.0.0 o versiones posteriores. AWS SDK for .NET v3

AWS SDK for JavaScript v1

Actualice a 2.68.0 o versiones posteriores. AWS SDK for JavaScript

AWS SDK for JavaScript v2

Actualice a 2.68.0 o versiones posteriores. AWS SDK for JavaScript

AWS SDK for JavaScript v3

No tiene que hacer nada por el momento. Actualice a la versión principal V3 en el tercer trimestre de 2019. No AWS SDK for JavaScript

AWS SDK for PHP v1

Se recomienda actualizar a la versión más reciente de PHP o, al menos, a la v2.7.4 con el parámetro de firma establecido en v4 en la configuración del cliente de S3. AWS SDK for PHP

AWS SDK for PHP v2

Se recomienda actualizar a la versión más reciente de PHP o, al menos, a la v2.7.4 con el parámetro de firma establecido en v4 en la configuración del cliente de S3. No AWS SDK for PHP

AWS SDK for PHP v3

No es necesario actualizar el SDK. No AWS SDK for PHP

Boto2

Actualice a Boto2 v2.49.0. Actualización a Boto 2

Boto3

Actualice a 1.5.71 (Botocore), 1.4.6 (Boto3). Boto 3: AWS SDK para Python

AWS CLI

Actualice a 1.11.108. AWS Command Line Interface

AWS CLI v2 (vista previa)

No es necesario actualizar el SDK. No Versión 2 de la AWS Command Line Interface

AWS SDK for Ruby v1

Actualice a Ruby V3. Ruby V3 para AWS

AWS SDK for Ruby v2

Actualice a Ruby V3. Ruby V3 para AWS

AWS SDK for Ruby v3

No es necesario actualizar el SDK. No Ruby V3 para AWS

Go

No es necesario actualizar el SDK. No AWS SDK for Go

C++

No es necesario actualizar el SDK. No AWS SDK for C++
AWS Tools for Windows PowerShell o bien AWS Tools for PowerShell Core

Si utiliza versiones del módulo anteriores a 3.3.0.0, debe actualizar a 3.3.0.0.

Para obtener información sobre la versión, utilice el cmdlet Get-Module:

Get-Module –Name AWSPowershell Get-Module –Name AWSPowershell.NetCore

Para actualizar a la versión 3.3.0.0, utilice el cmdlet Update-Module:

Update-Module –Name AWSPowershell Update-Module –Name AWSPowershell.NetCore

Puede utilizar direcciones URL prefirmadas que sean válidas durante más siete días en las que el tráfico se envíe con Signature Version 2.