{{tag>Brouillon Cloud}} # Cloud Terraform / OpenTofu AWS role policy ~~~ # Définition des rôles rattachés aux machines EC2 # Chaque machine a son propre rôle ce qui permet d'affiner au cas par cas # Référence à la policy managée AWS pour les Agent Cloudwatch # Commun à tous les rôles des machines EC2 data "aws_iam_policy" "AWSCloudWatchAgentServerPolicy" { arn = "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy" } # Définition une seule fois pour le document d'assume rôle # Réutilisé dans toutes les policies ci-dessous data "aws_iam_policy_document" "policy-assume-role-ec2" { statement { actions = ["sts:AssumeRole"] principals { type = "Service" identifiers = [ "ec2.amazonaws.com" ] } } } # serveur1 resource "aws_iam_role" "role-ec2-serveur1" { name = "${var.prefix}-role-ec2-serveur1" assume_role_policy = data.aws_iam_policy_document.policy-assume-role-ec2.json } resource "aws_iam_instance_profile" "profile-serveur1" { name = aws_iam_role.role-ec2-serveur1.name role = aws_iam_role.role-ec2-serveur1.name } resource "aws_iam_role_policy_attachment" "attach-CloudWatchAgentServerPolicy-serveur1" { role = aws_iam_role.role-ec2-serveur1.name policy_arn = data.aws_iam_policy.AWSCloudWatchAgentServerPolicy.arn } ~~~