Vi er glade for at kunne annoncere, at betaudgaven af Psono Terraform Provider nu er tilgængelig på den offentlige Terraform Registry.
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.
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.
Provideren understøtter tre almindelige workflows:
Dette gør det muligt at inkludere operationer i hemmeligheds-livscyklus i Terraform, samtidig med at de faktiske værdier forbliver i Psono.
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.
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.
Terraform 1.11 eller nyere er påkrævet. Tilføj provideren til din Terraform-konfiguration:
terraform {
required_version = ">= 1.11.0"
required_providers {
psono = {
source = "psono/psono"
version = "~> 1.0"
}
}
}
provider "psono" {}
Konfigurér legitimationsoplysninger gennem miljøvariabler i stedet for at placere dem i Terraform-filer:
export PSONO_SERVER_URL='https://psono.example.com/server'
export PSONO_API_KEY_ID='ERSTAT_MED_API_KEY_ID'
export PSONO_API_SECRET_KEY='ERSTAT_MED_API_SECRET_KEY'
Initialisér derefter arbejdsbiblioteket:
terraform init
Terraform downloader den signede provider-udgivelse og verificerer dens checksum-signatur.
Følgende ressource administrerer DB_PASSWORD i en eksisterende Psono Environment Variables-indgang:
resource "psono_environment_variable" "database_password" {
secret_id = var.psono_environment_variables_secret_id
name = "DB_PASSWORD"
length = 32
min_lower = 4
min_upper = 4
min_numeric = 4
min_special = 4
rotation_version = 1
}
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.
Forøg rotation_version, 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.
En flygtig værdi fra en anden provider kan skrives til Psono med value_wo:
ephemeral "random_password" "database" {
length = 32
}
resource "psono_environment_variable" "database_password" {
secret_id = var.psono_environment_variables_secret_id
name = "DB_PASSWORD"
value_wo = ephemeral.random_password.database.result
value_wo_version = 1
}
Værdien er tilgængelig under Terraform-operationen, men gemmes ikke i plan eller state. Forøg value_wo_version, når Terraform skal skrive en erstatning.
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 deletion_policy = "Delete", når Terraform eksplicit skal fjerne nøglen fra Psono ved destruktion eller ressourceudskiftning.
Provideren er open source og tilgængelig i dag:
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.