将函数连接到 Azure 服务

已完成

作为安全最佳实践,Azure Functions 利用 Azure 应用服务的应用程序设置功能来帮助你更安全地存储连接到其他服务所需的字符串、密钥和其他令牌。 Azure 中的应用程序设置以加密形式存储,在运行时,应用将其作为环境变量 namevalue 对来访问。 对于需要连接属性的触发器和绑定,可以设置应用程序设置名称而不是实际的连接字符串。 不能直接使用连接字符串或键配置绑定。

默认配置提供程序使用环境变量。 在 Azure 中运行时,这些变量在“应用程序设置”中定义;在本地开发时,这些变量在“本地设置文件”中定义。

配置基于标识的连接

Azure Functions 中的某些连接配置为使用标识而不是机密。 是否支持取决于使用连接的扩展。 在某些情况下,即使要连接到的服务支持基于标识的连接,函数中仍可能需要连接字符串。

注意

在消耗或弹性高级计划中运行的应用在连接到函数应用使用的存储帐户中的 Azure 文件存储时使用 WEBSITE_AZUREFILESCONNECTIONSTRINGWEBSITE_CONTENTSHARE 设置。 Azure 文件存储在访问文件共享时不支持使用托管标识。

在 Azure Functions 服务中托管时,基于标识的连接将使用由系统管理的标识。 默认情况下使用系统分配的标识,但可以使用 credentialclientID 属性来指定用户分配的标识。 不支持使用资源 ID 配置用户分配的标识。 在其他上下文(如本地开发)中运行时,将改用开发人员标识,尽管可以进行自定义。

向标识授予权限

标识必须具有执行预期操作的权限。 这通常是通过在 Azure 基于角色的访问控制中分配角色,或在访问策略中指定标识,具体取决于要连接到的服务。

重要

目标服务可能会公开所有上下文不需要的某些权限。 尽可能遵循最低权限原则,仅授予标识所需的权限