Administración de secretos para Azure Functions en Azure Container Apps

Al ejecutar Azure Functions en Azure Container Apps, se trabaja con dos categorías de secretos:

Categoría Description Consumido por
Secretos de nivel de aplicación Valores de configuración que lee el código de función durante la ejecución, como cadenas de conexión de base de datos, claves de API y credenciales de activación y enlace. Tu código y las vinculaciones en tiempo de ejecución de Functions.
Claves de acceso de Functions Tokens de autenticación (llaves de acceso) que protegen los puntos de conexión de funciones desencadenadas por HTTP, como las llaves maestras, las llaves del host, las llaves de función y las llaves del sistema. Llamantes externos de tus funciones HTTP (servicios, webhooks, desarrolladores).

Estas dos categorías difieren en dirección:

Secretos de nivel de aplicación Claves de acceso de Functions
Direction Saliente: la función se autentica en otros servicios Entrante: los llamantes se autentican a su función
Quién contiene el secreto Tu aplicación de función El autor de la llamada (proveedor de webhooks, servicio, desarrollador)
Lo que protege A qué se conecta la función ¿Quién puede invocar tu endpoint HTTP?
Validado por El servicio de destino El entorno de ejecución de Functions

Secretos de nivel de aplicación

Los secretos de nivel de aplicación son las credenciales que el código de función y los bindings necesitan para conectarse a servicios externos. Puede almacenarlos de dos maneras:

Option Más adecuado para Rotation Auditoría Guía
Secretos de Container Apps Desarrollo y pruebas, cargas de trabajo sencillas de aplicación única Manual de instrucciones Solo registros de actividad Almacenar secretos de nivel de aplicación
referencias de Key Vault Producción, multiaplicación, cumplimiento Automático (URI sin versión) Diagnóstico completo de Key Vault Almacenar secretos a nivel de aplicación

Sugerencia

Comience con los secretos de Container Apps para simplificar. Utilice referencias de Key Vault cuando necesite la administración centralizada, la rotación automática o la auditoría de nivel de cumplimiento.

Claves de acceso de Functions

Las claves de acceso proporcionan autenticación ligera de secreto compartido para los puntos de conexión HTTP. Use claves de acceso cuando los llamantes no puedan presentar tokens de Microsoft Entra ID, como en webhooks de terceros, llamadas de servicio a servicio o durante el desarrollo.

Establezca la AzureWebJobsSecretStorageType variable de entorno para elegir un back-end de almacenamiento:

Back-end Valor de configuración Más adecuado para Guía
Almacén de secretos de Container Apps containerapp Mayoría de las cargas de trabajo: sin dependencias externas (recomendado) Configuración de claves de host
Azure Key Vault keyvault Gobernanza centralizada, auditoría de cumplimiento Configuración de claves de host
Azure Blob Storage blob Aplicaciones heredadas o dependencias existentes AzureWebJobsStorage Configuración de claves de host
Sistema de archivos local files No se recomienda en Container Apps : consulte la advertencia. N/A

Advertencia

El host de Azure Functions tiene como valor predeterminado files (sistema de archivos local) cuando no se establece AzureWebJobsSecretStorageType. En Azure Container Apps, el sistema de archivos es efímero. Las claves de host almacenadas con files se pierden en cada reinicio, evento de escalado a cero o implementación de revisión. Configure siempre uno de los tres back-end de producción que se enumeran aquí.

Pasos siguientes

Elija la guía que coincida con el tipo de secreto que necesita administrar: