{"componentChunkName":"component---src-templates-blog-template-js","path":"/pt/blog/introducing-the-psono-terraform-provider","result":{"data":{"markdownRemark":{"html":"<h1>Apresentando o Provedor Terraform do Psono</h1>\n<p>Estamos felizes em anunciar que a versão beta do Provedor Terraform do Psono está agora disponível publicamente no\n<a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Registro de Provedores Terraform</a>.</p>\n<p>Equipes de infraestrutura agora podem gerenciar chaves individuais dentro das entradas de Variáveis de Ambiente já criadas no Psono como parte do seu fluxo de trabalho com Terraform. O provedor pode preservar valores existentes, gerar novas senhas, rotacionar valores gerenciados, gravar valores fornecidos externamente e ler segredos através de recursos efêmeros do Terraform.</p>\n<h2>Segredos sem armazená-los no estado do Terraform</h2>\n<p>O tratamento de segredos em infraestrutura como código exige cuidados especiais. Uma flag de sensibilidade pode esconder um valor da saída padrão do CLI, mas isso não necessariamente impede que esse valor seja salvo no estado do Terraform. O provedor do Psono utiliza as capacidades de somente escrita e recursos efêmeros do Terraform para evitar esse problema e requer o Terraform 1.11 ou superior.</p>\n<p>O provedor suporta três fluxos de trabalho comuns:</p>\n<ul>\n<li>Gerar um valor no Psono sem retornar este valor através do recurso gerenciado.</li>\n<li>Fornecer um valor via argumento somente de escrita para que o Terraform não persista no plano ou estado.</li>\n<li>Ler um valor existente por meio de um recurso efêmero e repassá-lo apenas para outro contexto efêmero ou somente de escrita.</li>\n</ul>\n<p>Isso torna possível incluir operações do ciclo de vida de segredos no Terraform enquanto mantém os valores reais no Psono.</p>\n<h2>Acesso restrito e criptografia local</h2>\n<p>O provedor utiliza uma chave de API restrita do Psono. Você atribui apenas as entradas de Variáveis de Ambiente que o Terraform precisa e concede permissão de leitura para todas as operações. Para criar, atualizar, rotacionar ou excluir chaves, é necessário permissão de escrita adicionalmente. O provedor não precisa de uma chave de API irrestrita e não pode criar entradas de cofres, pastas ou depósitos de dados.</p>\n<p>A criptografia e descriptografia ocorrem localmente no provedor. A verificação do certificado HTTPS não pode ser desativada, e autoridades certificadoras privadas podem ser adicionadas através de um bundle PEM de CA. Sistemas em produção devem sempre usar uma URL Psono com HTTPS.</p>\n<h2>Primeiros passos</h2>\n<p>É necessário o Terraform 1.11 ou mais recente. Adicione o provedor à sua configuração do 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>Configure as credenciais por variáveis de ambiente em vez de colocá-las nos arquivos do Terraform:</p>\n<pre><code class=\"language-bash\">export PSONO_SERVER_URL='https://psono.example.com/server'\nexport PSONO_API_KEY_ID='SUBSTITUA_PELO_ID_DA_API_KEY'\nexport PSONO_API_SECRET_KEY='SUBSTITUA_PELO_API_SECRET_KEY'\n</code></pre>\n<p>Depois, inicialize o diretório de trabalho:</p>\n<pre><code class=\"language-bash\">terraform init\n</code></pre>\n<p>O Terraform baixa a versão assinada do provedor e verifica sua assinatura de checksum.</p>\n<h2>Gerar e rotacionar valores</h2>\n<p>O recurso abaixo gerencia o <code>DB_PASSWORD</code> em uma entrada existente de Variáveis de Ambiente do 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 a chave já existir, o provedor a adota sem alterar seu valor. Se não existir, o provedor gera e armazena um novo valor no Psono. O valor gerado não é retornado pelo recurso gerenciado e não entra no estado do Terraform.</p>\n<p>Incremente o <code>rotation_version</code> quando o Terraform precisar gerar uma substituição. Isso também substitui valores que foram originalmente adotados ou importados, portanto, mudanças de rotação devem ser revisadas antes de aplicá-las.</p>\n<h2>Escrever um valor fornecido externamente</h2>\n<p>Um valor efêmero de outro provedor pode ser gravado no Psono com o <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>O valor fica disponível durante a operação do Terraform, mas não é armazenado no plano ou estado. Incremente o <code>value_wo_version</code> quando o Terraform precisar gravar uma substituição.</p>\n<h2>Exclusão segura por padrão</h2>\n<p>Destruir um recurso gerenciado mantém sua chave no Psono por padrão. Isso protege valores que o Terraform adotou, mas não criou. Defina <code>deletion_policy = \"Delete\"</code> apenas quando o Terraform deve remover explicitamente a chave do Psono durante a destruição ou substituição do recurso.</p>\n<h2>Disponível agora</h2>\n<p>O provedor é open source e está disponível hoje:</p>\n<ul>\n<li><a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Instale o provedor pelo Registro do Terraform</a></li>\n<li><a href=\"https://doc.psono.com/user/developer/terraform-provider.html\">Leia o guia do Provedor Terraform do Psono</a></li>\n<li><a href=\"https://gitlab.com/esaqa/psono/psono-terraform-provider\">Veja o código fonte no GitLab</a></li>\n</ul>\n<p>A versão beta foca deliberadamente em entradas de Variáveis de Ambiente e chaves de API restritas. Isso mantém permissões reduzidas, evita acesso irrestrito ao cofre e proporciona uma base prática para gerenciar segredos operacionais com segurança a partir do Terraform.</p>","frontmatter":{"date":"August 22, 2026","slug":"introducing-the-psono-terraform-provider","title":"Apresentando o Provedor Terraform do Psono","description":"Gerencie valores gerados, somente de escrita e efêmeros no Psono diretamente pelo Terraform sem armazenar segredos no estado do Terraform.","author":"Sascha Pfeiffer","featuredImage":null}}},"pageContext":{"slug":"introducing-the-psono-terraform-provider","lang":"pt","langPathPrefix":"/pt"}},"staticQueryHashes":["2149092236","3128451518","3192060438"]}