{"componentChunkName":"component---src-templates-blog-template-js","path":"/fr/blog/introducing-the-psono-terraform-provider","result":{"data":{"markdownRemark":{"html":"<h1>Présentation du provider Terraform Psono</h1>\n<p>Nous sommes heureux d’annoncer que la version bêta du provider Terraform pour Psono est désormais disponible dans le\n<a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Terraform Registry</a> public.</p>\n<p>Les équipes d’infrastructure peuvent désormais gérer individuellement les clés à l’intérieur d’entrées de Variables d’Environnement Psono pré-créées dans leur workflow Terraform. Le provider peut préserver les valeurs existantes, générer de nouveaux mots de passe, faire tourner les valeurs gérées, écrire des valeurs fournies de l’extérieur et lire des secrets via des ressources éphémères dans Terraform.</p>\n<h2>Des secrets sans les mettre dans l’état de Terraform</h2>\n<p>La gestion des secrets dans l’infrastructure as code requiert une attention particulière. Un drapeau « sensible » peut masquer une valeur de la sortie normale du CLI, mais cela ne garantit pas qu’elle reste en dehors de l’état de Terraform. Le provider Psono utilise les capacités d’écriture seule et éphémère de Terraform pour éviter ce problème et requiert Terraform 1.11 ou plus récent.</p>\n<p>Le provider prend en charge trois workflows courants :</p>\n<ul>\n<li>Générer une valeur dans Psono sans la retourner via la ressource gérée.</li>\n<li>Fournir une valeur via un argument en écriture seule pour que Terraform ne la conserve ni dans le plan, ni dans l’état.</li>\n<li>Lire une valeur existante via une ressource éphémère et ne la transmettre qu’à un autre contexte éphémère ou en écriture seule.</li>\n</ul>\n<p>Cela permet d’inclure des opérations sur le cycle de vie des secrets dans Terraform tout en gardant les valeurs dans Psono.</p>\n<h2>Accès restreint et chiffrement local</h2>\n<p>Le provider utilise une clé API Psono restreinte. Vous n’assignez que les entrées de Variables d’Environnement dont Terraform a besoin et donnez la permission de lecture pour toutes les opérations. La création, la mise à jour, la rotation ou la suppression de clés nécessite également la permission d’écriture. Le provider n’a pas besoin d’une clé API non restreinte et ne peut pas créer d’entrées de coffre, de dossiers ou de stores de données.</p>\n<p>Le chiffrement et le déchiffrement se produisent localement dans le provider. La vérification du certificat HTTPS ne peut pas être désactivée, et les autorités de certification privées peuvent être ajoutées via un bundle CA PEM. Les systèmes de production doivent toujours utiliser une URL Psono en HTTPS.</p>\n<h2>Bien démarrer</h2>\n<p>Terraform 1.11 ou plus récent est requis. Ajoutez le provider à votre configuration Terraform :</p>\n<pre><code class=\"language-hcl\">terraform {\n  required_version = \">= 1.11.0\"\n\n  required_providers {\n    psono = {\n      source  = \"psono/psono\"\n      version = \"~> 1.0\"\n    }\n  }\n}\n\nprovider \"psono\" {}\n</code></pre>\n<p>Configurez les identifiants via des variables d’environnement plutôt que de les placer dans les fichiers Terraform :</p>\n<pre><code class=\"language-bash\">export PSONO_SERVER_URL='https://psono.example.com/server'\nexport PSONO_API_KEY_ID='REMPLACEZ_PAR_L_ID_DE_VOTRE_CLE_API'\nexport PSONO_API_SECRET_KEY='REMPLACEZ_PAR_VOTRE_CLE_SECRETE_API'\n</code></pre>\n<p>Ensuite, initialisez le répertoire de travail :</p>\n<pre><code class=\"language-bash\">terraform init\n</code></pre>\n<p>Terraform télécharge la version signée du provider et vérifie la signature de son empreinte.</p>\n<h2>Générer et faire tourner des valeurs</h2>\n<p>La ressource suivante gère <code>DB_PASSWORD</code> dans une entrée existante de Variables d’Environnement Psono :</p>\n<pre><code class=\"language-hcl\">resource \"psono_environment_variable\" \"database_password\" {\n  secret_id = var.psono_environment_variables_secret_id\n  name      = \"DB_PASSWORD\"\n\n  length      = 32\n  min_lower   = 4\n  min_upper   = 4\n  min_numeric = 4\n  min_special = 4\n\n  rotation_version = 1\n}\n</code></pre>\n<p>Si la clé existe déjà, le provider l’adopte sans en changer la valeur. Si elle n’existe pas, le provider génère et stocke une nouvelle valeur dans Psono. Cette valeur générée n’est pas retournée par la ressource gérée et n’entre pas dans l’état de Terraform.</p>\n<p>Incrémentez <code>rotation_version</code> lorsque vous souhaitez que Terraform génère un remplacement. Ceci remplace également les valeurs initialement adoptées ou importées ; ces changements de rotation devraient donc être revus avant application.</p>\n<h2>Écrire une valeur externe</h2>\n<p>Une valeur éphémère issue d’un autre provider peut être enregistrée dans Psono avec <code>value_wo</code> :</p>\n<pre><code class=\"language-hcl\">ephemeral \"random_password\" \"database\" {\n  length = 32\n}\n\nresource \"psono_environment_variable\" \"database_password\" {\n  secret_id        = var.psono_environment_variables_secret_id\n  name             = \"DB_PASSWORD\"\n  value_wo         = ephemeral.random_password.database.result\n  value_wo_version = 1\n}\n</code></pre>\n<p>La valeur est disponible pendant l’opération Terraform mais n’est pas stockée dans le plan ou l’état. Incrémentez <code>value_wo_version</code> si Terraform doit écrire une nouvelle valeur de remplacement.</p>\n<h2>Suppression sécurisée par défaut</h2>\n<p>La destruction d’une ressource gérée conserve sa clé Psono par défaut. Cela protège les valeurs que Terraform a adoptées mais n’a pas créées. Ne définissez <code>deletion_policy = \"Delete\"</code> que si Terraform doit explicitement supprimer la clé de Psono lors de la destruction ou du remplacement de la ressource.</p>\n<h2>Disponible dès maintenant</h2>\n<p>Le provider est open source et disponible dès aujourd’hui :</p>\n<ul>\n<li><a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Installez le provider depuis le Terraform Registry</a></li>\n<li><a href=\"https://doc.psono.com/user/developer/terraform-provider.html\">Lisez le guide du provider Terraform Psono</a></li>\n<li><a href=\"https://gitlab.com/esaqa/psono/psono-terraform-provider\">Consultez le code source sur GitLab</a></li>\n</ul>\n<p>La version bêta se concentre volontairement sur les entrées de Variables d’Environnement et les clés API restreintes. Cela permet de limiter les permissions, d’éviter l’accès large au coffre, et d’offrir une base solide pour la gestion sûre des secrets opérationnels depuis Terraform.</p>","frontmatter":{"date":"August 22, 2026","slug":"introducing-the-psono-terraform-provider","title":"Présentation du provider Terraform Psono","description":"Gérez les valeurs générées, en écriture seule et éphémères dans Psono directement depuis Terraform sans stocker les secrets dans l’état de Terraform.","author":"Sascha Pfeiffer","featuredImage":null}}},"pageContext":{"slug":"introducing-the-psono-terraform-provider","lang":"fr","langPathPrefix":"/fr"}},"staticQueryHashes":["2149092236","3128451518","3192060438"]}