Bonnes pratiques de sécurité pour Amazon S3 - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Bonnes pratiques de sécurité pour Amazon S3

Amazon S3 fournit différentes fonctions de sécurité à prendre en compte lorsque vous développez et implémentez vos propres stratégies de sécurité. Les bonnes pratiques suivantes doivent être considérées comme des instructions générales et ne représentent pas une solution de sécurité complète. Étant donné que ces bonnes pratiques peuvent ne pas être appropriées ou suffisantes pour votre environnement, considérez-les comme des recommandations utiles plutôt que comme des prescriptions.

Bonnes pratiques en matière de sécurité Amazon S3

Les bonnes pratiques suivantes pour Amazon S3 peuvent vous aider à éviter des incidents de sécurité.

Désactiver les listes de contrôle d'accès (ACL)

La propriété d'objets S3 est un paramètre Amazon S3 au niveau des compartiments que vous pouvez utiliser pour contrôler la propriété des objets qui sont chargés dans votre compartiment, ainsi que pour désactiver ou activer les listes ACL. Par défaut, la propriété d'objets est définie sur le paramètre Propriétaire du compartiment appliqué, et toutes les listes ACL sont désactivées. Lorsque les listes ACL sont désactivées, le propriétaire du compartiment détient tous les objets présents dans le compartiment et gère l'accès aux données exclusivement à l'aide de politiques de gestion des accès.

La majorité des cas d'utilisation modernes dans Amazon S3 ne nécessitent plus l'utilisation de listes de contrôle d'accès (ACL). Nous vous recommandons de désactiver les listes ACL, sauf dans des circonstances inhabituelles où vous devez contrôler l'accès pour chaque objet individuellement. Pour désactiver les listes de contrôle d'accès et prendre possession de tous les objets de votre compartiment, appliquez le paramètre d'application du propriétaire du compartiment pour la propriété des objets S3. Lorsque vous désactivez les listes ACL, vous pouvez facilement gérer un compartiment avec des objets téléchargés par différents Comptes AWS.

Lorsque les listes ACL sont désactivées, le contrôle d'accès à vos données est basé sur des politiques telles que les suivantes :

  • AWS Identity and Access Management politiques utilisateur (IAM)

  • Politiques de compartiment S3

  • Politiques de point de terminaison de cloud privé virtuel (VPC)

  • AWS Organizations politiques de contrôle des services (SCP)

La désactivation des ACL simplifie la gestion des autorisations et l'audit. Les listes ACL sont désactivées par défaut pour les nouveaux compartiments. Vous pouvez également désactiver les listes ACL pour les compartiments existants. Si vous avez un compartiment contenant déjà des objets, une fois que vous avez désactivé les listes ACL, les listes ACL d'objet et de compartiment ne font plus partie du processus d'évaluation des accès. Au lieu de cela, l'accès est accordé ou refusé sur la base des politiques.

Avant de désactiver les listes ACL, assurez-vous d'effectuer les opérations suivantes :

  • Passez en revue votre politique de compartiment pour vous assurer qu'elle couvre toutes les façons dont vous avez l'intention d'accorder l'accès à votre compartiment hors de votre compte.

  • Réinitialisez votre liste ACL de compartiment à sa valeur par défaut (contrôle total accordé au propriétaire du compartiment).

Une fois que vous avez désactivé les listes ACL, les comportements suivants se produisent :

  • Votre compartiment accepte uniquement les demandes PUT qui ne spécifient pas de liste ACL ou les demandes PUT avec des listes ACL de contrôle total du propriétaire du compartiment. Ces listes ACL incluent la liste ACL prédéfinie bucket-owner-full-control ou des formes équivalentes de cette liste ACL exprimées en XML.

  • Les applications existantes prenant en charge les listes ACL de contrôle total du propriétaire du compartiment n'ont aucun impact.

  • PUTles requêtes contenant d'autres ACL (par exemple, des autorisations personnalisées accordées à certaines Comptes AWS) échouent et renvoient un code d'état HTTP 400 (Bad Request) avec le code AccessControlListNotSupported d'erreur.

Pour de plus amples informations, veuillez consulter Consultez Contrôle de la propriété des objets et désactivation des listes ACL pour votre compartiment.

Veillez à ce que vos compartiments Amazon S3 utilisent les stratégies appropriées et ne soient pas accessibles publiquement

À moins que vous ayez explicitement besoin que quiconque sur Internet puisse lire ou écrire dans votre compartiment S3, veillez à ce que votre compartiment S3 ne soit pas public. Voici quelques-unes des étapes que vous pouvez suivre pour bloquer l'accès public :

  • Utilisez le blocage de l'accès public S3. Le blocage de l'accès public S3 vous permet de configurer facilement des contrôles centralisés pour limiter l'accès public à vos ressources Amazon S3. Ces contrôles centralisés sont appliqués quelle que soit la manière dont les ressources sont créées. Pour plus d’informations, consultez Blocage de l'accès public à votre stockage Amazon S3.

  • Identifiez les politiques de compartiment Amazon S3 qui autorisent une identité à caractère générique telle que "Principal": "*" (qui signifie en fait « n'importe qui »). Recherchez également les politiques qui autorisent une action à caractère générique "*" (qui permet à l'utilisateur d'effectuer n'importe quelle action dans le compartiment Amazon S3).

  • De même, recherchez les listes de contrôle d'accès aux compartiments (ACL) Amazon S3 qui fournissent un accès en lecture, en écriture ou complet à « tout le monde » ou à « tout utilisateur authentifié AWS  ».

  • Utilisez l'opération d'API ListBuckets pour analyser tous vos compartiments Amazon S3. Utilisez ensuite GetBucketAcl, GetBucketWebsite et GetBucketPolicy pour déterminer si chaque compartiment dispose de contrôles d'accès et d'une configuration conformes.

  • Utilisez AWS Trusted Advisor pour inspecter votre implémentation Amazon S3.

  • Envisagez de mettre en œuvre des contrôles de détection continus en utilisant les AWS Config Rules gérés s3-bucket-public-read-prohibited et s3-bucket-public-write-prohibited.

Pour plus d’informations, consultez Identity and Access Management dans Amazon S3.

Implémentation d'un accès sur la base du moindre privilège

Lorsque vous accordez des autorisations, vous décidez qui obtient quelles autorisations pour telles ou telles ressources Amazon S3. Vous activez des actions spécifiques que vous souhaitez autoriser sur ces ressources. Par conséquent, nous vous recommandons d'accorder uniquement les autorisations qui sont requises pour effectuer une tâche. L'implémentation d'un accès sur la base du moindre privilège est fondamentale pour réduire les risques en matière de sécurité et l'impact que pourraient avoir des d'erreurs ou des actes de malveillance.

Les outils suivants sont disponibles pour l'implémentation d'un accès sur la base du moindre privilège :

Pour obtenir des conseils sur ce qu'il faut prendre en compte lors du choix d'un ou plusieurs des mécanismes précédents, veuillez consulter Consignes relatives à la stratégie d'accès.

Utiliser des rôles IAM pour les applications Services AWS qui nécessitent un accès à Amazon S3

Pour que les applications exécutées sur Amazon EC2 ou autre puissent accéder Services AWS aux ressources Amazon S3, elles doivent inclure des AWS informations d'identification valides dans leurs demandes d' AWS API. Nous vous recommandons de ne pas stocker AWS les informations d'identification directement dans l'application ou l'instance Amazon EC2. Il s'agit d'autorisations à long terme qui ne font pas automatiquement l'objet d'une rotation et qui pourraient avoir un impact commercial important si elles étaient compromises.

À la place, utilisez un rôle IAM pour gérer des autorisations temporaires pour les applications ou services devant accéder à Amazon S3. Lorsque vous utilisez un rôle, vous n'avez pas besoin de distribuer des informations d'identification à long terme (telles qu'un nom d'utilisateur et un mot de passe ou des clés d'accès) à une instance Amazon EC2 ou Service AWS, par exemple. AWS Lambda Le rôle fournit des autorisations temporaires que les applications peuvent utiliser lorsqu'elles appellent d'autres AWS ressources.

Pour plus d'informations, veuillez consulter les rubriques suivantes dans le Guide de l'utilisateur IAM :

Prise en compte du chiffrement de données au repos

Pour protéger des données au repos dans Amazon S3, les options suivantes sont possibles :

  • Chiffrement côté serveur : le chiffrement est configuré par défaut pour tous les compartiments Amazon S3, et tous les nouveaux objets chargés dans un compartiment S3 sont automatiquement chiffrés au repos. Le chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3) est la configuration de chiffrement par défaut pour chaque compartiment dans Amazon S3. Pour utiliser un autre type de chiffrement, vous pouvez soit spécifier le type de chiffrement côté serveur à utiliser dans vos demandes PUT S3, soit définir la configuration de chiffrement par défaut dans le compartiment de destination.

    Amazon S3 propose également les options de chiffrement côté serveur suivantes :

    • Chiffrement côté serveur avec clés AWS Key Management Service (AWS KMS) (SSE-KMS)

    • Chiffrement double couche côté serveur avec clés AWS Key Management Service (AWS KMS) (DSSE-KMS)

    • Chiffrement côté serveur avec clés fournies par le client (SSE-C)

    Pour plus d’informations, consultez Protection des données avec le chiffrement côté serveur.

  • Chiffrement côté client : chiffrez les données côté client et chargez les données chiffrées dans Amazon S3. Dans ce cas, vous gérez le processus de chiffrement, les clés de chiffrement et les outils associés. Comme le chiffrement côté serveur, le chiffrement côté client peut contribuer à réduire les risques en chiffrant les données avec une clé qui est stockée dans un autre mécanisme que le mécanisme qui stocke les données elles-mêmes.

    Amazon S3 fournit plusieurs options de chiffrement côté client. Pour plus d’informations, consultez Protection des données avec le chiffrement côté client.

Application du chiffrement des données en transit

Vous pouvez utiliser le protocole HTTPS (TLS) pour empêcher les attaquants potentiels d'espionner ou de manipuler le trafic réseau en utilisant des attaques similaires. person-in-the-middle Nous vous recommandons d'autoriser uniquement les connexions chiffrées sur HTTPS (TLS) en utilisant la condition aws:SecureTransport dans vos politiques de compartiment Amazon S3.

Envisagez également de mettre en œuvre des contrôles de détection continus en utilisant la règle AWS Config gérée s3-bucket-ssl-requests-only.

Prise en compte de l'utilisation du verrouillage des objets S3

Avec le verrouillage des objets S3, vous pouvez stocker des objets en utilisant un modèle « Write Once Read Many » (WORM). Le verrouillage des objets S3 peut contribuer à empêcher une suppression accidentelle ou inappropriée de données. Par exemple, vous pouvez utiliser S3 Object Lock pour protéger vos AWS CloudTrail journaux.

Pour de plus amples informations, veuillez consulter Utilisation du verrouillage des objets S3.

Activation de la gestion des versions S3

La gestion des versions S3 est un moyen de conserver plusieurs variantes d'un objet dans le même compartiment. Vous pouvez utiliser la gestion des versions pour préserver, récupérer et restaurer chaque version de chaque objet stocké dans votre compartiment . La gestion des versions permet de récupérer facilement les données en cas d'actions involontaires des utilisateurs ou de défaillances des applications.

Envisagez également de mettre en œuvre des contrôles de détection continus en utilisant la règle AWS Config gérée s3-bucket-versioning-enabled.

Pour plus d’informations, consultez Utilisation de la gestion des versions dans les compartiments S3.

Prise en compte de l'utilisation de la réplication entre régions Amazon S3

Même si Amazon S3 stocke par défaut vos données dans plusieurs zones de disponibilité distinctes géographiquement, les exigences de conformité peuvent vous obliger à stocker les données à des distances encore plus importantes. Avec S3 Cross-Region Replication (CRR), vous pouvez répliquer des données entre des sites distants Régions AWS pour répondre à ces exigences. Le CRR permet la copie automatique et asynchrone d'objets dans différents compartiments. Régions AWS Pour plus d’informations, consultez Réplication d'objets.

Note

La réplication CRR exige que la gestion des versions soit activée pour les compartiments S3 source et de destination.

Envisagez également de mettre en œuvre des contrôles de détection continus en utilisant la règle AWS Config gérée s3-bucket-replication-enabled.

Prise en compte de l'utilisation des points de terminaison de VPC pour l'accès Amazon S3

Un point de terminaison de VPC (Virtual Private Cloud) pour Amazon S3 est une entité logique au sein d'un VPC qui autorise la connectivité uniquement à Amazon S3. Les points de terminaison VPC peuvent empêcher le trafic de traverser le réseau Internet ouvert.

Les points de terminaison VPC pour Amazon S3 offrent plusieurs façons de contrôler l'accès à vos données Amazon S3 :

  • Vous pouvez contrôler les demandes, les utilisateurs ou les groupes autorisés à traverser un point de terminaison de VPC spécifique en utilisant des politiques de compartiment S3.

  • Vous pouvez contrôler quels VPC ou points de terminaison d'un VPC ont accès à vos compartiments S3 en utilisant des stratégies de compartiment S3.

  • Vous pouvez éviter l'exfiltration de données en utilisant un VPC qui ne comporte pas de passerelle Internet.

Pour plus d’informations, consultez Contrôle de l'accès à partir des points de terminaison d'un VPC avec des stratégies de compartiment.

Utilisez des services AWS de sécurité gérés pour surveiller la sécurité des données

Plusieurs services AWS de sécurité gérés peuvent vous aider à identifier, évaluer et surveiller les risques de sécurité et de conformité pour vos données Amazon S3. Ces services peuvent également vous aider à protéger vos données contre ces risques. Ces services incluent des fonctionnalités de détection, de surveillance et de protection automatisées conçues pour passer des ressources Amazon S3 réservées à une seule personne Compte AWS à des ressources destinées aux organisations comptant des milliers de comptes.

Pour plus d’informations, consultez Surveillance de la sécurité des données grâce à des services AWS de sécurité gérés.

Bonnes pratiques de surveillance et d'audit pour Amazon S3

Les bonnes pratiques suivantes pour Amazon S3 peuvent vous aider à détecter les vulnérabilités et les incidents de sécurité potentiels.

Identification et audit de tous vos compartiments Amazon S3

L'identification de vos ressources informatiques est un aspect crucial de la gouvernance et de la sécurité. Vous devez avoir une visibilité sur toutes vos ressources Amazon S3 pour évaluer leur niveau de sécurité et agir sur les zones de vulnérabilité potentielles. Pour auditer vos ressources, nous vous recommandons de procéder comme suit :

  • Utilisez Tag Editor pour identifier et baliser les ressources sensibles en matière de sécurité ou d'audit, puis utilisez ces identifications pour rechercher ces ressources. Pour plus d'informations, consultez la section Recherche de ressources à étiqueter dans le Guide de l'utilisateur AWS des ressources de balisage.

  • Utilisez l'inventaire S3 pour auditer et signaler le statut de réplication et de chiffrement de vos objets à des fins professionnelles, de conformité et d'obligations réglementaires. Pour plus d’informations, consultez Inventaire Simple Storage Service (Amazon S3).

  • Créez des groupes de ressources pour vos ressources Amazon S3. Pour plus d'informations, consultez Que sont les groupes de ressources ? dans le Guide de l'utilisateur AWS Resource Groups .

Mettre en œuvre la surveillance à l'aide d'outils AWS de surveillance

La surveillance joue un rôle important dans le maintien de la fiabilité, de la sécurité, de la disponibilité et des performances d'Amazon S3 et de vos AWS solutions. AWS fournit plusieurs outils et services pour vous aider à surveiller Amazon S3 et vos autres Services AWS. Par exemple, vous pouvez surveiller CloudWatch les métriques Amazon pour Amazon S3, en particulier les DeleteRequests métriques PutRequests GetRequests4xxErrors,, et. Pour plus d’informations, consultez Surveillance des métriques avec Amazon CloudWatch et Surveillance d'Amazon S3.

Pour obtenir un deuxième exemple, veuillez consulter Exemple : Activité de compartiment Amazon S3. Cet exemple décrit comment créer une CloudWatch alarme qui est déclenchée lorsqu'un appel d'API Amazon S3 est envoyé à une politique de compartiment, à PUT DELETE un cycle de vie de compartiment, à une configuration de réplication de compartiment ou à PUT une ACL de compartiment.

Activation de la journalisation des accès au serveur Amazon S3

La journalisation des accès au serveur fournit des enregistrements détaillés sur les demandes soumises à un compartiment. Les journaux d'accès au serveur peuvent vous aider pour les audits de sécurité et d'accès, et vous permettre d'en savoir plus sur votre base de clients et de comprendre votre facture Amazon S3. Pour obtenir des instructions pour l'activation de la journalisation des accès au serveur, veuillez consulter Enregistrement de demandes avec journalisation des accès au serveur.

Envisagez également de mettre en œuvre des contrôles de détection continus à l'aide de la règle s3-bucket-logging-enabled AWS Config gérée.

Utilisez AWS CloudTrail

AWS CloudTrail fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un Service AWS dans Amazon S3. Vous pouvez utiliser les informations collectées par CloudTrail pour déterminer les éléments suivants :

  • La demande qui a été adressée à Amazon S3

  • L'adresse IP à partir de laquelle la demande a été effectuée

  • La personne ayant effectué la demande

  • La date et l'heure où la demande a été effectuée

  • Des détails supplémentaires sur la demande

Par exemple, vous pouvez identifier les CloudTrail entrées pour les PUT actions qui affectent l'accès aux donnéesPutBucketAcl, en particulierPutObjectAcl,PutBucketPolicy, etPutBucketWebsite.

Lorsque vous configurez votre Compte AWS, CloudTrail est activé par défaut. Vous pouvez consulter les événements récents dans la CloudTrail console. Pour créer un enregistrement continu de l'activité et des événements de vos compartiments Amazon S3, vous pouvez créer un suivi dans la CloudTrail console. Pour plus d'informations, consultez Journalisation des événements de données dans le Guide de l'utilisateur AWS CloudTrail .

Lorsque vous créez un suivi, vous pouvez le configurer CloudTrail pour consigner les événements liés aux données. Les événements de données sont des enregistrements d'opérations de ressources effectuées sur ou dans une ressource. Dans Amazon S3, les événements de données enregistrent l'activité de l'API au niveau de l'objet pour des compartiments individuels. CloudTrail prend en charge un sous-ensemble d'opérations d'API au niveau des objets Amazon S3, telles queGetObject, etDeleteObject. PutObject Pour plus d'informations sur le CloudTrail fonctionnement d'Amazon S3, consultezJournalisation des appels d'API Amazon S3 à l'aide de AWS CloudTrail. Dans la console Amazon S3, vous pouvez également configurer vos compartiments S3 pour Activation de la journalisation des CloudTrail événements pour les compartiments et les objets S3.

AWS Config fournit une règle gérée (cloudtrail-s3-dataevents-enabled) que vous pouvez utiliser pour vérifier qu'au moins un journal CloudTrail enregistre des événements de données pour vos compartiments S3. Pour plus d’informations, consultez cloudtrail-s3-dataevents-enabled dans le Guide du développeur AWS Config .

Activer AWS Config

Plusieurs des meilleures pratiques répertoriées dans cette rubrique suggèrent de créer des AWS Config règles. AWS Config vous aide à évaluer, auditer et évaluer les configurations de vos AWS ressources. AWS Config surveille les configurations des ressources afin que vous puissiez évaluer les configurations enregistrées par rapport aux configurations sécurisées souhaitées. Avec AWS Config, vous pouvez effectuer les opérations suivantes :

  • Examiner les modifications apportées aux configurations et aux relations entre les ressources AWS

  • Suivre les historiques détaillés de la configuration des ressources

  • Déterminer votre conformité globale face aux configurations spécifiées dans vos instructions internes

Son utilisation AWS Config peut vous aider à simplifier l'audit de conformité, l'analyse de sécurité, la gestion des modifications et le dépannage opérationnel. Pour plus d'informations, consultez la section Configuration AWS Config avec la console dans le guide du AWS Config développeur. Lors de la spécification des types de ressources à enregistrer, assurez-vous d'inclure les ressources Amazon S3.

Important

AWS Config les règles gérées ne prennent en charge que les compartiments à usage général lors de l'évaluation des ressources Amazon S3. AWS Config n'enregistre pas les modifications de configuration pour les compartiments de répertoire. Pour plus d'informations, consultez les AWS Config sections Règles gérées et Liste des règles AWS Config gérées dans le Guide du AWS Config développeur.

Pour un exemple d'utilisation AWS Config, consultez Comment utiliser AWS Config pour surveiller et répondre aux compartiments Amazon S3 autorisant un accès public sur le blog sur la AWS sécurité.

Découverte de données sensibles à l'aide d'Amazon Macie

Amazon Macie est un service de sécurité qui découvre les données sensibles au moyen du machine learning et de la correspondance de modèles. Macie fournit une visibilité sur les risques liés à la sécurité des données et permet une protection automatisée contre ces risques. Grâce à Macie, vous pouvez automatiser la découverte et la création de rapports de données sensibles dans votre parc de données Amazon S3 afin de mieux comprendre les données stockées par votre organisation dans S3.

Pour détecter les données sensibles avec Macie, vous pouvez utiliser des critères et des techniques intégrés, conçus pour détecter une liste étendue et croissante de types de données sensibles pour de nombreux pays et régions. Ces types de données sensibles incluent plusieurs types de données d'identification personnelle (PII), des données financières et des informations d’identification. Vous pouvez également utiliser des critères personnalisés que vous définissez : des expressions régulières qui définissent des modèles de texte à mettre en correspondance et, éventuellement, des séquences de caractères et des règles de proximité pour affiner les résultats.

Si Macie détecte des données sensibles dans un objet S3, Macie génère un résultat de sécurité pour vous en informer. Ce résultat fournit des informations sur l'objet affecté, les types et le nombre d'occurrences des données sensibles découvertes par Macie, ainsi que des détails supplémentaires pour vous aider à mener des investigations sur le compartiment et l'objet S3 affectés. Pour plus d'informations, consultez le Guide de l'utilisateur Amazon Macie.

Utilisation de S3 Storage Lens

S3 Storage Lens est une fonction d'analyse du stockage dans le cloud que vous pouvez utiliser pour obtenir une visibilité à l'échelle de l'organisation sur l'utilisation et l'activité du stockage d'objets. S3 Storage Lens analyse également les métriques de stockage pour fournir des recommandations contextuelles afin d'aider à réduire les coûts de stockage et à appliquer les bonnes pratiques de protection des données.

Avec S3 Storage Lens, vous pouvez utiliser des métriques pour générer des informations récapitulatives, telles que la quantité de stockage dont vous disposez dans l'ensemble de votre organisation ou les compartiments et préfixes qui connaissent la croissance la plus rapide. Vous pouvez également utiliser les métriques S3 Storage Lens pour identifier des opportunités d'optimisation des coûts, mettre en œuvre les bonnes pratiques de protection des données et de gestion des accès, et améliorer les performances des charges de travail d'application.

Par exemple, vous pouvez identifier les compartiments qui sont dépourvus de règles de cycle de vie S3 pour abandonner les chargements partitionnés non terminés datant de plus de 7 jours. Vous pouvez également identifier les compartiments qui ne respectent pas les bonnes pratiques de protection des données, telles que l'utilisation de la réplication S3 ou de la gestion des versions S3. Pour plus d'informations, consultez la section Présentation d'Amazon S3 Storage Lens.

Surveillance des conseils de sécurité AWS

Nous vous recommandons de vérifier régulièrement les conseils de sécurité publiés dans Trusted Advisor pour votre Compte AWS. En particulier, recherchez des avertissements concernant les compartiments Amazon S3 avec des autorisations permettant un libre accès. Vous pouvez procéder par programmation en utilisant describe-trusted-advisor-checks.

De plus, surveillez activement l'adresse e-mail principale enregistrée pour chacun de vos Comptes AWS. AWS utilise cette adresse e-mail pour vous contacter au sujet de problèmes de sécurité émergents susceptibles de vous affecter.

AWS les problèmes opérationnels ayant un large impact sont publiés sur le site AWS Health Dashboard - Santé du service. Les problèmes opérationnels sont également publiés dans les comptes individuels via le tableau de bord AWS Health Dashboard. Pour en savoir plus, consultez la documentation AWS Health.