{"componentChunkName":"component---src-templates-blog-template-js","path":"/da/blog/introducing-the-psono-terraform-provider","result":{"data":{"markdownRemark":{"html":"<h1>Introduktion til Psono Terraform Provider</h1>\n<p>Vi er glade for at kunne annoncere, at betaudgaven af Psono Terraform Provider nu er tilgængelig på den offentlige <a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Terraform Registry</a>.</p>\n<p>Infrastrukturteams kan nu administrere individuelle nøgler i forudoprettede Psono Environment Variables-indgange som en del af deres Terraform workflow. Provideren kan bevare eksisterende værdier, generere nye adgangskoder, rotere administrerede værdier, skrive eksternt leverede værdier samt læse hemmeligheder gennem Terraform-flygtige ressourcer.</p>\n<h2>Hemmeligheder uden at gemme dem i Terraform state</h2>\n<p>Håndtering af hemmeligheder i infrastructure as code kræver særlig omhu. Et følsomhedsflag kan skjule en værdi fra normal CLI-output, men det holder ikke nødvendigvis værdien ude af Terraform state. Psono-providerens write-only og flygtige funktionalitet undgår dette problem og kræver Terraform 1.11 eller nyere.</p>\n<p>Provideren understøtter tre almindelige workflows:</p>\n<ul>\n<li>Generér en værdi i Psono uden at returnere den gennem den administrerede ressource.</li>\n<li>Tilføj en værdi gennem et write-only argument, så Terraform ikke gemmer den i plan eller state.</li>\n<li>Læs en eksisterende værdi via en flygtig ressource og videregiv den kun til en anden flygtig eller write-only kontekst.</li>\n</ul>\n<p>Dette gør det muligt at inkludere operationer i hemmeligheds-livscyklus i Terraform, samtidig med at de faktiske værdier forbliver i Psono.</p>\n<h2>Begrænset adgang og lokal kryptering</h2>\n<p>Provideren bruger en begrænset Psono API-nøgle. Du tildeler kun de Environment Variables-indgange, som Terraform skal bruge, og giver læsetilladelse til alle operationer. Oprettelse, opdatering, rotation eller sletning af nøgler kræver desuden skrivetilladelse. Provideren behøver ikke en ubegrænset API-nøgle, og den kan ikke oprette vault-indgange, mapper eller datastores.</p>\n<p>Kryptering og dekryptering sker lokalt i provideren. HTTPS-certifikatbekræftelse kan ikke deaktiveres, og private certifikatautoriteter kan tilføjes gennem et PEM CA-bundle. Produktionssystemer bør altid bruge en HTTPS Psono URL.</p>\n<h2>Kom godt i gang</h2>\n<p>Terraform 1.11 eller nyere er påkrævet. Tilføj provideren til din Terraform-konfiguration:</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>Konfigurér legitimationsoplysninger gennem miljøvariabler i stedet for at placere dem i Terraform-filer:</p>\n<pre><code class=\"language-bash\">export PSONO_SERVER_URL='https://psono.example.com/server'\nexport PSONO_API_KEY_ID='ERSTAT_MED_API_KEY_ID'\nexport PSONO_API_SECRET_KEY='ERSTAT_MED_API_SECRET_KEY'\n</code></pre>\n<p>Initialisér derefter arbejdsbiblioteket:</p>\n<pre><code class=\"language-bash\">terraform init\n</code></pre>\n<p>Terraform downloader den signede provider-udgivelse og verificerer dens checksum-signatur.</p>\n<h2>Generér og roter værdier</h2>\n<p>Følgende ressource administrerer <code>DB_PASSWORD</code> i en eksisterende Psono Environment Variables-indgang:</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>Hvis nøglen allerede eksisterer, overtager provideren den uden at ændre dens værdi. Hvis den ikke eksisterer, genererer og gemmer provideren en ny værdi i Psono. Den genererede værdi returneres ikke af den administrerede ressource og indgår ikke i Terraform state.</p>\n<p>Forøg <code>rotation_version</code>, når Terraform skal generere en erstatning. Dette erstatter også værdier, der oprindeligt blev overtaget eller importeret, så rotationsændringer bør gennemgås, før de udføres.</p>\n<h2>Skriv en eksternt leveret værdi</h2>\n<p>En flygtig værdi fra en anden provider kan skrives til Psono med <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>Værdien er tilgængelig under Terraform-operationen, men gemmes ikke i plan eller state. Forøg <code>value_wo_version</code>, når Terraform skal skrive en erstatning.</p>\n<h2>Sikker sletning som standard</h2>\n<p>Destruktion af en administreret ressource bevarer som standard dens Psono-nøgle. Dette beskytter værdier, som Terraform har overtaget, men ikke oprettet. Angiv kun <code>deletion_policy = \"Delete\"</code>, når Terraform eksplicit skal fjerne nøglen fra Psono ved destruktion eller ressourceudskiftning.</p>\n<h2>Tilgængelig nu</h2>\n<p>Provideren er open source og tilgængelig i dag:</p>\n<ul>\n<li><a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Installer provideren fra Terraform Registry</a></li>\n<li><a href=\"https://doc.psono.com/user/developer/terraform-provider.html\">Læs Psono Terraform Provider-guiden</a></li>\n<li><a href=\"https://gitlab.com/esaqa/psono/psono-terraform-provider\">Se kildekoden på GitLab</a></li>\n</ul>\n<p>Betaudgivelsen fokuserer bevidst på Environment Variables-indgange og begrænsede API-nøgler. Det holder tilladelserne snævre, undgår ubegrænset vault-adgang og giver et praktisk fundament til sikker administration af operationelle hemmeligheder fra Terraform.</p>","frontmatter":{"date":"August 22, 2026","slug":"introducing-the-psono-terraform-provider","title":"Introduktion til Psono Terraform Provider","description":"Administrér genererede, write-only og flygtige værdier i Psono direkte fra Terraform uden at gemme hemmeligheder i Terraform state.","author":"Sascha Pfeiffer","featuredImage":null}}},"pageContext":{"slug":"introducing-the-psono-terraform-provider","lang":"da","langPathPrefix":"/da"}},"staticQueryHashes":["2149092236","3128451518","3192060438"]}