Share via


針對 Azure Digital Twins 失敗的服務要求進行疑難排解:錯誤 403 (禁止)

本文說明對 Azure Digital Twins 提出的服務要求發生 403 錯誤的原因和解決步驟。 本資訊是針對 Azure Digital Twins 服務。

徵兆

許多需要向 Azure Digital Twins 驗證的服務要求類型都可能發生此錯誤。 效果是 API 要求失敗,並傳回 403 (Forbidden) 的錯誤狀態。

原因

原因 #1

通常會在 Azure Digital Twins 中收到此錯誤,表示該服務的 Azure 角色型存取控制 (Azure RBAC) 權限設定不正確。 Azure Digital Twins 執行個體的許多動作都需要您在嘗試管理的執行個體上具備 Azure Digital Twins 資料擁有者角色。

原因 #2

如果您使用用戶端應用程式來與向應用程式註冊進行驗證的 Azure Digital Twins 進行通訊,可能會發生此錯誤,因為您的應用程式註冊沒有為 Azure Digital Twins 服務設定的權限。

應用程式註冊必須具有為 Azure Digital Twins API 設定的存取權限。 然後,當您的用戶端應用程式針對應用程式註冊進行驗證時,將會獲得應用程式註冊已設定的權限。

方案

解決方案 #1

第一個解決方案是確認 Azure 使用者在您嘗試管理的執行個體上具有 Azure Digital Twins 資料擁有者角色。 如果您沒有此角色,請進行設定。

此角色不同於...

  • 預覽期間此角色的先前名稱,Azure Digital Twins 擁有者 (預覽)。 在此情況下,角色相同,但名稱已變更。
  • 整個 Azure 訂用帳戶上的擁有者角色。 Azure Digital Twins 資料擁有者是 Azure Digital Twins 內的角色,並限定於此個別的 Azure Digital Twins 執行個體。
  • Azure Digital Twins 中的擁有者角色。 這些是兩個不同的 Azure Digital Twins 管理角色,而 Azure Digital Twins 資料擁有者是應該用於管理的角色。

檢查目前的設定

檢查您是否已成功設定角色指派的其中一種方式,就是在 Azure 入口網站中檢視 Azure Digital Twins 執行個體的角色指派。 在 Azure 入口網站中,移至 Azure 數位對應項執行個體。 若要前往該處,您可以在 Azure Digital Twins 執行個體的頁面上查閱,或在入口網站搜尋列中搜尋其名稱。

然後,在 [存取控制] (IAM) > [角色指派] 下檢視其所有指派的角色。 您的角色指派應該會出現在清單中。

Screenshot of the role assignments for an Azure Digital Twins instance in the Azure portal.

修正問題

如果您沒有此角色指派,則您 Azure 訂用帳戶中具有擁有者角色的人員應該執行下列命令,讓您的 Azure 使用者在 Azure Digital Twins 執行個體上具有 Azure Digital Twins 資料擁有者角色。

如果您是訂用帳戶的擁有者,可以自行執行此命令。 如果您不是,請連絡擁有者代表您執行此命令。

az dt role-assignment create --dt-name <your-Azure-Digital-Twins-instance> --assignee "<your-Azure-AD-email>" --role "Azure Digital Twins Data Owner"

如需關於此角色需求和指派流程的詳細資訊,請參閱設定使用者的存取權限

如果您已經有此角色指派,而且正在使用 Microsoft Entra 應用程式註冊來驗證用戶端應用程式,則若此解決方案未解決 403 問題,您可以繼續下一個解決方案。

解決方案 #2

如果您使用 Microsoft Entra 應用程式註冊來驗證用戶端應用程式,則第二個可能的解決方案是確認應用程式註冊具有為 Azure Digital Twins 服務設定的權限。 如果未設定這些項目,請加以設定。

檢查目前的設定

若要檢查權限是否已正確設定,請瀏覽至 Azure 入口網站中的 Microsoft Entra 應用程式註冊概觀頁面。 您可以在入口網站搜尋列中搜尋應用程式註冊,以自行前往此頁面。

切換至 [所有應用程式] 索引標籤,查看已在訂用帳戶中建立的所有應用程式註冊。

您應該會看到您在清單中建立的應用程式註冊。 選取該應用程式註冊以開啟其詳細資料。

Screenshot of the app registrations page in the Azure portal.

首先,確認已在註冊上正確設定 Azure Digital Twins 權限設定:從功能表欄選取 [資訊清單],以檢視應用程式註冊的資訊清單程式碼。 捲動至程式碼視窗底部,並在 requiredResourceAccess 下尋找這些欄位。 這些值應該符合下列螢幕擷取畫面中的值:

Screenshot of the manifest for the Microsoft Entra app registration in the Azure portal.

接下來,從功能表列選取 [API 權限],以確認此應用程式註冊包含 Azure Digital Twins 的讀取/寫入權限。 您應該會看到如下的項目:

Screenshot of the API permissions for the Microsoft Entra app registration in the Azure portal, showing 'Read/Write Access' for Azure Digital Twins.

修正問題

如果其中任何一項與描述不同,請遵循如何在使用 Azure Digital Twins 存取權建立應用程式註冊中設定應用程式註冊的指示。

下一步

閱讀建立和驗證新 Azure Digital Twins 執行個體的設定步驟:

深入了解 Azure Digital Twins 的安全性和權限: