你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

身份验证和授权

每个针对 IoT Central 应用程序的 REST API 调用都必须包含一个“授权”标头。 授权标头必须包含 API 令牌AAD 持有者令牌。 IoT Central 使用这些令牌来确定调用方是谁,以及他们有权在应用程序中访问的内容。

API 令牌

API 令牌适用于服务到服务的通信,没有登录的用户上下文。 可以在应用程序中创建 API 令牌,并为其分配角色以授予对应用程序中资源的访问权限。

若要创建和使用 API 令牌,请执行以下操作:

  1. 在浏览器中打开 IoT Central 应用程序。

  2. 转到 “管理/API 令牌”

  3. 单击“生成令牌”。 系统将提示你为其命名并选择一个角色。 角色确定使用此令牌的客户端有权在此应用程序中执行哪些操作。

  4. 生成令牌并复制值。 该值是机密,仅显示一次。

  5. 构造 API 请求时,请添加如下所示的标头:

    标头名称 标头值
    授权 <API 令牌值>

默认情况下,应用程序中有 3 个角色可用。 详细了解如何创建新角色

还可以以编程方式创建新的 API 令牌。 若要发出 API 请求以创建新的 API 令牌,需要一个授权标头,其中包含 API 令牌或具有创建新 API 令牌的权限的持有者。 有关 API 令牌操作,请参阅文档

AAD 持有者令牌

持有者令牌与已添加到 IoT Central 应用程序的 Azure Active Directory 用户帐户相关联。 可以在 Azure CLI 命令中生成持有者令牌: az account get-access-token --resource https://apps.azureiotcentral.com

使用以下标头构造 API 请求:

标头名称 标头值
授权 <持有者持有者令牌值>

在 API 请求中使用持有者令牌时,向调用方授予与 Azure Active Directory 用户在 IoT Central 应用程序中具有相同的访问权限级别。

服务主体身份验证

若要使用 AAD 服务主体对 API 进行身份验证,首先需要创建服务主体。 需要获取服务主体的租户 ID 和对象 ID:

  1. 转到Azure 门户 -> Azure Active Directory -> 概述。 复制 tenantID
  2. 转到“企业应用程序”。 创建新应用程序或选择现有应用程序。 复制 objectID
  3. 转到 Azure 门户 -> Azure Active Directory -> 应用注册 -> 应用 -> API 权限。 单击“添加权限 -> 我的组织使用的 API”,然后搜索 Microsoft IoT Central。 选择与此确切文本匹配的项。
  4. 选择 user_impersonationApplication.ReadWrite.All 权限并添加它们。
  5. 目录选择“授予管理员同意”。

最后,将服务主体添加到 IoT Central 应用程序。 现在可以通过 API 实现此操作。

  1. 使用 创建用户 API 添加此服务主体用户。 创建新用户时,请确保使用 {tenantID}{objectID}

现在,可以使用与此服务主体用户关联的持有者令牌,按照上述相同步骤发出 API 请求。

后续步骤

尝试发出第一个 API 请求