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 SNS
AWS fournit de nombreuses fonctionnalités de sécurité pour Amazon SNS. Déterminez en quoi ces fonctionnalités de sécurité peuvent être utiles dans le contexte de votre propre stratégie de sécurité.
Note
Les instructions relatives à ces fonctionnalités de sécurité s'appliquent aux cas d'utilisation et aux implémentations courants. Nous vous suggérons de consulter ces bonnes pratiques dans le contexte de votre cas d'utilisation, de votre architecture et de votre modèle spécifique de lutte contre les menaces.
Bonnes pratiques en matière de prévention
Voici les bonnes pratiques de sécurité préventive pour Amazon SNS.
Rubriques
Assurez-vous que les sujets ne sont pas accessibles au public
À moins que vous n'exigiez explicitement que quiconque sur Internet puisse lire ou écrire sur votre rubrique Amazon SNS, vous devez vous assurer que votre rubrique n'est pas accessible au public (accessible par tout le monde dans le monde ou par tout AWS utilisateur authentifié).
-
Évitez de créer des stratégies avec
Principaldéfini sur"". -
Évitez d'utiliser un caractère générique (
*). Nommez plutôt un ou plusieurs utilisateurs spécifiques.
Implémentation d'un accès sur la base du moindre privilège
Lorsque vous accordez des autorisations, vous décidez qui les reçoit, à quelles rubriques celles-ci sont destinées et quelles actions d'API spécifiques vous souhaitez autoriser pour ces rubriques. La mise en œuvre du principe du moindre privilège est cruciale pour réduire les risques en matière de sécurité. Elle contribue également à réduire l'effet négatif des erreurs ou des intentions malveillantes.
Suivez les conseils de sécurité standard pour accorder le moindre privilège. Autrement dit, accordez uniquement les autorisations requises pour effectuer une tâche spécifique. Vous pouvez implémenter le moindre privilège en utilisant une combinaison de stratégies de sécurité relatives à l'accès des utilisateurs.
Amazon SNS utilise le modèle éditeur-abonné, nécessitant trois types d'accès de compte utilisateur :
-
Administrateurs - Accès à la création, à la modification et à la suppression de rubriques. Les administrateurs contrôlent également les stratégies de rubrique.
-
Éditeurs – Accès à l'envoi de messages à des rubriques.
-
Abonnés – Accès à l'abonnement à des rubriques.
Pour plus d’informations, consultez les sections suivantes :
Utilisez les rôles IAM pour les applications et AWS services nécessitant un accès à Amazon SNS
Pour que les applications ou AWS les services, tels qu'Amazon EC2, puissent accéder aux rubriques Amazon SNS, ils doivent utiliser des AWS informations d'identification valides dans leurs demandes d' AWS API. Ces informations d'identification ne faisant pas l'objet d'une rotation automatique, vous ne devez pas les stocker AWS directement dans l'application ou l'instance EC2.
Vous devez utiliser un rôle IAM pour gérer des informations d’identification temporaires pour les applications ou services devant accéder à Amazon SNS. Quand vous utilisez un rôle, vous n'avez pas besoin de distribuer des informations d'identification à long terme (telles qu'un nom d'utilisateur, un mot de passe et des clé d'accès) à une instance EC2 ou à un service AWS comme AWS Lambda. Au lieu de cela, le rôle fournit des autorisations temporaires que les applications peuvent utiliser lorsqu'elles appellent d'autres AWS ressources.
Pour de plus amples informations, veuillez consulter Rôles IAMet Scénarios courants pour les rôles : utilisateurs, applications et services dans le guide de l'utilisateur.
Mise en œuvre du chiffrement côté serveur
Pour atténuer les problèmes de fuite de données, utilisez le chiffrement au repos pour chiffrer vos messages à l'aide d'une clé stockée dans un emplacement différent de celui dans lequel vos messages sont stockés. Server-sidele chiffrement (SSE) assure le chiffrement des données au repos. Amazon SNS chiffre vos données au niveau des messages lorsqu'il les stocke et déchiffre les messages pour vous lorsque vous y accédez. SSE utilise des clés gérées dans AWS Key Management Service. Tant que vous authentifiez votre demande et que vous avez des autorisations d'accès, il n'y a aucune différence entre l'accès aux rubriques chiffrées et aux rubriques déchiffrées.
Pour plus d’informations, consultez Sécurisation des données Amazon SNS grâce au chiffrement côté serveur et Gestion des clés de chiffrement Amazon SNS et des coûts.
Application du chiffrement des données en transit
Il est possible, mais non recommandé, de publier des messages qui ne sont pas chiffrés pendant le transit en utilisant HTTP. Cependant, lorsqu'un sujet est chiffré au repos AWS KMS, il est nécessaire d'utiliser le protocole HTTPS pour publier des messages afin de garantir le chiffrement à la fois au repos et en transit. Bien que la rubrique ne rejette pas automatiquement les messages HTTP, l'utilisation du protocole HTTPS est nécessaire pour maintenir les normes de sécurité.
AWS recommande d'utiliser HTTPS au lieu de HTTP. Lorsque vous utilisez HTTPS, les messages sont automatiquement chiffrés pendant le transit, même si la rubrique SNS elle-même n'est pas chiffrée. Sans HTTPS, un pirate sur le réseau peut écouter le trafic réseau ou le manipuler, en utilisant une attaque telle qu'une attaque de l'homme du milieu.
Pour appliquer uniquement les connexions chiffrées via HTTPS, ajoutez la condition aws:SecureTransport dans la politique IAM attachée aux rubriques SNS non chiffrées. Cela force les éditeurs de messages à utiliser HTTPS au lieu de HTTP. Vous pouvez utiliser l'exemple de politique suivant à titre de guide :
Réflexion sur l'utilisation des points de terminaison de VPC pour accéder à Amazon SNS
Si vous avez des rubriques avec lesquelles vous devez pouvoir interagir mais qui ne doivent absolument pas être exposées à Internet, utilisez des points de terminaison de VPC afin d'en limiter l'accès aux seuls hôtes qui font partie de ce VPC. Vous pouvez utiliser des stratégies de rubrique pour contrôler l'accès aux rubriques à partir de points de terminaison Amazon point de terminaison d'un VPC ou de VPC spécifiques.
Les points de terminaison Amazon SNS VPC offrent deux façons de contrôler l'accès à vos messages :
-
Vous pouvez contrôler les demandes, les utilisateurs ou les groupes autorisés à traverser un point de terminaison d’un VPC spécifique.
-
Vous pouvez contrôler quels VPC ou points de terminaison de VPC ont accès à votre rubrique à l'aide d'une stratégie de rubrique.
Pour plus d’informations, consultez Création du point de terminaison et Création d'une politique de point de terminaison d'Amazon VPC pour Amazon SNS.
Assurez-vous que les abonnements ne sont pas configurés pour diffuser vers des points de terminaison HTTP bruts
Évitez de configurer les abonnements pour effectuer une livraison à des points de terminaison http bruts. Ayez toujours des abonnements livrés au nom de domaine d’un de point de terminaison. Par exemple, un abonnement configuré pour effectuer une livraison à un point de terminaison, http://1.2.3.4/my-path, doit être remplacé par http://my.domain.name/my-path.
Appliquer l'authentification lors de la désinscription
À moins que vous ne soyez obligé d'autoriser le désabonnement non authentifié, comme dans les cas de désabonnement facile par e-mail ou SMS, vous devez appliquer l'authentification pour vous désinscrire d'un sujet. Ceci est conforme à la recommandation de contrôle d'accès avec le moindre privilège.
Vous pouvez le AuthenticateOnUnsubscribe paramétrer True lors de la confirmation d'un abonnement. Si vous ne définissez pas l'AuthenticateOnUnsubscribeindicateur True lors de la confirmation d'un abonnement Amazon SNS, les demandes de désabonnement peuvent aboutir, même si elles ne sont pas authentifiées. Pour plus d'informations, consultez la référence de l'API Amazon SNS pour ConfirmSubscription ou l'exemple Python de la bibliothèque Amazon Q Detector.
Par exemple, pour confirmer un abonnement par e-mail à l'aide de AWS CLI, copiez le lien contenu dans le texte « Confirmer l'abonnement » figurant dans la notification par e-mail. Cette URL vous fournira les informations nécessaires pour appeler la AWS CLI commande ci-dessous.
aws sns confirm-subscription --region us-west-2 \ --topic-arn sns-topic-arn \ --token token-from-subscribe-notification \ --authenticate-on-unsubscribe true
Où :
-
aws-region est la AWS région dans laquelle se trouve le sujet. Ceci est également disponible dans la rubrique ARN.
-
sns-topic-arn est l'ARN de la rubrique. Il s'agit du texte situé après « TopicArn = » et avant « &Token » dans l'URL de confirmation de l'abonnement.
-
token-from-subscribe-notification est la chaîne UUID située après « Token= » et avant « &Endpoint » dans l'URL de confirmation de l'abonnement.
Voici un exemple d'URL :
https://sns.us-west-2.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:us-west-2:123456789012:sns-topic&Token=a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1&Endpoint=email@address.com