使用 Azure Active Directory 的身份验证方法

重要

这是 Azure Sphere(旧版)文档。 Azure Sphere(旧版)将于 2027 年 9 月 27 日停用,用户此时必须迁移到 Azure Sphere(集成)。 使用位于 TOC 上方的版本选择器查看 Azure Sphere(集成)文档。

Azure Sphere 公共 API(PAPI)支持 Azure Active Directory(AAD) 中的多种用户身份验证和授权方法。

使用 Azure Active Directory,可以使用应用程序令牌通过服务主体或托管标识方法对用户应用、服务或自动化工具中的特定 Azure 资源进行身份验证和授予访问权限。

重要

创建服务主体时,必须保护生成的应用程序凭据,例如客户端机密或客户端证书。 请确保不要在代码中包含应用程序凭据,或将凭据签入 源代码管理中。 或者,请考虑使用托管标识来避免使用凭据。

下图显示了使用 Azure Active Directory 支持的身份验证方法:

使用 Azure Active Directory 的身份验证方法

服务主体方法

可以将 Azure 服务主体设置为使用客户端机密或客户端证书进行身份验证。 服务主体不是绑定到任何特定用户的帐户,但可以通过预定义的角色分配权限。 使用服务主体进行身份验证是编写安全脚本或程序的最佳方式,允许应用权限限制和本地存储的静态凭据信息。 有关详细信息,请参阅 Azure 服务主体

有两个选项可用于服务主体: 客户端机密和客户端证书。 有关详细信息,请参阅 服务主体身份验证方法

托管标识方法

Azure 托管标识 还可用于与 Azure Sphere 公共 API 服务通信。 各种 Azure 服务都支持托管标识。 将托管标识用于 Azure 资源身份验证方法的好处是,无需管理任何客户端机密或客户端证书。 有关详细信息,请参阅 资源方法的托管标识。

用户标识方法

使用此方法不需要使用 Azure Sphere 租户进行身份验证。 可以使用 Azure Active Directory 用户标识登录。 有关详细信息,请参阅 用户身份验证方法

将 Azure Sphere 公共 API 应用程序 ID 添加到 Azure 租户

首先需要使用一次性设置将 Azure Sphere 公共 API 应用程序 ID 添加到 Azure 租户:

注意

  • 使用 Azure Active Directory (Azure AD) 租户的全局管理员帐户运行此命令。
  • 参数的值是静态的 AppId
  • 建议对-DisplayName租户使用Azure Sphere Public API公用显示名称。
  1. 打开提升的 Windows PowerShell 命令提示符 窗口(以管理员身份运行 Windows PowerShell),并运行以下命令以安装 Azure AD Powershell 模块:

    Install-Module AzureAD
    
  2. 使用管理员帐户登录到 Azure AD PowerShell。 指定要 -TenantId 作为服务主体进行身份验证的参数:

    Connect-AzureAD -TenantId <Azure Active Directory TenantID>
    

    <Azure Active Directory TenantID> 表示 Azure Active Directory 的 TenantID。 有关详细信息,请参阅 如何查找 Azure Active Directory 租户 ID

  3. 创建服务主体,并通过指定 Azure Sphere 公共 API 应用程序 ID 将其连接到 Azure Sphere Public API 应用程序,如下所示:

    New-AzureADServicePrincipal -AppId 7c209960-a417-423c-b2e3-9251907e63fe -DisplayName "Azure Sphere Public API"