身份验证和授权

本文阐述了身份验证和授权。 此外还简要介绍了多重身份验证以及如何使用 Microsoft 标识平台对 Web 应用、Web API 或调用受保护 Web API 的应用中的用户进行身份验证和授权。 如果看到不熟悉的术语,请试着查看我们的词汇表Microsoft 标识平台视频,其中涵盖了基本概念。

身份验证

身份验证是证明你自己的身份的过程。 这是通过验证人员或设备的标识来实现的。 它有时缩写为 AuthN。 Microsoft 标识平台使用 OpenID Connect 协议来处理身份验证。

授权

授权是指向经过身份验证的参与方授予执行某项操作的权限的操作。 它指定了你可访问的数据以及可使用该数据执行的操作。 授权有时缩写为 AuthZ。 Microsoft 标识平台为资源所有者提供了使用 OAuth 2.0 协议来处理授权的能力,但 Microsoft 云还具有其他授权系统,例如 Entra 内置角色Azure RBAC,以及 Exchange RBAC

多重身份验证

多重身份验证是一种向帐户提供其他身份验证因素的行为。 通常用于防范暴力攻击。 它有时缩写为 MFA2FAMicrosoft Authenticator 可用作处理双因素身份验证的应用。 有关详细信息,请参阅多重身份验证

使用 Microsoft 标识平台进行身份验证和授权

如果创建会维护自己的用户名和密码信息的应用,在多个应用中添加或删除用户时,会产生较高的管理负担。 不过,应用可以将该职责委托给一个集中式标识提供者。

Microsoft Entra ID 是云中的集中式标识提供者。 将身份验证和授权委托给它可以实现如下方案:

  • 要求用户位于特定位置的条件访问策略。
  • 多重身份验证要求用户具有特定设备。
  • 允许用户登录一次后可自动登录到共享同一集中目录的所有 Web 应用。 此功能被称为“单一登录 (SSO)”。

Microsoft 标识平台通过提供标识即服务为应用程序开发人员简化了授权和身份验证。 它支持用于各种平台的行业标准协议和开源库,可以帮助你快速开始编码。 开发人员可以使用它构建具有以下功能的应用程序:可以使用所有 Microsoft 标识进行登录、获取令牌来调用 Microsoft Graph、访问 Microsoft API,或访问开发人员构建的其他 API。

此视频介绍了 Microsoft 标识平台和新式身份验证的基础知识:

下面比较了 Microsoft 标识平台使用的各种协议:

  • OAuth 与 OpenID Connect:平台使用 OAuth 进行授权,使用 OpenID Connect (OIDC) 进行身份验证。 OpenID Connect 构建在 OAuth 2.0 的基础之上,因此两者的术语和流很相似。 甚至可以在一个请求中(通过 OpenID Connect)对用户进行身份验证和(通过 OAuth 2.0)获得访问该用户拥有的受保护资源的权限。 有关详细信息,请参阅 OAuth 2.0 和 OpenID Connect 协议OpenID Connect 协议
  • OAuth 与 SAML:平台使用 OAuth 2.0 进行授权,使用 SAML 进行身份验证。 要详细了解如何同时使用这些协议对用户进行身份验证并获得授权来访问受保护的资源,请参阅 Microsoft 标识平台和 OAuth 2.0 SAML 持有者断言流
  • OpenID Connect 与 SAML:平台使用 OpenID Connect 和 SAML 对用户进行身份验证并启用单一登录。 SAML 身份验证通常与标识提供者(例如,联合到 Microsoft Entra ID 的 Active Directory 联合身份验证服务 (AD FS))一起使用,因此经常用于企业应用程序。 OpenID Connect 通常用于仅位于云中的应用,例如移动应用、网站和 Web API。

后续步骤

有关介绍身份验证和授权基础知识的其他主题,请参阅以下资源: