{"componentChunkName":"component---src-templates-blog-template-js","path":"/es/blog/introducing-the-psono-terraform-provider","result":{"data":{"markdownRemark":{"html":"<h1>Presentamos el Proveedor de Terraform para Psono</h1>\n<p>Nos complace anunciar que la versión beta del Proveedor de Terraform para Psono ya está disponible de forma pública en el\n<a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Registro de Terraform</a>.</p>\n<p>Ahora, los equipos de infraestructura pueden gestionar claves individuales dentro de entradas de Variables de Entorno previamente creadas en Psono como parte de su flujo de trabajo en Terraform. El proveedor puede preservar los valores existentes, generar nuevas contraseñas, rotar valores gestionados, escribir valores externos proporcionados y leer secretos a través de recursos efímeros de Terraform.</p>\n<h2>Secretos sin almacenarlos en el estado de Terraform</h2>\n<p>El manejo de secretos en infraestructura como código requiere especial atención. Un indicador de confidencialidad puede ocultar un valor de la salida normal de la CLI, pero no necesariamente evita que ese valor se almacene en el estado de Terraform. El proveedor de Psono utiliza las capacidades de solo escritura y efímeras de Terraform para evitar ese problema y requiere Terraform 1.11 o superior.</p>\n<p>El proveedor admite tres flujos de trabajo comunes:</p>\n<ul>\n<li>Generar un valor en Psono sin devolverlo a través del recurso gestionado.</li>\n<li>Suministrar un valor mediante un argumento de solo escritura para que Terraform no lo almacene en el plan ni en el estado.</li>\n<li>Leer un valor existente a través de un recurso efímero y pasarlo solo a otro contexto efímero o de solo escritura.</li>\n</ul>\n<p>Esto hace posible incluir operaciones sobre el ciclo de vida de los secretos en Terraform, manteniendo los valores reales en Psono.</p>\n<h2>Acceso restringido y cifrado local</h2>\n<p>El proveedor utiliza una clave API restringida de Psono. Solo se asignan las entradas de Variables de Entorno que Terraform necesita y se otorga permiso de lectura para todas las operaciones. Para crear, actualizar, rotar o borrar claves, además, se requiere permiso de escritura. El proveedor no necesita una clave API sin restricciones y no puede crear entradas de bóveda, carpetas ni almacenes de datos.</p>\n<p>El cifrado y descifrado ocurre localmente en el proveedor. No se puede deshabilitar la verificación del certificado HTTPS, y las autoridades certificadoras privadas se pueden agregar mediante un paquete CA en formato PEM. Los sistemas en producción siempre deben utilizar una URL de Psono con HTTPS.</p>\n<h2>Primeros pasos</h2>\n<p>Se requiere Terraform 1.11 o superior. Agrega el proveedor a tu configuración de 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 las credenciales a través de variables de entorno en lugar de colocarlas en los archivos de Terraform:</p>\n<pre><code class=\"language-bash\">export PSONO_SERVER_URL='https://psono.example.com/server'\nexport PSONO_API_KEY_ID='REPLACE_WITH_API_KEY_ID'\nexport PSONO_API_SECRET_KEY='REPLACE_WITH_API_SECRET_KEY'\n</code></pre>\n<p>Luego inicializa el directorio de trabajo:</p>\n<pre><code class=\"language-bash\">terraform init\n</code></pre>\n<p>Terraform descarga la versión firmada del proveedor y verifica la firma del checksum.</p>\n<h2>Genera y rota valores</h2>\n<p>El siguiente recurso gestiona la clave <code>DB_PASSWORD</code> en una entrada existente de Variables de Entorno de 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>Si la clave ya existe, el proveedor la adopta sin cambiar su valor. Si no existe, el proveedor genera y almacena un valor nuevo en Psono. El valor generado no es devuelto por el recurso gestionado ni entra al estado de Terraform.</p>\n<p>Incrementa <code>rotation_version</code> cuando quieras que Terraform genere un reemplazo. Esto también reemplaza valores que fueron adoptados o importados originalmente, por lo que los cambios de rotación deben revisarse antes de aplicarlos.</p>\n<h2>Escribe un valor proporcionado externamente</h2>\n<p>Un valor efímero de otro proveedor puede escribirse en 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>El valor está disponible durante la operación de Terraform, pero no se almacena en el plan ni en el estado. Incrementa <code>value_wo_version</code> cuando desees que Terraform escriba un reemplazo.</p>\n<h2>Eliminación segura por defecto</h2>\n<p>Destruir un recurso gestionado conserva su clave en Psono por defecto. Esto protege valores que Terraform adoptó pero no creó. Establece <code>deletion_policy = \"Delete\"</code> únicamente cuando quieras que Terraform elimine explícitamente la clave de Psono al destruir o reemplazar recursos.</p>\n<h2>Disponible ahora</h2>\n<p>El proveedor es de código abierto y está disponible hoy:</p>\n<ul>\n<li><a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Instala el proveedor desde el Registro de Terraform</a></li>\n<li><a href=\"https://doc.psono.com/user/developer/terraform-provider.html\">Lee la guía del Proveedor de Terraform para Psono</a></li>\n<li><a href=\"https://gitlab.com/esaqa/psono/psono-terraform-provider\">Consulta el código fuente en GitLab</a></li>\n</ul>\n<p>La versión beta se centra deliberadamente en las entradas de Variables de Entorno y claves API restringidas. Esto mantiene los permisos reducidos, evita el acceso no restringido a la bóveda y proporciona una base práctica para gestionar secretos operativos de manera segura desde Terraform.</p>","frontmatter":{"date":"August 22, 2026","slug":"introducing-the-psono-terraform-provider","title":"Presentamos el Proveedor de Terraform para Psono","description":"Administra valores generados, de solo escritura y efímeros en Psono directamente desde Terraform sin almacenar secretos en el estado de Terraform.","author":"Sascha Pfeiffer","featuredImage":null}}},"pageContext":{"slug":"introducing-the-psono-terraform-provider","lang":"es","langPathPrefix":"/es"}},"staticQueryHashes":["2149092236","3128451518","3192060438"]}