Sécurité - Salle d'attente virtuelle sur AWS

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.

Sécurité

Lorsque vous créez des systèmes sur une AWS infrastructure, les responsabilités en matière de sécurité sont partagées entre vous et AWS. Ce modèle partagé réduit votre charge opérationnelle car il AWS exploite, gère et contrôle les composants, notamment le système d'exploitation hôte, la couche de virtualisation et la sécurité physique des installations dans lesquelles les services fonctionnent. Pour plus d'informations sur AWS la sécurité, consultez AWS Cloud Security.

Elasticache (Redis OSS) se voit attribuer une interface réseau au sein du VPC privé. Les fonctions Lambda qui interagissent avec Elasticache (Redis OSS) se voient également attribuer des interfaces réseau au sein d'un VPC. Toutes les autres ressources disposent d'une connectivité réseau dans l'espace AWS réseau partagé. Les fonctions Lambda dotées d'interfaces VPC qui interagissent avec d'autres services AWS utilisent des points de terminaison VPC pour se connecter à ces services.

Les clés publiques et privées utilisées pour créer et valider les jetons Web JSON sont générées au moment du déploiement et stockées dans Secrets Manager. Le mot de passe utilisé pour se connecter à Elasticache (Redis OSS) est également généré au moment du déploiement et stocké dans Secrets Manager. La clé privée et le mot de passe Elasticache (Redis OSS) ne sont accessibles via aucune API de solution.

L'API publique doit être accessible via CloudFront. La solution génère une clé d'API pour API Gateway, qui est utilisée comme valeur d'un en-tête personnaliséx-api-key, dans CloudFront. CloudFront inclut cet en-tête lors des demandes d'origine. Pour plus de détails, consultez la section Ajout d'en-têtes personnalisés aux demandes d'origine dans le manuel Amazon CloudFront Developer Guide.

Les paramètres privés APIs sont configurés pour nécessiter une autorisation AWS IAM pour l'invocation. La solution crée le groupe d'utilisateurs ProtectedAPIGroup IAM avec les autorisations appropriées pour invoquer le mode privé APIs. Un utilisateur IAM ajouté à ce groupe est autorisé à invoquer le mode privé APIs.

Les politiques IAM utilisées dans les rôles et les autorisations attachés aux différentes ressources créées par la solution n'accordent que les autorisations requises pour effectuer les tâches nécessaires.

Pour les ressources telles que les compartiments S3, les files d'attente SQS et les rubriques SNS générées par la solution, le chiffrement au repos et pendant le transit est activé dans la mesure du possible.

Surveillance

La pile d'API principale comprend plusieurs CloudWatch alarmes qui peuvent être surveillées pour détecter les problèmes pendant le fonctionnement de la solution. La pile crée une alarme en cas d'erreur de fonction Lambda et de conditions d'accélérateur, et fait passer l'état de l'alarme OK à ALARM si une erreur ou une condition d'accélérateur survient sur une période d'une minute.

La pile crée également des alarmes pour chaque déploiement d'API Gateway pour les codes d'état 4XX et 5XX. L'alarme passe de l'état OK à ALARM si un code d'état 4XX ou 5XX est renvoyé par l'API dans un délai d'une minute.

Ces alarmes reprennent OK leur état après une minute sans erreur ni accélération.

Rôles IAM

AWS Identity and Access Management Les rôles (IAM) permettent aux clients d'attribuer des politiques d'accès et des autorisations détaillées aux services et aux utilisateurs sur le AWS cloud. Cette solution crée des rôles IAM qui accordent aux AWS Lambda fonctions de la solution l'accès pour créer des ressources régionales.

Amazon CloudFront

Le virtual-waiting-room-on-aws.template CloudFormation modèle, qui crée le noyau public et privé APIs de la salle d'attente, déploie également une CloudFront distribution pour l'API publique. CloudFront met en cache les réponses de l'API publique, réduisant ainsi la charge sur API Gateway et les fonctions Lambda qui exécutent leur travail.

Cette solution propose également un exemple de modèle de salle d'attente optionnel qui déploie une application Web simple hébergée dans un bucket Amazon Simple Storage Service (Amazon S3). Pour réduire la latence et améliorer la sécurité, une CloudFront distribution Amazon est déployée avec une identité d'accès d'origine, c'est-à-dire un CloudFront utilisateur qui fournit un accès public au contenu du bucket du site Web de la solution. Pour plus d'informations, reportez-vous à la section Restreindre l'accès au contenu Amazon S3 à l'aide d'une identité d'accès d'origine dans le manuel Amazon CloudFront Developer Guide.

Groupes de sécurité

Les groupes de sécurité VPC créés dans cette solution sont conçus pour contrôler et isoler le trafic réseau vers Elasticache (Redis OSS). Les Lambdas qui doivent communiquer avec Elasticache (Redis OSS) sont placés dans le même groupe de sécurité que celui d'Elasticache (Redis OSS). Nous vous recommandons de passer en revue les groupes de sécurité et de restreindre davantage l'accès, le cas échéant, une fois le déploiement terminé.