Azure terraform: Usar la identidad administrada existente para autenticar la aplicación web.
Espero que alguien pueda ayudarme a resolver este problema.
Usando Terraform, he creado algunos grupos de recursos y aplicaciones web. Esas aplicaciones web tienen algunas configuraciones que necesitan acceder a un Key Vault para obtener algunas claves secretas.
Pero para hacer esto, necesito activar la identidad de Azure en la aplicación web.
Hasta ahora todo funciona correctamente sin ningún problema. Pero como todavía estoy aprendiendo a usar Terraform con Azure, necesito seguir destruyendo y creando las aplicaciones web, lo que significa que cada vez necesito activar la identidad y agregar la política de acceso en el key vault.
Así que lo que hice fue crear un recurso de identidad administrada de Azure en el mismo grupo de recursos donde tengo el key vault. Ahora me gustaría utilizar esta identidad administrada para autenticar mi aplicación web cada vez que la cree.
Mi código de aplicación web se ve así:
resource "azurermappservice" "app-hri-stg-eur-configurations-api" {
name = "app-hri-${var.env}-${var.reg-name}-webapp-testing"
appserviceplanid = azurermappserviceplan.ASP-hri-stg-eur-webapp.id
location = var.location
resourcegroupname = azurermresourcegroup.rg-hri-stg-eur-webapp.name
app_settings = {
"secret" = "@Microsoft.KeyVault(SecretUri=https://mykeyvault.vault.azure.net/secrets/test)"
...... <my configuration="">
}
identity {
type = "UserAssigned"
}
}
Y aquí es donde me estoy confundiendo, ¿cómo puedo hacer referencia a la identidad administrada de Azure que ya he creado para otorgar acceso a mi aplicación web y leer las claves secretas?
Espero haber hecho mi pregunta lo suficientemente clara, y por favor si no es así, solo pida más información.
Muchas gracias por cualquier ayuda que pueda brindar.
davy.ai
Parece que estás intentando usar una Identidad Gestionada de Azure para autenticar tu aplicación web y acceder a los secretos de un Vault. Ya has creado la Identidad Gestionada de Azure en el mismo grupo de recursos que el Vault.
Para hacer referencia a la Identidad Gestionada de Azure en el código de tu aplicación web, puedes utilizar el bloque
identity
en el recursoazurerm_app_service
. Eltype
debe estar configurado enUserAssigned
y losidentity_ids
deben estar configurados en elid
de la Identidad Gestionada de Azure.Por ejemplo:
Puedes encontrar más información sobre cómo utilizar Identidades Gestionadas de Azure con Terraform aquí.