Conexión de funciones a servicios de Azure

Completado

Como procedimiento recomendado de seguridad, Azure Functions aprovecha la funcionalidad de configuración de la aplicación de Azure App Service para ayudarle a almacenar cadenas, claves y otros tokens de forma más segura necesarios para conectarse a otros servicios. La configuración de la aplicación en Azure se almacena cifrada y tu aplicación accede a ella en tiempo de ejecución como pares de variables de entorno namevalue. En el caso de los desencadenadores y enlaces que requieren una propiedad de conexión, establezca el nombre de la configuración de la aplicación en lugar de la cadena de conexión real. No se puede configurar un enlace directamente con una cadena de conexión o una clave.

El proveedor de configuración predeterminado utiliza variables de entorno. Estas variables se definen en la configuración de la aplicación cuando se ejecuta en Azure y en el archivo de configuración local al desarrollar localmente.

Configuración de una conexión basada en identidades

Algunas conexiones de Azure Functions están configuradas para usar una identidad en lugar de un secreto. La compatibilidad depende de la extensión que utiliza la conexión. En algunos casos, es posible que se requiera una cadena de conexión en Functions aunque el servicio al que se conecta admita conexiones basadas en identidades.

Nota:

Una aplicación que se ejecuta en un plan de Consumo o Elastic Premium, usa los ajustes WEBSITE_AZUREFILESCONNECTIONSTRING y WEBSITE_CONTENTSHARE al conectarse a Azure Files en la cuenta de almacenamiento utilizada por su aplicación de funciones. Azure Files no admite el uso de identidades administradas al acceder al recurso compartido de archivos.

Cuando se hospeda en el servicio de Azure Functions, las conexiones basadas en identidades usan una identidad administrada. La identidad asignada por el sistema se usa de manera predeterminada, aunque se puede especificar una identidad asignada por el usuario con las propiedades credential y clientID. No se admite la configuración de una identidad asignada por el usuario con un identificador de recurso. Cuando se ejecuta en otros contextos, como el de desarrollo local, se usa en su lugar la identidad del desarrollador, aunque se puede personalizar.

Concesión de permiso a la identidad

Las identidades deben tener permisos para realizar las acciones previstas. Normalmente, esto se realiza mediante la asignación de un rol en el control de acceso basado en roles de Azure o la especificación de la identidad en una directiva de acceso en función del servicio al que se conecta.

Importante

El servicio de destino puede exponer algunos permisos que no son necesarios para todos los contextos. Siempre que sea posible, siga el principio de privilegios mínimos, concediéndole solo los privilegios necesarios a la identidad.