針對 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 Digital Twins 實例。 若要到達該處,您可以在 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 的安全性和許可權: