Azure AD SPN 和 UPN?

Shi*_*uel 4 azure azure-active-directory

我想了解 Azure AD 上下文中 SPN 和 UPN 之间的区别。我的理解是在 Azure AD 中可以通过三种方式建立身份

  1. 用户输入他们的用户名和密码来建立身份
  2. 使用 ClientId 和 Secret Key 建立身份的应用程序
  3. 使用 ClientId 和 Certificate 建立身份的应用程序

用户/密码是否称为UPN,其余两个称为SPN?还有其他方法可以建立身份吗?

Nan*_* Yu 8

在 Azure AD 中,UPN 是用户主体名称。它始终采用看起来像电子邮件地址的格式。本质上它分为三个部分。用户帐户名、分隔符(即@符号)和UPN后缀或域名。它的主要目的是在认证过程中使用并代表用户身份。

SPN 是服务主体名称。服务主体对象定义应用程序的策略和权限,为安全主体在运行时访问资源时表示应用程序提供基础。应用程序身份(服务主体)比在您自己的凭据(用户身份)下运行应用程序更可取,因为:

  1. 您可以为应用程序身份分配与您自己的权限不同的权限。通常,这些权限仅限于应用程序需要执行的操作。

  2. 如果您的职责发生变化,您不必更改应用程序的凭据。

  3. 您可以在执行无人参与脚本时使用证书来自动进行身份验证。

您可以使用密码或证书创建服务主体,如图所示。请单击此处了解有关 Azure Active Directory 中的应用程序和服务主体对象的更多信息,并单击此处了解如何使用门户创建可以访问资源的 Azure Active Directory 应用程序和服务主体。您可以在左侧导航面板上选择其他方式(例如 PowerShell/CLI)。