Protección de los secretos de autenticación en Azure Key Vault para Azure Static Web Apps
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.
- Cree una identidad asignada por el sistema en la aplicación web estática.
- 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:
- Versiones de almacenamiento provisional de la aplicación web estática. La integración de Key Vault solo se admite en el entorno de producción.
- Aplicaciones web estáticas que usan funciones administradas.
Nota:
El uso de la identidad administrada solo está disponible en el plan Estándar de Azure Static Web Apps.
Requisitos previos
- Sitio existente de Azure Static Web Apps mediante la aportación de sus propias funciones.
- Tener ya un recurso de Key Vault con un valor secreto.
Creación de la identidad
Abra las aplicaciones web estáticas en Azure Portal.
En Configuración, seleccione Identidad.
Vaya a la pestaña Asignado por el sistema.
En la etiqueta Estado, seleccione el botón Activado.
Seleccione Guardar.
Cuando aparezca el cuadro de diálogo de confirmación, seleccione Sí.
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
Abra el recurso Key Vault en Azure Portal.
En el menú Configuración, seleccione Directivas de acceso.
Seleccione el vínculo Agregar directiva de acceso.
En la lista desplegable Permisos de secretos, seleccione Obtener.
Junto a la etiqueta Seleccionar entidad de seguridad, seleccione el vínculo Ninguno seleccionado.
En el cuadro de búsqueda, busque el nombre de la aplicación web estática.
Seleccione el elemento de lista que coincida con el nombre de la aplicación.
Seleccione Seleccionar.
Seleccione Agregar.
Seleccione Guardar.
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.
En el menú Configuración, seleccione Secretos.
Seleccione en la lista el secreto deseado.
Seleccione en la lista la versión de secreto deseada.
Seleccione Copiar al final del cuadro de texto Identificador secreto para copiar el valor del identificador URI del secreto en el Portapapeles.
Pegue el valor en un editor de texto para usarlo posteriormente.
Adición de configuración de la aplicación
Abra el sitio Static Web Apps en Azure Portal.
En el menú Configuración, seleccione Configuración.
En la sección Configuración de la aplicación, seleccione Agregar.
Escriba un nombre en el cuadro de texto para el campo Nombre.
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.
Copie la plantilla de arriba y péguela en un editor de texto.
Reemplace
<YOUR_KEY_VAULT_SECRET_URI>
por el valor del URI de Key Vault que reservó anteriormente.Copie el nuevo valor de cadena completa.
Pegue el valor en el cuadro de texto del campo Valor.
Seleccione Aceptar.
Seleccione Guardar en la parte superior de la barra de herramientas Configuración de la aplicación.
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.