{"componentChunkName":"component---src-templates-blog-template-js","path":"/nl/blog/introducing-the-psono-terraform-provider","result":{"data":{"markdownRemark":{"html":"<h1>Introductie van de Psono Terraform Provider</h1>\n<p>We zijn verheugd aan te kondigen dat de bètaversie van de Psono Terraform Provider nu beschikbaar is in de publieke\n<a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Terraform Registry</a>.</p>\n<p>Infrastructuurteams kunnen nu individuele sleutels beheren binnen vooraf aangemaakte Psono Environment Variables items als onderdeel van\nhun Terraform-werkflow. De provider kan bestaande waarden behouden, nieuwe wachtwoorden genereren, beheerde waarden roteren, extern aangeleverde waarden wegschrijven en geheimen lezen via tijdelijke Terraform resources.</p>\n<h2>Geheimen zonder ze in de Terraform state op te slaan</h2>\n<p>Het omgaan met geheimen in Infrastructure as Code vereist speciale aandacht. Een ‘sensitive’-vlag kan een waarde verbergen in normale CLI-uitvoer,\nmaar houdt die waarde niet noodzakelijk buiten de Terraform state. De Psono-provider benut de write-only en\ntijdelijke mogelijkheden van Terraform om dat probleem te vermijden en vereist Terraform 1.11 of nieuwer.</p>\n<p>De provider ondersteunt drie veelvoorkomende werkstromen:</p>\n<ul>\n<li>Genereer een waarde in Psono zonder deze terug te geven via de beheerde resource.</li>\n<li>Lever een waarde aan via een write-only argument zodat Terraform deze niet opslaat in plan of state.</li>\n<li>Lees een bestaande waarde via een tijdelijke resource en geef deze alleen door naar een andere tijdelijke of write-only context.</li>\n</ul>\n<p>Dit maakt het mogelijk om secret lifecycle-operaties in Terraform op te nemen, terwijl de daadwerkelijke waarden in Psono blijven.</p>\n<h2>Beperkte toegang en lokale encryptie</h2>\n<p>De provider gebruikt een beperkte Psono API-sleutel. Je wijst alleen de Environment Variables items toe die Terraform nodig heeft en\nverleent leesrechten voor alle bewerkingen. Voor het aanmaken, bijwerken, roteren of verwijderen van sleutels is daarnaast schrijfrechten nodig.\nDe provider heeft geen onbeperkte API-sleutel nodig en kan geen kluis-items, mappen of datastores aanmaken.</p>\n<p>Encryptie en decryptie vinden lokaal in de provider plaats. Verificatie van het HTTPS-certificaat kan niet worden uitgeschakeld,\nen privé certificaatautoriteiten kunnen worden toegevoegd via een PEM CA-bundle. Productiesystemen moeten altijd een HTTPS Psono-URL gebruiken.</p>\n<h2>Aan de slag</h2>\n<p>Terraform 1.11 of nieuwer is vereist. Voeg de provider toe aan je Terraform-configuratie:</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>Configureer de inloggegevens via omgevingsvariabelen in plaats van deze in Terraform-bestanden op te nemen:</p>\n<pre><code class=\"language-bash\">export PSONO_SERVER_URL='https://psono.example.com/server'\nexport PSONO_API_KEY_ID='VUL_HIER_API_KEY_ID_IN'\nexport PSONO_API_SECRET_KEY='VUL_HIER_API_SECRET_KEY_IN'\n</code></pre>\n<p>Initialiseer daarna de werkdirectory:</p>\n<pre><code class=\"language-bash\">terraform init\n</code></pre>\n<p>Terraform downloadt de ondertekende provider-release en verifieert de checksum-handtekening.</p>\n<h2>Waarden genereren en roteren</h2>\n<p>De volgende resource beheert <code>DB_PASSWORD</code> in een bestaande Psono Environment Variables entry:</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>Als de sleutel al bestaat, adopteert de provider deze zonder de waarde te wijzigen. Bestaat deze nog niet, dan genereert en\nslaat de provider een nieuwe waarde op in Psono. De gegenereerde waarde wordt niet teruggegeven door de beheerde resource en\nkomt niet in de Terraform state terecht.</p>\n<p>Verhoog <code>rotation_version</code> wanneer Terraform een vervangende waarde moet genereren. Dit vervangt ook waarden die oorspronkelijk\ngeadopteerd of geïmporteerd zijn, dus rotatie-wijzigingen dienen te worden beoordeeld voordat ze worden uitgevoerd.</p>\n<h2>Een extern aangeleverde waarde wegschrijven</h2>\n<p>Een tijdelijke waarde van een andere provider kan naar Psono worden weggeschreven met <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>De waarde is beschikbaar tijdens de Terraform-bewerking, maar wordt niet opgeslagen in plan of state. Verhoog <code>value_wo_version</code>\nwanneer Terraform een vervanging moet wegschrijven.</p>\n<h2>Veilige verwijdering standaard</h2>\n<p>Bij het verwijderen van een beheerde resource blijft standaard de Psono-sleutel behouden. Dit beschermt waarden die Terraform heeft geadopteerd\nmaar niet heeft aangemaakt. Stel <code>deletion_policy = \"Delete\"</code> alleen in wanneer Terraform de sleutel expliciet uit Psono moet verwijderen\ntijdens destroy of resource-vervanging.</p>\n<h2>Nu beschikbaar</h2>\n<p>De provider is open source en direct beschikbaar:</p>\n<ul>\n<li><a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Installeer de provider via de Terraform Registry</a></li>\n<li><a href=\"https://doc.psono.com/user/developer/terraform-provider.html\">Lees de Psono Terraform Provider handleiding</a></li>\n<li><a href=\"https://gitlab.com/esaqa/psono/psono-terraform-provider\">Bekijk de broncode op GitLab</a></li>\n</ul>\n<p>De bètarelease richt zich bewust op Environment Variables items en beperkte API-sleutels. Dit houdt de permissies beperkt, voorkomt onbeperkte kluis-toegang en biedt een praktische basis voor het veilig beheren van operationele geheimen vanuit Terraform.</p>","frontmatter":{"date":"August 22, 2026","slug":"introducing-the-psono-terraform-provider","title":"Introductie van de Psono Terraform Provider","description":"Beheer gegenereerde, write-only en tijdelijke waarden in Psono direct vanuit Terraform zonder geheimen in de Terraform state op te slaan.","author":"Sascha Pfeiffer","featuredImage":null}}},"pageContext":{"slug":"introducing-the-psono-terraform-provider","lang":"nl","langPathPrefix":"/nl"}},"staticQueryHashes":["2149092236","3128451518","3192060438"]}