你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
身份验证和授权
每个针对 IoT Central 应用程序的 REST API 调用都必须包含一个“授权”标头。 授权标头必须包含 API 令牌 或 AAD 持有者令牌。 IoT Central 使用这些令牌来确定调用方是谁,以及他们有权在应用程序中访问的内容。
API 令牌
API 令牌适用于服务到服务的通信,没有登录的用户上下文。 可以在应用程序中创建 API 令牌,并为其分配角色以授予对应用程序中资源的访问权限。
若要创建和使用 API 令牌,请执行以下操作:
在浏览器中打开 IoT Central 应用程序。
转到 “管理/API 令牌”
单击“生成令牌”。 系统将提示你为其命名并选择一个角色。 角色确定使用此令牌的客户端有权在此应用程序中执行哪些操作。
生成令牌并复制值。 该值是机密,仅显示一次。
构造 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:
- 转到Azure 门户 -> Azure Active Directory -> 概述。 复制 tenantID
- 转到“企业应用程序”。 创建新应用程序或选择现有应用程序。 复制 objectID
- 转到 Azure 门户 -> Azure Active Directory -> 应用注册 -> 应用 -> API 权限。 单击“添加权限 -> 我的组织使用的 API”,然后搜索 Microsoft IoT Central。 选择与此确切文本匹配的项。
- 选择 user_impersonation 和 Application.ReadWrite.All 权限并添加它们。
- 为 目录选择“授予管理员同意”。
最后,将服务主体添加到 IoT Central 应用程序。 现在可以通过 API 实现此操作。
- 使用 创建用户 API 添加此服务主体用户。 创建新用户时,请确保使用 {tenantID} 和 {objectID} 。
现在,可以使用与此服务主体用户关联的持有者令牌,按照上述相同步骤发出 API 请求。
后续步骤
尝试发出第一个 API 请求