Développer avec Amazon S3 à l'aide des kits SDK AWS et des explorateurs - Amazon Simple Storage Service

Développer avec Amazon S3 à l'aide des kits SDK AWS et des explorateurs

Vous pouvez utiliser les kits SDK AWS lorsque vous développez des applications avec Amazon S3. Les kits SDK AWS simplifient vos tâches de programmation en encapsulant l'API REST sous-jacente. Les kits SDK AWS Mobile et la bibliothèque AWS Amplify JavaScript sont également disponibles pour développer des applications web et mobiles connectées via AWS.

Cette section explique comment utiliser les kits SDK AWS pour développer des applications Amazon S3. Elle explique également comment tester les exemples de code des kits SDK AWS fournis dans ce guide.

En plus des kits SDK AWS, des explorateurs AWS sont disponibles pour Visual Studio et l'IDE Eclipse pour Java. Dans ce cas, les SDK et les explorateurs sont proposés de façon groupée, sous la forme de boîtes à outils AWS.

Vous pouvez également utiliser l'AWS Command Line Interface (AWS CLI) pour gérer les objets et compartiments Amazon S3.

AWS Toolkit for Eclipse

La boîte à outils AWS Toolkit for Eclipse inclut le kit AWS et AWS SDK for Java Explorer for Eclipse. AWS Explorer for Eclipse est un plugin open source pour l'IDE Eclipse pour Java. Il permet aux développeurs de développer, déboguer et déployer plus facilement des applications Java utilisant AWS. L'interface utilisateur graphique facile à utiliser vous permet d'accéder à votre infrastructure AWS incluant Amazon S3 et de l'administrer. Vous pouvez effectuer des opérations courantes, telles que la gestion de vos compartiments et objets, ou la définition des stratégies IAM, tout en développant des applications, dans le cadre de l'IDE Eclipse pour Java. Pour obtenir des instructions, veuillez consulter Configurer la boîte à outils. Pour obtenir des exemples d'utilisation de l'explorateur, veuillez consulter Comment accéder à AWS Explorer.

AWS Toolkit for Visual Studio

AWS Explorer pour Visual Studio est une extension pour Microsoft Visual Studio qui permet aux développeurs de concevoir, de déployer et de déboguer plus facilement des applications .NET à l'aide d'Amazon Web Services. L'interface utilisateur graphique facile à utiliser vous permet d'accéder à votre infrastructure AWS incluant Amazon S3 et de l'administrer. Vous pouvez effectuer des opérations courantes, telles que la gestion de vos compartiments et objets, ou la définition des stratégies IAM, tout en développant des applications, dans le cadre de Visual Studio. Pour obtenir des instructions de configuration, consultez Configuration de AWS Toolkit for Visual Studio. Pour obtenir des exemples d'utilisation d'Amazon S3 via l'explorateur, veuillez consulter Utilisation d'Amazon S3 à partir d'AWS Explorer.

AWSKits SDK

Vous pouvez ne télécharger que les kits SDK. Pour de plus amples informations sur le téléchargement des bibliothèques de kits SDK, veuillez consulter Exemples de bibliothèques de codes.

AWS CLI

La AWS CLI est un outil unifié permettant de gérer vos services AWS, y compris Amazon S3. Pour plus d'informations sur le téléchargement de l'AWS CLI, consultez AWS Command Line Interface.

Utilisation de ce service avec un kit SDK AWS

Les kits de développement (SDK) AWS sont disponibles pour de nombreux langages de programmation populaires. Chaque kit SDK fournit une API, des exemples de code et de la documentation qui facilitent la création d'applications par les développeurs dans leur langage préféré.

Exemple de disponibilité

Vous n'avez pas trouvé ce dont vous avez besoin ? Demandez un exemple de code en utilisant le lien Provide feedback (Fournir un commentaire) en bas de cette page.

Spécification de la version de signature dans l'authentification de la demande

Amazon S3 prend uniquement en charge AWS Signature Version 4 dans la plupart des Régions AWS. Dans certaines Régions AWS plus anciennes, Amazon S3 prend en charge Signature Version 4 et Signature Version 2. Cependant, Signature Version 2 est en cours de désactivation (obsolète). Pour de plus amples informations sur la fin de la prise en charge de Signature Version 2, veuillez consulter AWSDésactivation d'Signature Version 2 (obsolète) pour Amazon S3.

Pour obtenir la liste de toutes les régions Amazon S3 et savoir quelles sont les versions de signatures qu'elles prennent en charge, veuillez consulter Régions et points de terminaisons dans les Références générales AWS.

Pour toutes les Régions AWS, les kits SDK AWS utilisent Signature Version 4 par défaut pour authentifier les demandes. Lorsque vous utilisez des kits SDK AWS publiés avant mai 2016, il est possible que vous ayez à demander Signature Version 4, comme illustré dans le tableau suivant.

Kit SDK Demande de la Signature Version 4 pour l'authentification des demandes
AWS CLI

Pour le profil par défaut, exécutez la commande suivante :

$ aws configure set default.s3.signature_version s3v4

Pour un profil personnalisé, exécutez la commande suivante :

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

Ajoutez la chaîne suivante à votre code :

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

Sinon, vous pouvez spécifier la commande ci-dessous dans la ligne de commande :

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

Définissez le paramètre signatureVersion sur v4 lors de la création du client:

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

Définissez le paramètre signature sur v4 lors de la création du client de service Amazon S3 pour le kit SDK PHP v2 :

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

Lorsque vous utilisez le kit SDK PHP v3, définissez le paramètre signature_version sur v4 lors de la création du client de service Amazon S3 :

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

Spécifiez la chaîne suivante dans le fichier de configuration par défaut boto:

[s3] use-sigv4 = True
Kit SDK Ruby

Kit SDK Ruby – Version 1 : définissez le paramètre :s3_signature_version sur :v4 lors de la création du client:

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

Kit SDK Ruby – Version 3 : définissez le paramètre signature_version sur v4 lors de la création du client:

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

Ajoutez la chaîne suivante au code avant de créer le client Amazon S3 :

AWSConfigsS3.UseSignatureVersion4 = true;

Sinon, vous pouvez ajouter le code ci-dessous au fichier de configuration :

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

 

AWSDésactivation d'Signature Version 2 (obsolète) pour Amazon S3

Signature Version 2 est en cours de désactivation (obsolète) dans Amazon S3. Une fois cette version devenue obsolète, Amazon S3 n'acceptera plus que les demandes d'API signées avec Signature Version 4.

Cette section fournit des réponses aux questions fréquentes concernant la fin de la prise en charge de Signature Version 2.

Qu'est-ce que Signature Version 2/4 et qu'implique la signature des demandes ?

Le processus de signature de Signature Version 2 ou Signature Version 4 est utilisé pour authentifier vos demandes d'API Amazon S3. La signature des demandes permet à Amazon S3 d'identifier l'auteur de l'envoi de la demande et protège vos demandes contre les utilisateurs malveillants.

Pour de plus amples informations sur la signature de demandes AWS, veuillez consulter Signature de demandes d'API AWS dans les Références générales AWS.

En quoi consiste la mise à jour ?

Nous prenons actuellement en charge les demandes d'API Amazon S3 qui sont signées avec les processus Signature Version 2 et Signature Version 4. Une fois la version 2 devenue obsolète, Amazon S3 n'acceptera plus que les demandes signées avec Signature Version 4.

Pour de plus amples informations sur la signature des demandes AWS, veuillez consulter Modifications dans Signature Version 4 dans les Références générales AWS.

Quel est l'objectif de cette mise à jour ?

Signature Version 4 améliore la sécurité grâce à l'utilisation d'une clé de signature au lieu d'une clé d'accès secrète. Signature Version 4 est actuellement pris en charge dans toutes les Régions AWS, alors que Signature Version 2 est uniquement pris en charge dans les régions lancées avant janvier 2014. Cette mise à jour nous permet d'offrir une expérience plus homogène dans toutes les régions.

Comment vérifier que j'utilise Signature Version 4 et quelles sont les mises à jour dont j'ai besoin ?

La version de signature utilisée pour signer les demandes est généralement définie par l'outil ou le kit SDK du côté du client. Pour défaut, les dernières versions de nos kits SDK AWS utilisent Signature Version 4. Pour les logiciels tiers, contactez l'équipe d'assistance appropriée de votre logiciel pour confirmer la version dont vous avez besoin. Si vous envoyez des appels REST directs à Amazon S3, vous devez modifier votre application pour qu'elle utilise le processus de signature Signature Version 4.

Pour de plus amples informations sur la version des kits SDK AWS à utiliser lors de l'adoption de Signature Version 4, veuillez consulter Passage de Signature Version 2 à Signature Version 4.

Pour de plus amples informations sur l'utilisation de Signature Version 4 avec l'API REST Amazon S3, veuillez consulter Authentification des demandes (AWS Signature Version 4) dans la Référence API Amazon Simple Storage Service.

Que se passe-t-il si je n'effectue pas les mises à niveau ?

L'authentification des demandes signées avec Signature Version 2 échouera avec Amazon S3. Les demandeurs verront des erreurs indiquant que la demande doit être signée avec Signature Version 4.

Dois-je effectuer des modifications même si j'utilise une URL présignée qui exige que je signe pour plus de 7 jours ?

Si vous utilisez une URL présignée qui exige que vous signiez pour plus de 7 jours, aucune action n'est requise de votre part. Vous pouvez continuer à utiliser AWS Signature Version 2 pour signer et authentifier l'URL présignée. Nous fournirons prochainement des informations supplémentaires sur le passage à Signature Version 4 avec les URL présignées.

Plus d'informations

Passage de Signature Version 2 à Signature Version 4

Si vous utilisez actuellement Signature Version 2 pour authentifier vos demandes d'API Amazon S3, vous devez passer à Signature Version 4. Signature Version 2 ne sera bientôt plus pris en charge, comme décrit dans AWSDésactivation d'Signature Version 2 (obsolète) pour Amazon S3.

Pour de plus amples informations sur l'utilisation de Signature Version 4 avec l'API REST Amazon S3, veuillez consulter Authentification des demandes (AWS Signature Version 4) dans la Référence API Amazon Simple Storage Service.

La liste suivante répertorie les kits SDK avec la version minimum nécessaire pour utiliser Signature Version 4 (SigV4). Si vous utilisez des URL présignées avec les kits AWS SDK Java, JavaScript (Node.js) ou Python (Boto/CLI), vous devez spécifier la Région AWS correcte et définir Signature Version 4 dans la configuration client. Pour de plus amples informations sur la définition de SigV4 dans la configuration client, veuillez consulter Spécification de la version de signature dans l'authentification de la demande.

Si vous utilisez ce kit SDK/produit Passez à cette version de SDK Modification de code requise dans le client pour utiliser Sigv4 ? Lien vers la documentation SDK

AWS SDK for Java v1

Passez à Java 1.11.201+ ou v2 au cours du 4e trimestre 2018. Oui Spécification de la version de signature dans l'authentification de la demande

AWS SDK for Java v2 (prévisualisation)

Pas de mise à niveau de SDK nécessaire. Non AWS SDK for Java

AWS SDK for .NET v1

Passez à 3.1.10 ou version ultérieure. Oui AWS SDK for .NET

AWS SDK for .NET v2

Passez à 3.1.10 ou version ultérieure. Non AWS SDK for .NET v2

AWS SDK for .NET v3

Passez à 3.3.0.0 ou version ultérieure. Oui AWS SDK for .NET v3

AWS SDK for JavaScript v1

Passez à 2.68.0 ou version ultérieure. Oui AWS SDK for JavaScript

AWS SDK for JavaScript v2

Passez à 2.68.0 ou version ultérieure. Oui AWS SDK for JavaScript

AWS SDK for JavaScript v3

Aucune autre action n'est requise. Passez à la version majeure V3 au cours du 3e trimestre 2019. Non AWS SDK for JavaScript

AWS SDK for PHP v1

Recommandation de mise à niveau vers la version la plus récente de PHP ou, au moins, vers v2.7.4 avec le paramètre de signature défini sur v4 dans la configuration du client S3. Oui AWS SDK for PHP

AWS SDK for PHP v2

Recommandation de mise à niveau vers la version la plus récente de PHP ou, au moins, vers v2.7.4 avec le paramètre de signature défini sur v4 dans la configuration du client S3. Non AWS SDK for PHP

AWS SDK for PHP v3

Pas de mise à niveau de SDK nécessaire. Non AWS SDK for PHP

Boto2

Passez à Boto2 v2.49.0. Oui Mise à niveau Boto 2

Boto3

Passez à 1.5.71 (Botocore), 1.4.6 (Boto3). Oui Boto 3 - Kit AWS SDK pour Python

AWS CLI

Passez à 1.11.108. Oui AWS Command Line Interface

AWS CLI v2 (prévisualisation)

Pas de mise à niveau de SDK nécessaire. Non AWS Command Line Interface version 2

AWS SDK for Ruby v1

Passez à Ruby V3. Oui Ruby V3 pour AWS

AWS SDK for Ruby v2

Passez à Ruby V3. Oui Ruby V3 pour AWS

AWS SDK for Ruby v3

Pas de mise à niveau de SDK nécessaire. Non Ruby V3 pour AWS

Go

Pas de mise à niveau de SDK nécessaire. Non AWS SDK for Go

C++

Pas de mise à niveau de SDK nécessaire. Non AWS SDK for C++

AWS Tools for Windows PowerShell ou AWS Tools for PowerShell Core

Si vous utilisez des versions de module antérieures à 3.3.0.0, vous devez passer à 3.3.0.0.

Pour obtenir les informations de version, utilisez le cmdlet Get-Module :

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

Pour mettre à jour la version 3.3.0.0, utilisez le cmdlet Update-Module :

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

Vous pouvez utiliser des URL présignées valides pendant plus de 7 jours sur lesquelles vous pouvez envoyer le trafic Signature Version 2.