Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1K
Views
Cómo recuperar un secreto en terraform desde aws secret manager

Tengo un secreto almacenado en el administrador de secretos al que tengo acceso al arn. Quiero recuperar el valor de este arn y usarlo en terraform ¿cómo puedo lograr esto?

Encontré esto en el sitio web de terraform

 data "aws_secretsmanager_secret" "by-arn" { arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456" }

¿Cómo recupero el valor? Es decir, ¿cuál es el equivalente de " get-value" en terraform para una instancia de EC2?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Aquí hay un ejemplo. De forma predeterminada, aws_secretsmanager_secret_version recupera información basada en la etiqueta AWSCURRENT (también conocida como la última versión):

 data "aws_secretsmanager_secret" "secrets" { arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:my_secrety_name-123456" } data "aws_secretsmanager_secret_version" "current" { secret_id = data.aws_secretsmanager_secret.secrets.id }

Y use data.aws_secretsmanager_secret_version.current.secret_string para obtener el secreto. Si desea recuperar un valor específico dentro de ese secreto como DATABASE_URL , puede usar la función jsondecode :

 jsondecode(data.aws_secretsmanager_secret_version.current.secret_string)["DATABASE_URL"]
over 4 years ago · Santiago Trujillo Report

0

Tenga en cuenta que Terraform 0.14 agregó la capacidad de redactar valores confidenciales en la salida de la consola.

Por lo tanto, si usa Terraform > 0.14, tendrá que usar una función nonsensitive para exponer el valor secreto real.

nonsensitive función no sensible toma un valor sensible y devuelve una copia de ese valor con la marca sensible eliminada, exponiendo así el valor real.

 data "aws_secretsmanager_secret" "secrets" { arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:my_secrety_name-123456" } data "aws_secretsmanager_secret_version" "current" { secret_id = data.aws_secretsmanager_secret.secrets.id } output "sensitive_example_hash" { value = jsondecode(nonsensitive(data.aws_secretsmanager_secret_version.current.secret_string)) }
over 4 years ago · Santiago Trujillo Report

0

aws_secretsmanager_secret es un objeto secreto de AWS secretsmanager, pero un secreto puede tener varias versiones y los valores se almacenan en las versiones, no en el objeto secreto principal.

Así que esto es lo que está buscando en su lugar: https://www.terraform.io/docs/providers/aws/r/secretsmanager_secret_version.html (y describe cómo obtener el valor de la versión secreta, es decir, aws_secretsmanager_secret_version.example.secret_string ).

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!