mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-30 13:10:47 +00:00
Updated buckets to generate iam users and separate between lambda and frontend
This commit is contained in:
parent
88eb5ee91f
commit
a62c9afa45
2 changed files with 46 additions and 9 deletions
|
|
@ -15,8 +15,35 @@ resource "aws_s3_bucket" "bucket" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_iam_role" "role" {
|
resource "aws_iam_user" "presign_frontend_user" {
|
||||||
name = "s3_presign_role"
|
name = "presign_frontend_user-${var.environment}"
|
||||||
|
path = "/system/"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_iam_access_key" "presign_frontend_user_access_key" {
|
||||||
|
user = aws_iam_user.presign_frontend_user.name
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_secretsmanager_secret" "presign_frontend_user_access_key" {
|
||||||
|
name = "${var.environment}/presign_frontend/access_key"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_secretsmanager_secret_version" "presign_frontend_user_access_key" {
|
||||||
|
secret_id = aws_secretsmanager_secret.presign_frontend_user_access_key.id
|
||||||
|
secret_string = aws_iam_access_key.presign_frontend_user_access_key.id
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_secretsmanager_secret" "presign_frontend_user_secret_key" {
|
||||||
|
name = "${var.environment}/presign_frontend/secret_key"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_secretsmanager_secret_version" "presign_frontend_user_secret_key" {
|
||||||
|
secret_id = aws_secretsmanager_secret.presign_frontend_user_secret_key.id
|
||||||
|
secret_string = aws_iam_access_key.presign_frontend_user_access_key.secret
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_iam_role" "presign_frontend_role" {
|
||||||
|
name = "presign_frontend_role-${var.environment}"
|
||||||
assume_role_policy = <<EOF
|
assume_role_policy = <<EOF
|
||||||
{
|
{
|
||||||
"Version": "2012-10-17",
|
"Version": "2012-10-17",
|
||||||
|
|
@ -24,7 +51,7 @@ resource "aws_iam_role" "role" {
|
||||||
{
|
{
|
||||||
"Action": "sts:AssumeRole",
|
"Action": "sts:AssumeRole",
|
||||||
"Principal": {
|
"Principal": {
|
||||||
"Service": "lambda.amazonaws.com"
|
"Service": "ec2.amazonaws.com"
|
||||||
},
|
},
|
||||||
"Effect": "Allow",
|
"Effect": "Allow",
|
||||||
"Sid": ""
|
"Sid": ""
|
||||||
|
|
@ -34,9 +61,9 @@ resource "aws_iam_role" "role" {
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_iam_role_policy" "policy" {
|
resource "aws_iam_role_policy" "presign_frontend_policy" {
|
||||||
name = "s3_presign_policy"
|
name = "presign_frontend_policy-${var.environment}"
|
||||||
role = aws_iam_role.role.id
|
role = aws_iam_role.presign_frontend_role.id
|
||||||
|
|
||||||
policy = <<EOF
|
policy = <<EOF
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,17 @@ output "bucket_name" {
|
||||||
value = aws_s3_bucket.bucket.bucket
|
value = aws_s3_bucket.bucket.bucket
|
||||||
}
|
}
|
||||||
|
|
||||||
output "role_arn" {
|
output "presign_frontend_role_arn" {
|
||||||
description = "The ARN of the IAM role"
|
description = "The ARN of the frontend IAM role"
|
||||||
value = aws_iam_role.role.arn
|
value = aws_iam_role.presign_frontend_role.arn
|
||||||
|
}
|
||||||
|
|
||||||
|
output "presign_frontend_access_key_secret_name" {
|
||||||
|
description = "The name of the access key secret in AWS Secrets Manager for the frontend user"
|
||||||
|
value = aws_secretsmanager_secret.presign_frontend_user_access_key.name
|
||||||
|
}
|
||||||
|
|
||||||
|
output "presign_frontend_secret_key_secret_name" {
|
||||||
|
description = "The name of the secret key secret in AWS Secrets Manager for the frontend user"
|
||||||
|
value = aws_secretsmanager_secret.presign_frontend_user_secret_key.name
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue