feat(terraform): update metallb version, refactor IAM policies, and enhance security

This commit is contained in:
2025-05-11 20:58:05 +02:00
parent 19f599e502
commit 05d1624bdd
6 changed files with 53 additions and 93 deletions
+12 -43
View File
@@ -71,48 +71,12 @@ resource "scaleway_object_bucket_policy" "backup" {
Resource = [
scaleway_object_bucket.backup.name,
"${scaleway_object_bucket.backup.name}/*",
]
},
]
})
}
resource "scaleway_object_bucket" "dovecot" {
name = "a13labs-dovecot-${random_string.bucket_suffix.result}"
project_id = var.scaleway_project_id
region = "fr-par"
}
resource "scaleway_object_bucket_policy" "dovecot" {
bucket = scaleway_object_bucket.dovecot.name
policy = jsonencode({
Version = "2023-04-17",
Id = "AllowAccess",
Statement = [
{
Effect = "Allow"
Action = [
"s3:*",
]
Principal = {
SCW = "user_id:${var.scaleway_user_id}"
}
Resource = [
scaleway_object_bucket.dovecot.name,
"${scaleway_object_bucket.dovecot.name}/*",
]
},
{
Effect = "Allow"
Action = [
"s3:*",
]
Principal = {
SCW = "application_id:${scaleway_iam_application.dovecot_app.id}"
}
Resource = [
scaleway_object_bucket.dovecot.name,
"${scaleway_object_bucket.dovecot.name}/*",
]
],
Condition = {
IpAddress = {
"aws:SourceIp" = local.instance_ips
}
},
},
]
})
@@ -154,7 +118,12 @@ resource "scaleway_object_bucket_policy" "sftpgo" {
Resource = [
scaleway_object_bucket.sftpgo.name,
"${scaleway_object_bucket.sftpgo.name}/*",
]
],
Condition = {
IpAddress = {
"aws:SourceIp" = local.instance_ips
}
},
},
]
})