Bonnes pratiques de sécurité préventive pour DynamoDB - Amazon DynamoDB

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é préventive pour DynamoDB

Les bonnes pratiques suivantes peuvent vous aider à anticiper et à prévenir les incidents de sécurité dans Amazon DynamoDB.

Chiffrement au repos

DynamoDB chiffre au repos toutes les données utilisateur stockées dans des tables, index, flux et sauvegardes à l'aide de clés de chiffrement stockées dans AWS Key Management Service (AWS KMS). Cela fournit une couche supplémentaire de protection des données en sécurisant vos données contre tout accès non autorisé au stockage sous-jacent.

Vous pouvez spécifier si DynamoDB doit utiliser Clé détenue par AWS une (type de chiffrement par défaut), une clé gérée par le client ou Clé gérée par AWS une clé gérée par le client pour chiffrer les données utilisateur. Pour en savoir plus, consultez Chiffrement au repos Amazon DynamoDB.

Utiliser Des rôles IAM pour authentifier l'accès à DynamoDB

Pour que les utilisateurs, les applications et les autres AWS services puissent accéder à DynamoDB, ils doivent inclure des informations d'identification AWS valides dans AWS leurs demandes d'API. Vous ne devez pas stocker les AWS informations d'identification directement dans l'application ou l'instance EC2. Il s'agit d'informations d'identification à long terme qui ne font pas l'objet d'une rotation automatique, et dont la compromission pourrait avoir un impact considérable sur l'activité. Un rôle IAM vous permet d'obtenir des clés d'accès temporaires qui peuvent être utilisées pour accéder aux AWS services et aux ressources.

Pour plus d’informations, consultez Gestion des identités et des accès pour Amazon DynamoDB.

Utiliser les politiques IAM pour l'autorisation de base de DynamoDB

Lorsque vous accordez des autorisations, vous décidez qui les reçoit, les API DynamoDB auxquelles elles s'appliquent, et les actions spécifiques que vous souhaitez autoriser sur ces ressources. L'implémentation d'un privilège minimum est la clé de la réduction des risques de sécurité et de l'impact potentiel d'erreurs ou d'actes de malveillance.

Attachez des politiques d'autorisation à des identités IAM (c'est-à-dire des utilisateurs, des groupes et des rôles) et accordez ainsi des autorisations pour exécuter des opérations sur des ressources DynamoDB.

Pour ce faire, utilisez les ressources suivantes :

Utiliser des conditions de politique IAM pour un contrôle d'accès précis

Lorsque vous accordez des autorisations dans DynamoDB, vous pouvez spécifier des conditions pour déterminer comment une politique d'autorisation doit prendre effet. L'implémentation d'un privilège minimum est la clé de la réduction des risques de sécurité et de l'impact potentiel d'erreurs ou d'actes de malveillance.

Vous pouvez spécifier des conditions lors de l'octroi d'autorisations à l'aide d'une politique IAM. Par exemple, vous pouvez effectuer les opérations suivantes :

  • Accordez des autorisations pour permettre aux utilisateurs d'accéder en lecture seule à certains éléments et attributs d'une table ou d'un index secondaire.

  • Accordez des autorisations pour permettre aux utilisateurs d'accéder en écriture seule à certains attributs d'une table, en fonction de l'identité de cet utilisateur.

Pour plus d'informations, consultez Utilisation de conditions de politique IAM pour un contrôle d'accès précis.

Utiliser un point de terminaison et des politiques de VPC pour accéder à DynamoDB

Si vous n'avez besoin d'accéder à DynamoDB qu'à partir d'un cloud privé virtuel (VPC), vous devez utiliser un point de terminaison de VPC pour limiter l'accès uniquement à partir du VPC requis. Cela empêche ce trafic de passer par l'Internet ouvert et d'être sujet à cet environnement.

L'utilisation d'un point de terminaison de VPC pour DynamoDB vous permet de contrôler et de limiter l'accès à l'aide des ressources suivantes :

  • Politiques de point de terminaison de VPC – Ces politiques sont appliquées sur le point de terminaison de VPC DynamoDB. Elles vous permettent de contrôler et de limiter l'accès d'API à la table DynamoDB.

  • Politiques IAM – En utilisant la condition aws:sourceVpce sur des politiques attachées à des utilisateurs, groupes ou rôles, vous pouvez imposer que tout accès à la table DynamoDB se fasse via le point de terminaison de VPC spécifié.

Pour plus d'informations, consultez Points de terminaison pour Amazon DynamoDB.

Envisager un chiffrement côté client

Nous vous recommandons de planifier votre stratégie de chiffrement avant d'implémenter votre table dans DynamoDB. Si vous stockez des données sensibles ou confidentielles dans DynamoDB, pensez à inclure le chiffrement côté client dans votre stratégie. Vous pourrez ainsi chiffrer les données au plus près de leur origine et garantir leur protection tout au long de leur cycle de vie. Le chiffrement de vos données sensibles en transit et au repos contribue à garantir que vos données en texte brut ne sont pas accessibles à un tiers.

Le kit SDK de chiffrement de bases de données AWS pour DynamoDB est une bibliothèque logicielle qui vous aide à protéger vos données de table avant de les envoyer à DynamoDB. Il chiffre, signe, vérifie et déchiffre les éléments de votre table DynamoDB. Vous contrôlez les attributs qui sont chiffrés et signés.

Principales considérations clés

N'utilisez pas de noms sensibles ni de données sensibles en texte brut dans votre clé primaire pour votre table et vos index secondaires globaux. Les noms des clés apparaîtront dans la définition de votre table. Par exemple, les noms des clés primaires sont accessibles à toute personne autorisée à appeler DescribeTable. Les valeurs clés peuvent apparaître dans votre journal AWS CloudTrailet dans d'autres journaux. En outre, DynamoDB utilise les valeurs clés pour distribuer les données et acheminer les demandes AWS . Les administrateurs peuvent observer ces valeurs afin de préserver l'intégrité du service.

Si vous devez utiliser des données sensibles dans votre table ou des valeurs de clé GSI, nous vous recommandons d'utiliser end-to-end le chiffrement client. Cela vous permet d'effectuer des références clé-valeur à vos données tout en vous assurant qu'elles n'apparaissent jamais non chiffrées dans vos journaux relatifs à DynamoDB. Pour ce faire, vous pouvez utiliser le SDK de chiffrement AWS de base de données pour DynamoDB, mais cela n'est pas obligatoire. Si vous utilisez votre propre solution, nous devons toujours utiliser un algorithme de cryptage suffisamment sécurisé. Vous ne devez pas utiliser d'option non cryptographique telle que le hachage, car elles ne sont pas considérées comme suffisamment sûres dans la plupart des cas.

Si les noms de vos clés primaires sont sensibles, nous vous recommandons d'utiliser `pk` et à la `sk` place. Il s'agit d'une bonne pratique générale qui laisse la conception de votre clé de partition flexible.

Consultez toujours vos experts en sécurité ou votre équipe chargée de votre AWS compte si vous vous demandez quel serait le bon choix.