在 Microsoft Entra ID 中,一些最常用的扩展包括条件访问、条件访问身份验证上下文和 CAE。 必须对使用增强的安全功能(例如 CAE 和条件访问身份验证上下文)的应用程序进行编码才能处理声明质询。 开放协议允许使用声明质询和声明请求来调用其他客户端功能。 这些功能可用来与 Microsoft Entra ID 继续交互,例如,在出现异常情况,或者用户身份验证条件发生更改时。 可将这些扩展编码到应用程序中,而不会干扰身份验证的主要代码流。
根据应用程序类型使用正确的身份验证流。 对于 Web 应用程序,请始终尝试使用机密客户端流。 对于移动应用程序,请尝试使用代理或系统浏览器进行身份验证。
适用于可保守机密的 Web 应用程序(机密客户端)的流被认为比公共客户端(例如桌面和控制台应用程序)更安全。 使用系统 Web 浏览器对移动应用程序进行身份验证时,可以通过安全的单一登录 (SSO) 体验来使用应用程序保护策略。
使用最低权限访问
开发人员使用 Microsoft 标识平台授予权限(范围),并在允许访问之前验证是否为调用方授予了适当的权限。 通过启用精细权限(这样可以授予最少量的必要访问权限)在应用程序中强制实施最低特权访问。 请考虑以下做法,以确保遵守最低特权原则:
评估请求的权限,确保设置绝对最低特权来完成工作。 不要创建有权访问整个 API 面的“全包式”权限。
设计 API 时,请提供粒度权限以允许最低特权访问。 首先将功能和数据访问权限划分为可使用范围和应用角色控制的部分。 不要以更改权限语义的方式将 API 添加到现有权限。