Protección de secretos de autenticación en Azure Key Vault

Al configurar proveedores de autenticación personalizados, es posible que desee almacenar los secretos de conexión en Azure Key Vault. En este artículo se muestra cómo utilizar una identidad administrada para conceder a Azure Static Web Apps acceso a Key Vault para los secretos de autenticación personalizados.

Nota:

Las funciones sin servidor de Azure no admiten la integración directa de Key Vault. Si necesita la integración de Key Vault con la aplicación de funciones administrada, deberá implementar el acceso de Key Vault al código de la aplicación.

Los secretos de seguridad requieren la aplicación de los siguientes elementos.

  • Crear una identidad asignada por el sistema en la instancia de Static Web Apps.
  • Conceda acceso a la identidad a un secreto de Key Vault.
  • Hacer referencia al secreto de Key Vault desde la configuración de la aplicación de Static Web Apps.

En este artículo se muestra cómo configurar cada uno de estos elementos en producción para aportar sus propias aplicaciones de funciones.

La integración de Key Vault no está disponible para:

Nota:

El uso de la identidad administrada solo está disponible en el plan Estándar de Azure Static Web Apps.

Requisitos previos

Creación de la identidad

  1. Abra el sitio Static Web Apps en Azure Portal.

  2. En el menú Configuración, seleccione Identidad.

  3. Vaya a la pestaña Asignado por el sistema.

  4. En la etiqueta Estado, seleccione el botón Activado.

  5. Seleccione Guardar.

    Add system-assigned identity

  6. Cuando aparezca el cuadro de diálogo de confirmación, seleccione .

    Confirm identity assignment.

Ahora puede agregar una directiva de acceso para permitir que la aplicación web estática lea secretos de Key Vault.

Adición de una directiva de acceso de Key Vault

  1. Abra el recurso Key Vault en Azure Portal.

  2. En el menú Configuración, seleccione Directivas de acceso.

  3. Seleccione el vínculo Agregar directiva de acceso.

  4. En la lista desplegable Permisos de secretos, seleccione Obtener.

  5. Junto a la etiqueta Seleccionar entidad de seguridad, seleccione el vínculo Ninguno seleccionado.

  6. En el cuadro de búsqueda, busque el nombre de aplicación Static Web Apps.

  7. Seleccione el elemento de lista que coincida con el nombre de la aplicación.

  8. Seleccione Seleccionar.

  9. Seleccione Agregar.

  10. Seleccione Guardar.

    Save Key Vault access policy

La directiva de acceso ahora se guarda en Key Vault. A continuación, acceda al URI del secreto para usarlo al asociar la aplicación web estática al recurso Key Vault.

  1. En el menú Configuración, seleccione Secretos.

  2. Seleccione en la lista el secreto deseado.

  3. Seleccione en la lista la versión de secreto deseada.

  4. Seleccione Copiar al final del cuadro de texto Identificador secreto para copiar el valor del identificador URI del secreto en el Portapapeles.

  5. Pegue el valor en un editor de texto para usarlo posteriormente.

Adición de configuración de la aplicación

  1. Abra el sitio Static Web Apps en Azure Portal.

  2. En el menú Configuración, seleccione Configuración.

  3. En la sección Configuración de la aplicación, seleccione Agregar.

  4. Escriba un nombre en el cuadro de texto para el campo Nombre.

  5. Determine el valor del secreto en el cuadro de texto del campo Valor.

    El valor del secreto es una composición de algunos valores diferentes. En la plantilla siguiente se muestra cómo se crea la cadena final.

    @Microsoft.KeyVault(SecretUri=<YOUR-KEY-VAULT-SECRET-URI>)
    

    Por ejemplo, una cadena final tendría el siguiente aspecto:

    @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
    

    O bien:

    @Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret)
    

    Siga estos pasos para compilar el valor de secreto completo.

  6. Copie la plantilla de arriba y péguela en un editor de texto.

  7. Reemplace <YOUR-KEY-VAULT-SECRET-URI> por el valor del URI de Key Vault que reservó anteriormente.

  8. Copie el nuevo valor de cadena completa.

  9. Pegue el valor en el cuadro de texto del campo Valor.

  10. Seleccione Aceptar.

  11. Seleccione Guardar en la parte superior de la barra de herramientas Configuración de la aplicación.

    Save application settings

Ahora, cuando la configuración de autenticación personalizada hace referencia a la configuración de la aplicación recién creada, el valor se extrae de Azure Key Vault mediante la identidad de la aplicación web estática.

Pasos siguientes