Compartir a través de


Adición de Key Vault a la aplicación web mediante Servicios conectados de Visual Studio

En este tutorial, aprenderá a agregar fácilmente todo lo que necesita para empezar a usar Azure Key Vault para administrar los secretos de los proyectos web en Visual Studio, tanto si usa ASP.NET Core como cualquier tipo de proyecto de ASP.NET. Con la característica Servicios conectados en Visual Studio, puede hacer que Visual Studio agregue automáticamente todos los paquetes NuGet y las opciones de configuración que necesita para conectarse a Key Vault en Azure.

Prerrequisitos

Adición de compatibilidad con Key Vault al proyecto

Antes de empezar, asegúrese de que ha iniciado sesión en Visual Studio. Inicie sesión con la misma cuenta que usa para su suscripción de Azure. A continuación, abra un proyecto web de ASP.NET 4.7.1 o posterior, o de ASP.NET Core, y realice los pasos siguientes. Los pasos que se muestran son para Visual Studio 2022, versión 17.4. El flujo puede ser ligeramente diferente para otras versiones de Visual Studio.

  1. En Explorador de soluciones, haga clic con el botón derecho en el proyecto al que desea agregar compatibilidad con Key Vault y elija Agregar>servicio conectado, o haga clic con el botón derecho en el nodo servicios conectados y seleccione Agregar.

    Si no ve el nodo Servicios conectados, elija Proyecto>Servicios conectados>Agregar.

  2. En las Dependencias del servicio, elija el icono de +. Aparece la página Servicio conectado con los servicios que puede agregar al proyecto.

  3. En el menú de servicios disponibles, elija Azure Key Vault y haga clic en Siguiente.

    Captura de pantalla que muestra la pantalla Servicios conectados, con la opción de elegir Azure Key Vault.

  4. Seleccione la suscripción que desea usar y, después, si ya tiene un almacén de claves que desea usar, selecciónelo y haga clic en Siguiente.

    Captura de pantalla que muestra la selección de la suscripción.

  5. Si no tiene un almacén de claves existente o si necesita un almacén de claves que pueda establecer con permisos diferentes a los existentes, haga clic en Crear nuevo almacén de claves. Se le pedirá que proporcione el grupo de recursos, la ubicación y la SKU.

    Captura de pantalla de la pantalla

  6. En la pantalla Configurar Key Vault, puede cambiar el nombre de la variable de entorno que hace referencia al URI de Key Vault. La cadena de conexión no se almacena aquí; se almacena en la bóveda de claves.

    captura de pantalla de conexión a Azure Key Vault.

    Nota

    Para mejorar la seguridad, en Visual Studio 17.12 y versiones posteriores, este paso crea un nombre de configuración de conexión; las versiones anteriores crean una cadena de conexión. Las cadenas de conexión almacenadas localmente pueden provocar un riesgo de seguridad, si se exponen accidentalmente.

  7. Haga clic en Siguiente hasta que vea un resumen de los cambios y luego Finalizar.

Antes de empezar, asegúrese de que ha iniciado sesión en Visual Studio. Inicie sesión con la misma cuenta que usa para su suscripción de Azure. A continuación, abra un proyecto web de ASP.NET 4.7.1 o posterior, o ASP.NET Core, y realice los pasos siguientes.

  1. En Explorador de soluciones, haga clic con el botón derecho en el proyecto al que desea agregar compatibilidad con Key Vault y elija Agregar>servicio conectado, o haga clic con el botón derecho en el nodo servicios conectados y seleccione Agregar.

    Si no ve el nodo Servicios conectados, elija Proyecto>Servicios conectados>Agregar.

  2. En las Dependencias del servicio, elija el icono de +. Aparece la página Servicio conectado con los servicios que puede agregar al proyecto.

  3. En el menú de servicios disponibles, elija Azure Key Vault y haga clic en Siguiente.

    Captura de pantalla que muestra la pantalla servicios conectados y la opción para elegir Azure Key Vault.

  4. Seleccione la suscripción que desea usar y, después, si ya tiene un almacén de claves que desea usar, selecciónelo y haga clic en Siguiente.

    Captura de pantalla que muestra la selección de la suscripción.

  5. Si no tiene un almacén de claves existente, haga clic en Crear nuevo almacén de claves. Se le pedirá que proporcione el grupo de recursos, la ubicación y la SKU.

    Captura de pantalla de la pantalla

  6. En la pantalla Configurar Key Vault, puede cambiar el nombre de la variable de entorno que hace referencia al URI de Key Vault. La cadena de conexión no se almacena aquí; se almacena en la bóveda de claves.

    captura de pantalla de conexión a Azure Key Vault.

  7. Haga clic en Siguiente para revisar un resumen de los cambios y luego Finalizar.

Ahora, la conexión a Key Vault está establecida y puede acceder a sus secretos desde el código. Si acaba de crear un nuevo almacén de claves, pruébelo creando un secreto al que pueda referirse en el código. Puede crear un secreto mediante Azure Portal, PowerShello la CLI de Azure .

Consulte ejemplos de código de cómo trabajar con secretos en Biblioteca cliente de secretos de Azure Key Vault para .NET: ejemplos de código.

Configuración del acceso al almacén de claves

Si ha seguido este tutorial con Visual Studio 2022 versión 17.11 o anterior, los permisos de Key Vault se configuran para ejecutarse con su propia suscripción de Azure, pero es posible que no sea deseable para un escenario de producción. Puede crear una identidad administrada para administrar el acceso a Key Vault para la aplicación. Consulte Cómo autenticarse en Key Vault y Asignar una directiva de acceso a Key Vault.

Si el almacén de claves se ejecuta en una cuenta Microsoft diferente a la que ha iniciado sesión en Visual Studio (por ejemplo, el almacén de claves se ejecuta en su cuenta profesional, pero Visual Studio usa su cuenta privada), obtendrá un error en el archivo Program.cs, que Visual Studio no puede obtener acceso al almacén de claves. Para corregir este problema, vaya al Azure Portal, abra el almacén de claves y elija control de acceso (IAM) para establecer permisos. Consulte Proporcionar acceso a claves, certificados y secretos de Key Vault con un control de acceso basado en rol (RBAC) de Azure.

Nota

Los almacenes de claves más antiguos pueden usar un modelo de directiva de acceso heredado. Se recomienda migrar almacenes de claves más antiguos para usar RBAC de Azure. Consulte Control de acceso basado en rol (RBAC) de Azure frente a las directivas de acceso.

Pasos siguientes

Para más información sobre el desarrollo de Key Vault, lea la guía del desarrollador de Key Vault .

Si tu objetivo es almacenar la configuración de una aplicación ASP.NET Core en un Azure Key Vault, consulta proveedor de configuración de Azure Key Vault en ASP.NET Core.