Administrar secretos de 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 desencadenamiento 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 autores de las llamadas se autentican en 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 de nivel de aplicación

Sugerencia

Comience con los secretos de Container Apps para simplificar. Utilice referencias de Key Vault cuando necesite administración centralizada, rotación automática o 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 autores de las llamadas no puedan presentar tokens de Microsoft Entra ID, como 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 containerapps 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

Ten en cuenta estas consideraciones del backend:

  • El runtime no selecciona automáticamente el almacenamiento secreto de Contenedores Apps. Si no lo configuras AzureWebJobsSecretStorageType o configuras un valor no reconocido, el anfitrión de Functions usa Blob Storage cuando AzureWebJobsStorage está disponible.
  • Mantén AzureWebJobsStorage configurado para comprobaciones de estado del almacenamiento y funciones dependientes del almacenamiento.
  • No establezca AzureWebJobsSecretStorageType en files. El sistema de archivos de Aplicaciones Contenedor es efímero, por lo que las claves almacenadas en este backend se pierden cuando la aplicación escala a cero, se reinicia o despliega una nueva versión.

Pasos siguientes

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