{"componentChunkName":"component---src-templates-blog-template-js","path":"/it/blog/introducing-the-psono-terraform-provider","result":{"data":{"markdownRemark":{"html":"<h1>Presentazione del Provider Terraform per Psono</h1>\n<p>Siamo lieti di annunciare che la versione beta del Provider Terraform per Psono è ora disponibile pubblicamente nel\n<a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Terraform Registry</a>.</p>\n<p>I team infrastrutturali possono ora gestire singole chiavi all’interno delle voci già create delle Variabili d’Ambiente di Psono come parte del loro flusso di lavoro Terraform. Il provider può conservare i valori esistenti, generare nuove password, ruotare i valori gestiti, scrivere valori forniti esternamente e leggere i segreti tramite risorse effimere di Terraform.</p>\n<h2>Segreti senza archiviarli nello stato di Terraform</h2>\n<p>La gestione dei segreti nell’infrastructure as code richiede particolare attenzione. Un flag sensibile può nascondere un valore dall’output della CLI normale, ma non necessariamente lo mantiene fuori dallo stato di Terraform. Il provider Psono utilizza le capacità di sola scrittura ed effimeri di Terraform per evitare questo problema e richiede Terraform 1.11 o superiore.</p>\n<p>Il provider supporta tre flussi di lavoro comuni:</p>\n<ul>\n<li>Generare un valore in Psono senza restituirlo tramite la risorsa gestita.</li>\n<li>Fornire un valore tramite un argomento di sola scrittura in modo che Terraform non lo conservi né nel piano né nello stato.</li>\n<li>Leggere un valore esistente tramite una risorsa effimera e passarla solo ad un altro contesto effimero o di sola scrittura.</li>\n</ul>\n<p>Questo permette di includere le operazioni sul ciclo di vita dei segreti in Terraform mantenendo i valori veri e propri in Psono.</p>\n<h2>Accessi limitati e crittografia locale</h2>\n<p>Il provider utilizza una chiave API Psono con accesso limitato. Occorre assegnare solo le voci delle Variabili d’Ambiente di cui Terraform ha bisogno e concedere i permessi di lettura per tutte le operazioni. La creazione, l’aggiornamento, la rotazione o l’eliminazione delle chiavi richiedono anche il permesso di scrittura. Il provider non necessita di una chiave API senza restrizioni e non può creare voci di vault, cartelle o datastores.</p>\n<p>La crittografia e la decrittazione avvengono localmente nel provider. La verifica del certificato HTTPS non può essere disabilitata e autorità di certificazione private possono essere aggiunte tramite un bundle PEM CA. I sistemi di produzione devono sempre utilizzare un URL Psono in HTTPS.</p>\n<h2>Per iniziare</h2>\n<p>È richiesto Terraform 1.11 o superiore. Aggiungi il provider alla tua configurazione 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>Configura le credenziali tramite variabili d’ambiente invece che inserirle nei file Terraform:</p>\n<pre><code class=\"language-bash\">export PSONO_SERVER_URL='https://psono.example.com/server'\nexport PSONO_API_KEY_ID='SOSTITUISCI_CON_API_KEY_ID'\nexport PSONO_API_SECRET_KEY='SOSTITUISCI_CON_API_SECRET_KEY'\n</code></pre>\n<p>Quindi inizializza la directory di lavoro:</p>\n<pre><code class=\"language-bash\">terraform init\n</code></pre>\n<p>Terraform scarica la release firmata del provider e ne verifica la firma del checksum.</p>\n<h2>Generare e ruotare valori</h2>\n<p>La seguente risorsa gestisce <code>DB_PASSWORD</code> in una voce già esistente delle Variabili d’Ambiente di 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>Se la chiave esiste già, il provider la adotta senza modificarne il valore. Se non esiste, il provider genera e memorizza un nuovo valore in Psono. Il valore generato non viene restituito dalla risorsa gestita e non entra nello stato di Terraform.</p>\n<p>Incrementa <code>rotation_version</code> quando Terraform deve generare un nuovo valore. Questo sostituisce anche i valori originariamente adottati o importati, quindi i cambiamenti di rotazione vanno rivisti prima di essere applicati.</p>\n<h2>Scrivere un valore fornito esternamente</h2>\n<p>Un valore effimero proveniente da un altro provider può essere scritto in Psono con <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>Il valore è disponibile durante l’operazione di Terraform ma non viene salvato nel piano né nello stato. Incrementa <code>value_wo_version</code> quando Terraform deve scrivere un nuovo valore.</p>\n<h2>Eliminazione sicura di default</h2>\n<p>La distruzione di una risorsa gestita mantiene di default la chiave su Psono. Questo protegge i valori che Terraform ha adottato ma non creato. Imposta <code>deletion_policy = \"Delete\"</code> solo quando vuoi che Terraform rimuova esplicitamente la chiave da Psono durante la distruzione o la sostituzione della risorsa.</p>\n<h2>Disponibile ora</h2>\n<p>Il provider è open source e disponibile fin da subito:</p>\n<ul>\n<li><a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Installa il provider dal Terraform Registry</a></li>\n<li><a href=\"https://doc.psono.com/user/developer/terraform-provider.html\">Leggi la guida al Provider Terraform per Psono</a></li>\n<li><a href=\"https://gitlab.com/esaqa/psono/psono-terraform-provider\">Guarda il codice sorgente su GitLab</a></li>\n</ul>\n<p>Il rilascio beta si concentra volutamente sulle voci delle Variabili d’Ambiente e chiavi API con permessi limitati. Questo mantiene i permessi ridotti, evita l’accesso illimitato ai vault e fornisce una base pratica per gestire in sicurezza i segreti operativi da Terraform.</p>","frontmatter":{"date":"August 22, 2026","slug":"introducing-the-psono-terraform-provider","title":"Presentazione del Provider Terraform per Psono","description":"Gestisci valori generati, scrivibili solo in scrittura ed effimeri in Psono direttamente da Terraform senza archiviare segreti nello stato di Terraform.","author":"Sascha Pfeiffer","featuredImage":null}}},"pageContext":{"slug":"introducing-the-psono-terraform-provider","lang":"it","langPathPrefix":"/it"}},"staticQueryHashes":["2149092236","3128451518","3192060438"]}