驗證和授權
針對 IoT Central 應用程式所進行的每個 REST API 呼叫都必須包含 Authorization 標頭。 授權標頭必須包含 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,您必須先建立服務主體。 您必須取得服務主體的租使用者識別碼和物件識別碼:
- 移至 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 要求