Merge pull request 'fix(minio) — le provisionneur ne pouvait pas créer de bucket : s3:ListBucket manquait' (#22) from arcodange/provisioner-listbucket into main
Helm Charts / Detect changed charts (push) Successful in 1m0s
Helm Charts / Library charts tool (push) Has been skipped
Helm Charts / Application charts pgcat (push) Has been skipped
MinIO / Auth with gitea for vault (push) Successful in 23s
MinIO / Tofu - minio IAC (push) Successful in 49s
Helm Charts / Detect changed charts (push) Successful in 1m0s
Helm Charts / Library charts tool (push) Has been skipped
Helm Charts / Application charts pgcat (push) Has been skipped
MinIO / Auth with gitea for vault (push) Successful in 23s
MinIO / Tofu - minio IAC (push) Successful in 49s
This commit was merged in pull request #22.
This commit is contained in:
@@ -3,8 +3,9 @@
|
|||||||
# qu'elles déclarent leurs buckets sans qu'on leur confie le root.
|
# qu'elles déclarent leurs buckets sans qu'on leur confie le root.
|
||||||
# Décisions : factory/doc/adr/20260726-stockage-objet-minio.md
|
# Décisions : factory/doc/adr/20260726-stockage-objet-minio.md
|
||||||
#
|
#
|
||||||
# ⚠ Noms d'actions issus de la documentation MinIO, NON éprouvés contre le
|
# Noms d'actions confirmés par le premier apply réel (kadans, 2026-07-26) : le
|
||||||
# serveur : le premier apply les confirmera ou les corrigera.
|
# bloc admin passe tel quel ; côté s3 il manquait `s3:ListBucket`, que le
|
||||||
|
# provider appelle AVANT de créer un bucket pour savoir s'il existe déjà.
|
||||||
resource "minio_iam_policy" "provisioner" {
|
resource "minio_iam_policy" "provisioner" {
|
||||||
name = "provisioner"
|
name = "provisioner"
|
||||||
policy = jsonencode({
|
policy = jsonencode({
|
||||||
@@ -26,9 +27,15 @@ resource "minio_iam_policy" "provisioner" {
|
|||||||
Resource = ["arn:aws:s3:::*"]
|
Resource = ["arn:aws:s3:::*"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# s3:GetObject / s3:PutObject volontairement ABSENTS.
|
# s3:GetObject / s3:PutObject volontairement ABSENTS : le provisionneur
|
||||||
|
# ne LIT ni n'ÉCRIT aucun objet, c'est ce qui rend son partage entre
|
||||||
|
# rôles CI acceptable.
|
||||||
|
#
|
||||||
|
# `s3:ListBucket` est la seule concession : MinIO le demande pour un
|
||||||
|
# HeadBucket, et le provider teste l'existence du bucket avant de le
|
||||||
|
# créer. Il donne la vue des CLÉS d'un bucket, jamais leur contenu.
|
||||||
Effect = "Allow"
|
Effect = "Allow"
|
||||||
Action = ["s3:CreateBucket", "s3:DeleteBucket", "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:PutBucketPolicy"]
|
Action = ["s3:CreateBucket", "s3:DeleteBucket", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:PutBucketPolicy"]
|
||||||
Resource = ["arn:aws:s3:::*"]
|
Resource = ["arn:aws:s3:::*"]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user