2.3 - Configuration et protection des API (Parameter Store, WAF)

L'objectif 2.3 de l'AWS Certified Developer Associate couvre la gestion de la configuration et la protection des API. Pour stocker de nombreuses valeurs de configuration hiérarchiques, comme /app/prod/db-host, SSM Parameter Store prend en charge des chemins hiérarchiques pour organiser et récupérer les paramètres par préfixe et appliquer l'IAM par chemin. Quand une équipe a besoin de valeurs plus grandes ou de politiques de paramètres comme l'expiration, le tier avancé de Parameter Store les fournit au-delà des limites du tier standard. Pour protéger une API REST publique sur API Gateway des exploits courants comme l'injection SQL et le cross-site scripting, AWS WAF avec des groupes de règles gérées filtre les requêtes malveillantes via des ensembles de règles maintenus par AWS. Tu dois aussi connaître les paramètres SecureString, la limitation et les plans d'usage. Attends-toi à des mises en situation demandant le bon service ou tier.

Astuce mémoire
Nombreuses valeurs de config hiérarchiques (/app/prod/...) = chemins hiérarchiques Parameter Store. Valeurs plus grandes ou politiques = tier avancé. Protéger une API publique de SQLi/XSS = groupes de règles gérées WAF.

Questions d'entraînement

1. Une fonction Lambda dans un VPC doit appeler KMS et DynamoDB de façon privée, sans accès Internet. Qu'est-ce qui permet cela ?

  • Une passerelle Internet sur le sous-réseau
  • Une IP publique sur la fonction
  • Des points de terminaison VPC pour les services (bonne réponse)
  • Un réglage mémoire plus grand pour la fonction

Des points de terminaison VPC de type interface (PrivateLink) pour KMS et un endpoint passerelle pour DynamoDB permettent à une Lambda dans un VPC d'atteindre ces services via le réseau privé AWS, sans chemin Internet.

2. Quel service permet à un développeur de stocker de simples valeurs de configuration, et éventuellement des chaînes chiffrées, récupérables par les applications à faible coût ?

  • Amazon S3 stockant un fichier de configuration JSON
  • Clés gérées par le client AWS KMS
  • AWS Systems Manager Parameter Store (bonne réponse)
  • Tables de configuration Amazon RDS

Parameter Store conserve la configuration sous forme de paramètres, dont des valeurs SecureString chiffrées avec KMS, récupérables via le SDK. Les paramètres standard sont gratuits, ce qui en fait un stockage de config économique.

3. Un développeur veut chiffrer un objet S3 de sorte qu'AWS gère les clés sans configuration de clé ni coût supplémentaire. Quelle option côté serveur convient ?

  • SSE-S3 avec des clés gérées par Amazon S3 (bonne réponse)
  • SSE-C où le client fournit la clé
  • SSE-KMS avec une clé gérée par le client
  • Chiffrement côté client avant le téléversement

SSE-S3 chiffre les objets avec des clés entièrement gérées par S3 (AES-256), sans configuration de clé ni surcoût. SSE-KMS ajoute l'audit et le contrôle d'accès via des clés KMS, mais avec des coûts et une configuration KMS.

4. Un développeur stocke un mot de passe RDS dans Secrets Manager et veut qu'il soit renouvelé automatiquement tous les 30 jours. Qu'est-ce qui effectue la rotation ?

  • Une Lambda de rotation invoquée selon la planification (bonne réponse)
  • Un journal CloudTrail rejouant l'ancien secret
  • Une règle de cycle de vie S3 expirant le secret
  • Un TTL DynamoDB supprimant l'ancienne version

La rotation de Secrets Manager utilise une fonction Lambda (fournie pour RDS ou personnalisée) que Secrets Manager invoque selon la planification configurée pour créer une nouvelle version du secret et mettre à jour l'identifiant de base.

5. Un développeur veut que le code applicatif EC2 obtienne des identifiants AWS sans embarquer de clés. Quelle est l'approche recommandée ?

  • Attacher un rôle IAM via un profil d'instance (bonne réponse)
  • Stocker une clé d'accès dans le script user data
  • Écrire les clés d'accès dans un fichier de l'AMI
  • Passer les clés en variables d'environnement au démarrage

Un rôle IAM attaché via un profil d'instance fournit des identifiants temporaires, renouvelés automatiquement, récupérables depuis le service de métadonnées d'instance, éliminant les clés stockées. Embarquer des clés dans user data ou l'AMI est un risque de sécurité.

6. Un développeur doit stocker de nombreuses valeurs de configuration hiérarchiques (par ex. /app/dev/db/url) et les récupérer par préfixe de chemin à bas coût. Quel service est conçu pour cela ?

  • AWS Secrets Manager avec rotation automatique
  • Amazon DynamoDB avec une clé primaire composite
  • SSM Parameter Store avec des chemins hiérarchiques (bonne réponse)
  • Amazon S3 avec une structure de clés en dossiers

Parameter Store organise les paramètres en chemins hiérarchiques et prend en charge GetParametersByPath pour récupérer tout un sous-arbre, avec un palier standard gratuit. Secrets Manager convient mieux quand la rotation automatique des secrets est prioritaire.

Objectifs liés