Article available only in Spanish
1. Introducción
Un problema común cuando se trabaja en la creación de algunos recursos con Terraform es la asignación de contraseñas, secretos o cualquier otro tipo de información sensible. Esta información no debería asignarse nunca en formato plano ni guardarse en los repositorios de código fuente.
Por ejemplo, a la hora de crear máquinas virtuales con el proveedor de Azure para Terraform (azurerm), tanto si sólo usamos código HCL como si usamos módulos de Terraform Registry, tendremos que asignar valores de usuario y contraseña de la cuenta de administrador para configurar la máquina virtual. Podríamos asignar estos valores directamente en el código de configuración pero sería un grave riesgo de seguridad. También podríamos asignar valores a estos atributos mediante variables de Terraform cuyo valor sería cargado automáticamente desde variables de entorno (convención basada en el formato de nombres de variables de entorno TF_VAR_nombre_variable
) pero no sería una solución demasiado elegante, mantenible o escalable.
La solución propuesta en este artículo es el uso de Azure Key Vault como plataforma de almacenamiento de nuestras contraseñas, secretos o claves.
2. Azure Key Vault
Azure Key Vault es una plataforma en cloud que ayuda a solucionar fundamentalmente los siguientes problemas:
- Administración de secretos
- Administración de claves
- Administración de certificados
Ofrece los siguientes beneficios para considerar su integración en nuestras aplicaciones:
- Centralización de secretos de aplicación
- Almacenamiento seguro de secretos y claves
- Supervisión de acceso y uso de secretos y claves
- Fácil integración con otros servicios de Azure
- Fácil integración con Terraform
No merece extenderse más en este artículo ya que tienes toda la documentación disponible en la web de Microsoft Azure Key Vault.
En este punto, lo primero a realizar sería crear nuestro Azure Key Vault. Es realmente sencillo. A continuación te adjunto el enlace para crearlo usando el portal de Azure: Crear un Azure Key Vault desde el portal de Azure. En mi caso he creado un Key Vault llamado jm-inn-main-kv que es el que usaré en los ejemplos posteriores.
Las opciones de menú más destacadas que usaremos en nuestro artículo son Secrets y Access policies en la sección de Settings.
![](data:image/png;base64,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)
El menú Secrets nos permite generar o importar secretos consistentes en un nombre y un valor. Cada secreto puede ser configurado con una serie de propiedades adicionales pero caen fuera del alcance de este artículo. En mi caso he creado dos secretos llamados vm-password-default
y vm-username-default
que serán los nombres (keys) para acceder a los valores (values) de los secretos:
![](data:image/png;base64,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)
El menú Access policies nos permite configurar los permisos necesarios para que un usuario, grupo o service principal pueda realizar una serie de operaciones (Get
, List
, Set
, Delete
, Recover
, Backup
, Restore
) sobre claves, secretos o certificados.
![](data:image/png;base64,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)
Es necesario añadir una Access policy (+ Add Access Policy) para asignar permisos al usuario o service principal sobre el que se ejecuta nuestra instancia de Terraform. En mi caso había añadido dos secretos por lo que sólo necesito añadir Secret Permissions sobre el service principal jm-inn-terraform-sp usado en mi instancia de Terraform como puede verse en la imagen posterior:
![](data:image/png;base64,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JDGAAAIIIIAAAggggAACCCBQS4AEshYThRDolsALL7yQli9flh7asKHouJ6fPHt2OnDgQLcGQm9HTmDNmjXppptuTC+99FKjsecx32hhCiPQcgG2i5avoJZ079lnn03XXnNNevzxx4sevfLKK2nlylvTse9+d3EM8Ic//GHM/JZ0e9K7sfXRR9P111+XDh8+3Lit8W57jRvq2AIkkA1X2JEjR9Lcueemf/+3d6XNmzeNWZqD9DEcvKgQcAy9+U1vTP4bdnJ38ODBdOaZZ6Sf/eynRS+IzYqV0cG3HT+XL1hQ9F4HCDfcsDy98x3/mu6///6hjMhtOD7/5Z/fnr556aXpmWeeGUr9/Sr58Y9+lOZ84b+SYrjJlMd8k2Up2x6BLVu2pC998az01re8pdg/aj/27BTEnQRefPHF9NOf/iT94PvfLwVhuyhl4c2GArt27UwXXnhB0n5V+9gT3n98Wr363oa1vFp827Ztxfayffv24o0nnngiffSkWemOO+4oXu/YsSO9773/ka679tr03HPPpV27do2ZP55GdYJv/je+nrQ9NJ10LOLPlb//u79Nn/vc6WnTprHH0k3rrFP+9tt/nT720ZPS7t276xQfU2a8n0ljKpmBL0ggG67U+AEyZ84XxhzkcJDeEHNEizuG5s//RnFFUFcFdYD08ssvT5oIsTlptFNesePHCaTOrOoAQUmkkslhTG7DMarEdPbsj6WLL7oo6UofEwKTIbBz58504n9+sDi41oGvXl933XVTlkA67r1t5WP0fLaLXIbXdQW0L33XO99RnOBVUnPfffcVV8Zuu+22ulWMKaerY+857tikRLJs0vuar3LDmrR96EKKtoemk45FlOBq+9afEmlt89rWmbolQALZcH35A+SsOXPSqaeekpYtW9Y7aIsH6br96he/uL44s6SzLR868cT04IO/L1rzBn3NNT9PnznttOJM68KFP0w6ENRrnZW57Jvf7F1q1wGbriTpbJX+Fi9alJ5//vmGPad4WwQcQ2UHKU1j46GHHkqnnfbpImYUG1df/bPi1j8lpbqqqZjUFGOzLQ70Y3wCMX7279+fPv2pT6Yrr/zumFs+t27dWuxLtO/RPkVneHX2+fTTP5uuuOLy3j5L8faBE96f1q5dO6YzsQ3PWLVqVfrgB04ozmDv27cvnXvO2UXcad+ms+dKXh13ulr5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)
Si no sabes cómo crear un service principal puedes echar un vistazo al artículo Terraform: Estructura de Ficheros, Estado Remoto y Autenticación en Azure de este blog.
Las acciones disponibles para gestionar secretos (Secret Management) puedes verlas en la imagen posterior. En nuestro caso, sólo necesitamos leer los valores de secretos por lo que solamente la operación Get
es requerida. Siguiendo la regla de mínima asignación de permisos viable tan sólo he seleccionado la operación Get
:
![](data:image/png;base64,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)
Con estos sencillos pasos ya tendríamos configurado nuestro Azure Key Vault para almacenar secretos y nuestro service principal creado para autenticar la instancia de Terraform en Azure con los permisos necesarios.
3. Acceso a Azure Key Vault desde Terraform
Lo que más me gusta de esta solución es lo sencillo que resulta configurar Terraform para acceder a Azure Key Vault. Los pasos necesarios para lograr nuestro objetivo son los siguientes:
1. En los ficheros de configuración de Terraform añadir código HCL para crear un data source que referencie nuestro Azure Key Vault:
# Data source to reference Azure Key Vault holding secrets
data "azurerm_key_vault" "kv" {
name = "jm-inn-main-kv"
resource_group_name = "jm-inn-core-rg"
}
2. En los ficheros de configuración de Terraform añadir código HCL para referenciar las entradas que guardan los valores de nuestros secretos. En el capítulo anterior habíamos visto que en
Azure Key Vault habíamos creado dos entradas secretas con nombre
vm-username-default
y
vm-password-default
para almacenar valores de nombre de usuario y contraseña por defecto para ser asignadas a máquinas virtuales. Esta sería la forma de acceder desde Terraform:
# Data Source to get username secret from Azure Key Vault previously defined
data "azurerm_key_vault_secret" "vm_username" {
name = "vm-username-default"
key_vault_id = data.azurerm_key_vault.kv.id
}
# Data Source to get password secret from Azure Key Vault previously defined
data "azurerm_key_vault_secret" "vm_password" {
name = "vm-password-default"
key_vault_id = data.azurerm_key_vault.kv.id
}
3. Una vez creadas todas las
data sources anteriores, tan sólo nos queda acceder a los valores de los secretos. Supongamos que estamos creando una máquina virtual Windows con el código HCL mostrado abajo. Observa las líneas en negrita en el código siguiente para asignar los atributos de
admin_username
y
admin_password
:
# Create Virtual Machine
resource "azurerm_windows_virtual_machine" "vm1" {
name = "tf-vm-1"
resource_group_name = "jm-inn-tf-vms-rg"
location = "westeurope"
size = "Standard_B2s"
admin_username = data.azurerm_key_vault_secret.vm_username.value
admin_password = data.azurerm_key_vault_secret.vm_password.value
network_interface_ids = [
azurerm_network_interface.nic1.id,
]
os_disk {
caching = "ReadWrite"
storage_account_type = "Standard_LRS"
}
source_image_reference {
publisher = "MicrosoftWindowsServer"
offer = "WindowsServer"
sku = "2019-Datacenter"
version = "latest"
}
}
Tan sólo es necesario asignar los atributos admin_username
y admin_password
accediendo a la propiedad value
de los data source azurerm_key_vault_secret.vm_username
y azurerm_key_vault_secret.vm_password
respectivamente.
Realmente resulta muy sencillo utilizar está solución. Por ello, recomiendo valorar su integración en nuestras aplicaciones desde el primer momento que tengamos la necesidad de almacenar de forma segura información sensible de claves, secretos o certificados.
4. Referencias