保护 Azure Logic Apps 自定义扩展可扩展性的最佳做法
本文介绍了保护 Azure Logic App 的 Microsoft Entra ID 治理自定义扩展可扩展性的最佳做法。 该指南专门针对权利管理,是对为 Azure Logic Apps 发布的一般安全指南 的补充。
本文中描述的最佳做法包括:
- 保护对订阅的管理访问权限
- 禁用共享访问签名 (SAS)
- 使用托管标识进行身份验证
- 使用最低特权权限进行授权
- 确保所有权证明 (POP) 的使用
对 Logic Apps 的入站调用只能使用一种授权方案,即 Microsoft Entra ID 访问令牌或共享访问签名 (SAS)。 然而,使用一个方案并不会禁用另一个方案。 从 Microsoft Entra ID 治理到 Logic Apps 的调用通过 Microsoft Entra ID 访问令牌授权方案获得授权。
强烈建议在 Logic Apps 上禁用共享访问签名 (SAS) 授权方案,因为 Microsoft Entra ID 治理不需要该方案。 禁用共享访问签名 (SAS) 授权方案消除了签名被暴露或遭受未经授权访问的风险。
2024 年 4 月 29 日之后,通过 Microsoft Entra ID 治理自定义扩展用户界面创建的所有 Logic Apps 默认禁用共享访问签名 (SAS) 授权方案。
如果在 2024 年 4 月 29 日或之前通过 Microsoft Entra ID 治理自定义扩展用户界面创建了逻辑应用,请按照以下指南禁用共享访问签名 (SAS) 授权方案:禁用共享访问签名 (SAS) 身份验证(仅限消耗)。
如何管理用于保护服务之间通信的机密、凭据、证书和密钥是一个共同的挑战。 使用托管标识,则无需管理这些凭据。 如果使用自定义扩展“启动并等待”模式(权利管理参考),强烈建议启用 Azure 逻辑应用托管标识,以对 Microsoft Entra ID 治理的恢复调用 (taskProcessingResult: resume; accessPackageAssignmentRequest: resume) 进行身份验证。 如果方案要求逻辑应用调用其他 Microsoft Graph 终结点,甚至其他 Microsoft Entra 集成服务,则也可以使用托管标识对这些服务的调用进行身份验证。
权利管理:必须自行启用托管标识。 有关此过程的信息,请参阅:在 Azure 门户中启用系统分配的标识,然后对其进行授权。
有关如何将托管标识与逻辑应用操作配合使用的步骤,请参阅:使用托管标识对访问进行身份验证。
可以直接在权利管理中授权从逻辑应用到 Microsoft Entra ID 治理的恢复调用。 直接授权时,无需分配托管标识应用程序权限,例如 LifecycleWorkflows.ReadWrite.All 或 Entitlement Management.ReadWrite.All。
分配最低特权权限的指导:
为给定目录分配托管标识分配“访问包分配管理者”角色,以授权恢复调用。 有关如何为目录分配角色的更多一般指导,请参阅:以目录所有者的身份,委托给访问包管理者。
如果需要授权逻辑应用调用与 Microsoft Entra ID 集成的其他服务(例如其他 Microsoft Graph API),请考虑托管标识还可以通过各种基于角色的访问控制系统中的角色分配来获取特权,这通常允许你遵循最低特权原则。 示例的非详尽列表包括:
- 如果权利管理自定义扩展需要从权利管理查询其他信息,则可以为给定目录分配权利管理中角色之一(例如,目录读取者)。 这样,你可以减少与租户范围 EntitlementManagement.Read.All 和/或 EntitlementManagement.ReadWrite.All 应用程序权限相比的权限和范围。
有关 Microsoft Graph 授权的详细信息,请参阅:在没有用户的情况下获取访问权限。
逻辑应用支持 Microsoft Entra ID 访问令牌授权方案的持有者或所有权证明类型访问令牌。 在Microsoft Entra ID 治理自定义扩展公共预览版之初,持有者(与所有权证明 (POP) 相反),访问令牌用于授权从 Microsoft Entra ID 治理到逻辑应用的调用。
由于迁移到正式版,所有通过 Microsoft Entra ID 治理用户界面以及 Microsoft Graph v1.0 终结点创建的自定义扩展均默认使用所有权证明访问令牌授权方案。
如果你的环境仍然包含依赖于持有者类型访问令牌的自定义扩展,我们建议切换到所有权证明类型访问令牌。
若要确定自定义扩展当前使用的授权方案,请参阅 Microsoft Entra 管理中心中显示的令牌安全列:
访问令牌类型 | Microsoft Entra 管理中心令牌安全列 |
---|---|
持有者 | 常规 |
所有权证明 (PoP) | 所有权证明 |
对于权利管理自定义扩展的子集,可以使用权利管理用户界面提供的“更新到新扩展类型”选项。 若要更新到新的扩展类型,需要执行以下步骤:
至少以标识治理管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识治理”>“权利管理”>“目录”。
选择要更新的具有自定义扩展的目录。
在目录概述页上,选择自定义扩展。
在自定义扩展页面上,找到一个令牌安全性为常规的自定义扩展,并选择其旁边的三行。
选择更新到新扩展类型。
备注
如果更新函数失败,则必须在相应的访问包分配策略中创建和配置新的自定义扩展。