Comment puis-je assurer la sécurité des fichiers de mon compartiment Amazon S3 ?

Dernière mise à jour : 10/11/2020

Je souhaite être sûr que mes compartiments et mes objets (Amazon S3) sont en sécurité. Les ressources que je souhaite rendre privées doivent rester privées. Comment limiter les autorisations d’accès à mes ressource Amazon S3 ? Comment puis-je surveiller l’accès à ces ressources ?

Résolution

Restreindre l’accès à vos ressources S3

Par défaut, tous les compartiments S3 sont privés et l’accès à ces derniers sont accessibles uniquement aux utilisateurs auxquels vous avez explicitement autorisé l’accès. Lorsque vous utilisez AWS, une bonne pratique consiste à restreindre l’accès à vos ressources aux seules personnes qui en ont réellement besoin. Suivez le principe du moindre privilège.

Restreignez l’accès à vos compartiments ou objets S3 en :

  • Écrivez des stratégies utilisateur AWS Identity and Access Management (IAM) qui indiquent les utilisateurs qui peuvent accéder à des compartiments et objets spécifiques. Les stratégies IAM fournissent un moyen de gérer par programme les autorisations Amazon S3 de plusieurs utilisateurs. Pour plus d'informations sur la création et le test de stratégies utilisateur, consultez Générateur de stratégie AWS et Simulateur de stratégie IAM.
  • Écrivez des stratégies de compartiment qui définissent l'accès à des objets et des compartiments spécifiques. Vous pouvez utiliser une stratégie de compartiment pour accorder des accès entre plusieurs comptes AWS, accorder des autorisations publiques ou anonymes et autoriser ou bloquer l'accès en fonction des conditions. Pour plus d'informations sur la création et le test des stratégies de compartiment, consultez Générateur de stratégies AWS.
    Remarque : Vous pouvez utiliser une déclaration de refus dans une stratégie de compartiment pour restreindre l’accès à des utilisateurs IAM spécifiques , même si les utilisateurs IAM se voient accorder l’accès dans une stratégie IAM.
  • Utilisation d’accès public Amazon S3 Block comme moyen centralisé de limiter l’accès public. Les paramètres Block Public Access remplacent les stratégies de compartiment et les autorisations d'objet. Veillez à activer Block Public Access (Bloquer l'accès public) pour tous les comptes et compartiments pour lesquels vous ne voulez pas autoriser un accès public.
  • Définissez des listes de contrôle d'accès (ACL) sur vos compartiments et objets.
    Remarque : si vous devez gérer les autorisations par programme, utilisez des stratégies IAM ou de compartiment à la place des listes ACL. Cependant, vous pouvez utiliser des listes ACL lorsque votre stratégie de compartiment dépasse la taille de fichier maximale 20 Ko. Ou bien, vous pouvez utiliser des listes ACL pour accorder l'accès pour les journaux d'accès du serveur Amazon S3 ou les journaux Amazon CloudFront.

Tenez compte des bonnes pratiques suivantes lorsque vous utilisez des listes ACL pour sécuriser vos ressources :

  • Assurez-vous de consulter es autorisations ACL qui permettent des opérations Amazon S3 sur un compartiment ou un objet. Pour la liste des autorisations ACL et les actions qu'elles autorisent, consultez Quelles autorisations est-il possible d'accorder ?
  • Soyez strict quant aux personnes qui peuvent disposer d'un accès en lecture et en écriture sur vos compartiments.
  • Réfléchissez bien à votre cas d'utilisation avant d'accorder un accès en lecture au groupe Everyone (Tout le monde), car cet accès permet à quiconque d'accéder à un compartiment ou un objet.
  • N’utilisez jamais un accès en Écriture au groupe Tous. Ce paramètre permet à tout le monde d’ajouter des objets à votre compartiment, et vous seriez facturé pour cela. Ce paramètre permet également à n'importe quel utilisateur de supprimer des objets dans le compartiment.
  • N'accordez jamais l'accès en écriture au groupe Any authenticated AWS user (N'importe quel utilisateur AWS authentifié). Ce groupe comprend toutes les personnes disposant d’un compte AWS actif, et pas seulement les utilisateurs IAM dans votre compte. Pour contrôler l’accès des utilisateurs IAM à votre compte, utilisez plutôt la stratégie IAM. Pour plus d’informations sur la façon sont Amazon S3 évalue les stratégies IAM, consultez Comment Amazon S3 autorise une demande.

En plus d’utiliser les stratégies, Block Public Access et les ACL, vous pouvez également restreindre l’accès à des opérations de spécifiques ainsi:

  • Activez la MFA Delete (Suppression MFA) qui impose aux utilisateurs de s'authentifier à l'aide d'un périphérique Authentification multi-facteur (MFA) pour pouvoir supprimer un objet ou désactiver la gestion des versions d'un compartiment.
  • Définissez MFA-protected API access (Accès API protégé par MFA) qui impose aux utilisateurs de s'authentifier avec un appareil MFA AWS pour pouvoir exécuter certaines opérations API Amazon S3.
  • Si vous partagez provisoirement un objet S3 avec un autre utilisateur, créez une URL pré enregistré pour accorder un accès limité dans le temps à l’objet. Pour plus d'informations, consultez Partage d'un objet avec d'autres utilisateurs.

Surveillez vos ressources S3

Vous pouvez activer la journalisation et surveiller vos ressources S3 de la manière suivante :

Utilisez le chiffrement pour protéger vos données

Si votre cas d’utilisation exige le chiffrement pendant une transmission, Amazon S3 prend en charge le protocole HTTPS, qui chiffre les données en transit depuis et vers Amazon S3. Tous les SDK AWS et outils AWS utilisent HTTPS par défaut.
Remarque : Si vous utilisez des outils tiers pour interagir avec Amazon S3, contactez les développeurs pour vérifier que leurs outils prennent également en charge le protocole HTTPS.

Si votre cas d’utilisation exige le chiffrement des données au repos, Amazon S3 permet le chiffrement côté serveur (SSE). Les options SSE sont SSE-S3, SSE-KMS ou SSE-C. Vous pouvez spécifier les paramètres SSE au moment où vous inscrivez les objets dans le compartiment. Vous pouvez également activer le chiffrement par défaut sur votre compartiment avec SSE-S3 ou SSE-KMS.

Si votre cas d'utilisation nécessite le chiffrement côté client, consultez Protection des données en utilisant le chiffrement côté client.