1 parent
64be99308b
commit
5cba142003
38 files changed
+565
-353
No files matched your search
@@ -0,0 +1,45 @@
|
||||
locals {
|
||||
buckets = concat(var.read_write, var.read_only)
|
||||
|
||||
statements = [
|
||||
{
|
||||
Effect = "Allow"
|
||||
Action = ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"]
|
||||
Resource = [for bucket in var.read_write : "arn:aws:s3:::${bucket}/*"]
|
||||
},
|
||||
{
|
||||
Effect = "Allow"
|
||||
Action = ["s3:GetObject"]
|
||||
Resource = [for bucket in var.read_only : "arn:aws:s3:::${bucket}/*"]
|
||||
},
|
||||
{
|
||||
Effect = "Allow"
|
||||
Action = ["s3:ListBucket"]
|
||||
Resource = [for bucket in local.buckets : "arn:aws:s3:::${bucket}"]
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
resource "minio_iam_user" "this" {
|
||||
name = var.name
|
||||
}
|
||||
|
||||
resource "minio_iam_policy" "this" {
|
||||
name = var.name
|
||||
policy = jsonencode({
|
||||
Version = "2012-10-17"
|
||||
Statement = [for statement in local.statements : statement if length(statement.Resource) > 0]
|
||||
})
|
||||
}
|
||||
|
||||
resource "minio_iam_user_policy_attachment" "this" {
|
||||
user_name = minio_iam_user.this.name
|
||||
policy_name = minio_iam_policy.this.name
|
||||
}
|
||||
|
||||
resource "minio_iam_service_account" "this" {
|
||||
target_user = minio_iam_user.this.name
|
||||
description = "keys of ${var.name}"
|
||||
|
||||
depends_on = [minio_iam_user_policy_attachment.this]
|
||||
}
|
||||
Reference in new issue
Block a user