Vous intervenez comme ingénieur Cloud dans une startup.
L’infrastructure AWS existe déjà, mais aucun cadre de sécurité IAM n’a été défini.
Chaque développeur dispose actuellement de droits administrateur.
Un audit de sécurité impose :
Mettre en place une architecture IAM sécurisée pour :
Le tout doit être :
Vous devez respecter les règles suivantes :
Une première tentative de mise en place IAM a été réalisée.
Fichier : `iam/main.tf`
provider "aws" {
region = "eu-west-1"
}
resource "aws_iam_user" "dev1" {
name = "dev1"
}
resource "aws_iam_user" "dev2" {
name = "dev2"
}
resource "aws_iam_user_policy" "dev_policy" {
name = "dev-policy"
user = aws_iam_user.dev1.name
policy = jsonencode({
Version = "2012-10-17",
Statement = [
{
Effect = "Allow",
Action = "*",
Resource = "*"
}
]
})
}
resource "aws_iam_user_policy_attachment" "dev2_admin" {
user = aws_iam_user.dev2.name
policy_arn = "arn:aws:iam::aws:policy/AdministratorAccess"
}
Documentation officielle :
Commandes utiles :
Fichier : `commandes/terraform.txt`
terraform init terraform plan terraform apply terraform destroy
Vous devez produire une configuration Terraform permettant de :
Livrables attendus :
Une mauvaise pratique courante consiste à utiliser :
Cette pratique est interdite dans ce TD.
Pourquoi cette pratique apparaît-elle souvent dans des projets réels ?
Dans quels cas peut-elle sembler “pratique” ?
Quels sont les problèmes de sécurité présents dans l’infrastructure fournie ?
Lesquels sont critiques ? Lesquels sont acceptables temporairement ?
Vous devez revoir votre architecture si :
Ajouter :
Un développeur doit pouvoir :
Implémenter cette contrainte.
Pourquoi cette règle est-elle difficile à implémenter proprement en IAM ?
L’entreprise prévoit :
Votre implémentation actuelle est-elle :
Quels changements sont nécessaires pour passer à l’échelle ?
Proposer au moins une amélioration concrète dans le code Terraform.
Cette amélioration doit illustrer votre réflexion.
Vous devez être capable d’expliquer :