# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: MIT-0 # --- examples/central_shared_services/modules/iam/main.tf --- # DATA SOURCE: AWS CALLER IDENTITY - Used to get the Account ID data "aws_caller_identity" "current" {} # EC2 IAM ROLE - SSM access # IAM instance profile resource "aws_iam_instance_profile" "ec2_instance_profile" { name = "ec2_instance_profile_${var.identifier}" role = aws_iam_role.role_ec2.id } # IAM role data "aws_iam_policy_document" "policy_document" { statement { sid = "1" actions = ["sts:AssumeRole"] principals { type = "Service" identifiers = ["ec2.amazonaws.com"] } } } resource "aws_iam_role" "role_ec2" { name = "ec2_ssm_role_${var.identifier}" path = "/" assume_role_policy = data.aws_iam_policy_document.policy_document.json } # Policies Attachment to Role resource "aws_iam_policy_attachment" "ssm_iam_role_policy_attachment" { name = "ssm_iam_role_policy_attachment_${var.identifier}" roles = [aws_iam_role.role_ec2.id] policy_arn = "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore" }