From 100707f93830380697ea3385abe0e583ab825f7c Mon Sep 17 00:00:00 2001 From: ubaniobiajulumemmanuel Date: Sat, 6 Dec 2025 22:24:56 +0100 Subject: [PATCH] Added IAM role files for Bank 10 --- dev/backend.tf | 7 ------- roles/backend.tf | 17 +++++++++++++++++ roles/devops.tf | 17 +++++++++++++++++ roles/frontend.tf | 17 +++++++++++++++++ roles/main.tf | 1 + roles/provider.tf | 14 ++++++++++++++ roles/readonly.tf | 17 +++++++++++++++++ staging/backend.tf | 7 ------- 8 files changed, 83 insertions(+), 14 deletions(-) delete mode 100644 dev/backend.tf delete mode 100644 staging/backend.tf diff --git a/dev/backend.tf b/dev/backend.tf deleted file mode 100644 index aaa49d5..0000000 --- a/dev/backend.tf +++ /dev/null @@ -1,7 +0,0 @@ -terraform { - backend "s3" { - bucket = "digitalwitchngbucketcloud1" - key = "digitalwitchng/prodution/terraform.tfstate" - region = "us-west-1" - } -} \ No newline at end of file diff --git a/roles/backend.tf b/roles/backend.tf index e69de29..aa2e1dc 100644 --- a/roles/backend.tf +++ b/roles/backend.tf @@ -0,0 +1,17 @@ +resource "aws_iam_role" "backend" { + name = "backend-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { Service = "ec2.amazonaws.com" } + }] + }) +} + +resource "aws_iam_role_policy_attachment" "backend_policy" { + role = aws_iam_role.backend.name + policy_arn = "arn:aws:iam::aws:policy/AmazonEC2FullAccess" +} diff --git a/roles/devops.tf b/roles/devops.tf index e69de29..67c357f 100644 --- a/roles/devops.tf +++ b/roles/devops.tf @@ -0,0 +1,17 @@ +resource "aws_iam_role" "devops" { + name = "devops-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { Service = "ec2.amazonaws.com" } + }] + }) +} + +resource "aws_iam_role_policy_attachment" "devops_policy" { + role = aws_iam_role.devops.name + policy_arn = "arn:aws:iam::aws:policy/PowerUserAccess" +} diff --git a/roles/frontend.tf b/roles/frontend.tf index e69de29..e9e9a78 100644 --- a/roles/frontend.tf +++ b/roles/frontend.tf @@ -0,0 +1,17 @@ +resource "aws_iam_role" "frontend" { + name = "frontend-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { Service = "ec2.amazonaws.com" } + }] + }) +} + +resource "aws_iam_role_policy_attachment" "frontend_policy" { + role = aws_iam_role.frontend.name + policy_arn = "arn:aws:iam::aws:policy/AmazonS3FullAccess" +} diff --git a/roles/main.tf b/roles/main.tf index e69de29..bfbb483 100644 --- a/roles/main.tf +++ b/roles/main.tf @@ -0,0 +1 @@ +# Terraform auto-loads all .tf files in this directory. diff --git a/roles/provider.tf b/roles/provider.tf index e69de29..65e732f 100644 --- a/roles/provider.tf +++ b/roles/provider.tf @@ -0,0 +1,14 @@ +terraform { + required_version = ">= 1.0" + + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 5.0" + } + } +} + +provider "aws" { + region = "us-east-1" +} diff --git a/roles/readonly.tf b/roles/readonly.tf index e69de29..b090c45 100644 --- a/roles/readonly.tf +++ b/roles/readonly.tf @@ -0,0 +1,17 @@ +resource "aws_iam_role" "readonly" { + name = "readonly-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { Service = "ec2.amazonaws.com" } + }] + }) +} + +resource "aws_iam_role_policy_attachment" "readonly_policy" { + role = aws_iam_role.readonly.name + policy_arn = "arn:aws:iam::aws:policy/ReadOnlyAccess" +} diff --git a/staging/backend.tf b/staging/backend.tf deleted file mode 100644 index aaa49d5..0000000 --- a/staging/backend.tf +++ /dev/null @@ -1,7 +0,0 @@ -terraform { - backend "s3" { - bucket = "digitalwitchngbucketcloud1" - key = "digitalwitchng/prodution/terraform.tfstate" - region = "us-west-1" - } -} \ No newline at end of file