{"componentChunkName":"component---src-templates-blog-template-js","path":"/fi/blog/introducing-the-psono-terraform-provider","result":{"data":{"markdownRemark":{"html":"<h1>Psono Terraform Providerin Esittely</h1>\n<p>Olemme iloisia voidessamme ilmoittaa, että Psono Terraform Providerin beetaversio on nyt saatavilla julkisessa\n<a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Terraform Registryssä</a>.</p>\n<p>Infrastruktuuritiimit voivat nyt hallita yksittäisiä avaimia ennalta luoduissa Psono Environment Variables ‑merkinnöissä\nosana Terraform-työnkulkuaan. Provider voi säilyttää olemassa olevat arvot, generoida uusia salasanoja, kierrättää hallinnoituja arvoja, kirjoittaa ulkoisesti toimitettuja arvoja sekä lukea salaisuuksia Terraformin efemeerisillä resursseilla.</p>\n<h2>Salaisuudet ilman tallennusta Terraform stateen</h2>\n<p>Salaisuuksien käsittely infrastruktuurin koodina vaatii erityistä huolellisuutta. Herkkä-lippu voi piilottaa arvon normaalilta CLI-tulostukselta, mutta se ei välttämättä estä arvoa päätymästä Terraformin stateen. Psono-provider hyödyntää Terraformin vain kirjoitettavia (write-only) ja efemeraalisia ominaisuuksia välttääkseen tämän ongelman, ja vaatii Terraform 1.11 tai uudemman.</p>\n<p>Provider tukee kolmea yleistä työnkulkua:</p>\n<ul>\n<li>Generoi arvo Psonossa palauttamatta sitä hallinnoidun resurssin kautta.</li>\n<li>Toimita arvo vain kirjoitettavan argumentin kautta, jolloin Terraform ei tallenna sitä planiin eikä stateen.</li>\n<li>Lue olemassa oleva arvo efemeraalisen resurssin kautta ja välitä se vain toiseen efemeeriseen tai vain kirjoitettavaan käyttötapaukseen.</li>\n</ul>\n<p>Tämän ansiosta salaisuuksien elinkaaren hallinta onnistuu Terraformista käsin ilman, että varsinaiset arvot poistuvat Psonosta.</p>\n<h2>Rajoitettu pääsy ja paikallinen salaus</h2>\n<p>Provider käyttää rajoitettua Psono API -avainta. Määrittele vain ne Environment Variables ‑merkinnät, joita Terraform tarvitsee ja myönnä niille lukuoikeudet kaikkiin operaatioihin. Avainten luominen, päivittäminen, kierrättäminen tai poistaminen vaatii lisäksi kirjoitusoikeuden. Provider ei tarvitse rajoittamattomia API-avaimia, eikä se voi luoda holvimerkintöjä, kansioita tai tietovarastoja.</p>\n<p>Salaus ja salauksen purku tapahtuvat paikallisesti providerissa. HTTPS-varmenteiden tarkistusta ei voi poistaa käytöstä, ja yksityiset varmentajat voi lisätä PEM CA -nipulla. Tuotantojärjestelmissä tulee aina käyttää HTTPS-Psono-osoitetta.</p>\n<h2>Aloitus</h2>\n<p>Tarvitset Terraform 1.11:n tai uudemman. Lisää provider Terraform-konfiguraatioosi:</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>Määritä tunnistetiedot ympäristömuuttujilla sen sijaan, että sijoittaisit ne Terraform-tiedostoihin:</p>\n<pre><code class=\"language-bash\">export PSONO_SERVER_URL='https://psono.example.com/server'\nexport PSONO_API_KEY_ID='VAIHDA_TÄHÄN_API_KEY_ID'\nexport PSONO_API_SECRET_KEY='VAIHDA_TÄHÄN_API_SECRET_KEY'\n</code></pre>\n<p>Alusta tämän jälkeen työskentelyhakemisto:</p>\n<pre><code class=\"language-bash\">terraform init\n</code></pre>\n<p>Terraform lataa allekirjoitetun provider-julkaisun ja varmistaa sen tarkistussumman.</p>\n<h2>Generoi ja kierrätä arvoja</h2>\n<p>Seuraava resurssi hallinnoi <code>DB_PASSWORD</code>-avainta olemassa olevassa Psono Environment Variables ‑merkinnässä:</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>Jos avain on jo olemassa, provider ottaa sen haltuun ilman arvon vaihtamista. Jos sitä ei ole olemassa, provider generoi\nja tallentaa uuden arvon Psonoon. Generoitua arvoa ei palauteta hallinnoidulta resurssilta eikä se päädy Terraformin stateen.</p>\n<p>Nosta <code>rotation_version</code>-arvoa, kun Terraformin pitää generoida uusi arvo. Tämä korvaa myös arvot, jotka on alun perin adoptoitu tai tuotu, joten kierrätysmuutokset pitää tarkistaa ennen käyttöönottoa.</p>\n<h2>Kirjoita ulkoisesti toimitettu arvo</h2>\n<p>Toisen providerin efemeerinen arvo voidaan kirjoittaa Psonoon <code>value_wo</code>-ominaisuudella:</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>Arvo on käytettävissä Terraform-operaation ajan, mutta sitä ei tallenneta planiin eikä stateen. Nosta <code>value_wo_version</code>\nkun Terraformin tulisi kirjoittaa korvaava arvo.</p>\n<h2>Turvallinen poisto oletuksena</h2>\n<p>Hallinnoidun resurssin tuhoaminen säilyttää oletuksena Psonon avaimen. Tämä suojaa arvoja, jotka Terraform on adoptoinut mutta ei itse luonut. Aseta <code>deletion_policy = \"Delete\"</code> vain, jos Terraformin pitää poistaa avain Psonosta tuhottavan resurssin yhteydessä.</p>\n<h2>Saatavilla nyt</h2>\n<p>Provider on avoimen lähdekoodin ja heti saatavilla:</p>\n<ul>\n<li><a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Asenna provider Terraform Registrystä</a></li>\n<li><a href=\"https://doc.psono.com/user/developer/terraform-provider.html\">Lue Psono Terraform Provider -opas</a></li>\n<li><a href=\"https://gitlab.com/esaqa/psono/psono-terraform-provider\">Katso lähdekoodi GitLabissa</a></li>\n</ul>\n<p>Beetajulkaisu keskittyy tarkoituksella Environment Variables ‑merkintöihin ja rajattuihin API-avaimiin. Tämä pitää käyttöoikeudet kapeina, estää rajoittamattoman pääsyn holveihin ja tarjoaa käytännöllisen pohjan operatiivisten salaisuuksien turvalliseen hallintaan Terraformin kautta.</p>","frontmatter":{"date":"August 22, 2026","slug":"introducing-the-psono-terraform-provider","title":"Psono Terraform Providerin Esittely","description":"Hallinnoi generoituja, vain kirjoitettavia ja efemeraalisia arvoja suoraan Psonosta Terraformin kautta ilman, että salaisuuksia tallennetaan Terraformin stateen.","author":"Sascha Pfeiffer","featuredImage":null}}},"pageContext":{"slug":"introducing-the-psono-terraform-provider","lang":"fi","langPathPrefix":"/fi"}},"staticQueryHashes":["2149092236","3128451518","3192060438"]}