Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1K
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda