Archiviazione dei segreti del servizio app di Azure nell'insieme di credenziali delle chiavi di Azure

Contenuti

Hoy voy a mostrar c贸mo almacenar los secretos de configuraci贸n de Servizio app di Azure Su Azure Key Vault. In questo esempio, User貌 un Plataforma DNN sitio web basado en Azure App Service utilizando una Banca dati SQL, que almacena la cadena de conexi贸n de la base de datos SQL en Azure Key Vault. No cambiar茅 la base de c贸digo de la aplicaci贸n para acceder a Azure Key Vault de ninguna manera. Aprovecharemos la funci贸n de identidad administrada de App Service para recuperar autom谩ticamente los secretos de Key Vault.

Aprovisionar Azure Key Vault

  1. Aprovisionar Azure Key Vault

    779b7662-4e66-4a9c-8d08-2dd70a18e22d-7834662

  2. Per questa dimostrazione, cambiaremos el modelo de permisos al nuevo control de acceso basado en roles de Azure (RBAC). Actualmente est谩 en versi贸n preliminar.

    cce042e2-835a-4acd-9650-f923cb854031-4931459

  3. Dependiendo de su implementaci贸n, cambie la Red como desee. Per questa dimostrazione, lo dejaremos como punto de conexi贸n p煤blico para que coincida con la configuraci贸n de App Service.

    8c23c374-cf92-4753-a008-124d32807146-5503519

  4. Clicca sul Revisar + Creare bot贸n para iniciar la implementaci贸n
  5. Una vez creado, agr茅guese a la funci贸nAdministrador de Key Vault (versi贸n preliminar)” a trav茅s del Control de acceso (IAM). Ahora puedes empezar a gestionar secretos.

    1a101595-cb28-436b-950d-bcf70c2635cd-4661991

Agregar la cadena de conexi贸n a los secretos de Key Vault

  1. Agregar un nuevo secreto a Key Vault

    afc018f4-afea-421e-ad81-62b90c1713a3-1233213

  2. Especifique el secreto de tipo “Manuale”, as铆gnele un nombre y establezca el valor en la cadena de conexi贸n de la Base de datos SQL actual almacenada en la aplicaci贸n web.config

    a886528a-32b1-41a0-8a7a-0d5d99e0ac70-9724989

  3. Haga clic en Crear. Una vez creado, haga clic en el secreto para ver los detalles del secreto y luego haga clic nuevamente en la versi贸n actual
  4. Junto al Identificador secreto, haga clic en el bot贸n Copiar al portapapeles

    5f9c0428-1949-42e4-a87f-abc7b372229a-5831097

Agregar la referencia del identificador secreto a la configuraci贸n de Azure App Service

  1. Abra la configuraci贸n de App Service y agregue una nueva configuraci贸n de Cadena de conexi贸n
  2. Escriba el nombre de la cadena de conexi贸n (“SiteSqlServerpara la plataforma DNN) y establezca el valor@ Microsoft.KeyVault (SecretUri = VALUE_FROM_CLIPBOARD)”, donde VALUE_FROM_CLIPBOARD es el del paso 4 de la secci贸n anterior.
  3. Haga clic en Guardar para guardar la configuraci贸n de la aplicaci贸n.

    7de603cd-e42f-4106-93e0-059da43c379c-6346505

Permitir que App Service acceda a Key Vault

  1. En App Service nuevamente, haga clic en Identidad para habilitar la identidad asignada por el sistema.
  2. Haga clic en guardar despu茅s de activar “attivato” lo stato

    5025f05c-fe64-42d1-9b2d-5f640ec697b8-3897923

  3. Fare clic sul pulsante “Asignaciones de roles” e quindi fare clic su “Agregar asignaci贸n de roles (anteprima)”

    49c47071-6213-43b0-bb74-506bb4119cd7-6049316

  4. En la asignaci贸n de roles, elija el alcanceKey Vault”, suscriba la suscripci贸n donde cre贸 el Key Vault en los pasos anteriores y el nombre del recurso de Key Vault. Para el rol, basta selezionare “Usuario de Key Vault Secrets (anteprima)”

    52e833c4-2ef6-49ce-bd20-f6a16a9df816-5718828

  5. Finalmente, vaya al archivo web.config del sitio web de su plataforma DNN y borre el contenido de la cadena de conexi贸n.

    92e072cf-b7f0-4e59-9b9e-f3c306ee5805-3350173

  6. Visite el sitio web y verifique que se cargue correctamente. Ora, la cadena de conexi贸n se almacena de forma segura en Azure Key Vault y ya no se almacena en el sistema de archivos.

Problemas conocidos

  1. ERRORE: Aparece un errorPalabra clave no admitida: ‘@ microsoft.keyvault (secreturi'”. He experimentado que los permisos de RBAC pueden tardar uno o dos minutos en aplicarse, as铆 que intente despu茅s de unos minutos. Tambi茅n intente reiniciar el La aplicaci贸n pens贸 en el portal de App Service, por lo que no se almacena nada en cach茅.

    d31c9fb1-4cb2-4410-adb8-95917c3d8a15-1079568

  2. Al verificar los registros de DNN log4net, ve muchos errores de un proceso que intenta inicializar una conexi贸n de base de datos con una cadena de conexi贸n no v谩lida durante el proceso de inicializaci贸n de DNN. Este error est谩 ocurriendo actualmente en las versiones 9.7.2 o anteriores con una solicitud de extracci贸n pendiente para solucionarlo https://github.com/dnnsoftware/Dnn.Platform/issues/4227
  3. IMPORTANTE: si planea usar la funci贸n de copia de seguridad de Azure App Service, no use este m茅todo para almacenar cadenas de conexi贸n de la base de datos SQL en Azure Key Vault, ya que la funci贸n de copia de seguridad de App Service no las admite. https://stackoverflow.com/questions/56101504/backingup-azure-webapp-when-connection-string-is-injected-through-keyvault

隆Espero que esto ayude!

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.