設定 CycleCloud 伺服器時發生「提供的 Azure 認證無效」錯誤
本文說明如何解決設定 CycleCloud 伺服器時可能發生的「提供的 Azure 認證無效」錯誤。
Background
當您設定 CycleCloud 時,您可以使用 服務主體 或 受控識別 來管理許可權。 在任一案例中,您必須為訂用帳戶指派參與者角色。 需要參與者角色,才能授權服務主體或受控識別採取訂用帳戶動作,例如建立記憶體帳戶或建立虛擬機(VM)。
徵兆
當您嘗試搭配服務主體或受控識別設定 CycleCloud 伺服器時,您會收到下列錯誤訊息:
提供的 Azure 認證無效:具有對象標識碼 'application-guid' 的用戶端 '<<tenant-guid>' 在範圍 '/subscriptions/<subscription-guid>>' 上沒有執行動作 'Microsoft.Storage/storageAccounts/read' 或範圍無效的授權。 如果最近已授與存取權,請重新整理您的認證。
原因
角色尚未正確指派給服務主體或受控識別。
注意
參與者角色是最簡單的選項,其中包含足夠的許可權來管理訂用帳戶中的 CycleCloud 資源,例如 VM、網路和記憶體。 不過,參與者角色的許可權等級高於 CycleCloud 所需的許可權等級。 因此,您可以在更複雜的案例中使用自定義角色。 如果您考慮使用自定義角色,建議您更深入地查看 Azure 角色定義和特定動作。
服務主體的解決方案
服務主體設定
在初始 CycleCloud 設定期間,您可以遵循使用服務主體中的 指示來建立服務主體。 您可以使用 CLI 命令來建立服務主體,並指派訂用帳戶的參與者角色。
檢查訂用帳戶許可權
- 登入 Azure 入口網站,然後搜尋 [訂用帳戶]。
- 找出您想要用於 CycleCloud 的訂用帳戶(如果列出多個訂用帳戶)。
- 選取 [存取控制 (IAM)]、選取 [角色指派] 索引卷標,然後找出參與者角色清單。
- 檢查以確認參與者角色中缺少服務主體(不是部署 CycleCLoud 的使用者)。
在涉及多個使用者和租使用者的案例中,服務主體最有可能遺失。 如果您嘗試使用現有的服務主體進行 CycleCloud 開發,而不是建立新的服務主體,也可能發生這種情況。
新增角色指派
必要條件
若要新增角色指派,您必須擁有訂用帳戶的 Microsoft.Authorization/roleAssignments/write 許可權,例如使用者存取系統管理員或擁有者。 根據預設,寫入許可權不會授與參與者。
若要將參與者角色新增至用於 CycleCloud 開發的服務主體,請遵循使用 Azure 入口網站 指派 Azure 角色中的步驟。
受控識別的解決方案
受控識別設定
當您設定受控識別時,您可以在 CycleCloud VM 建立期間或之後啟用受控識別,如使用 Azure 入口網站 設定受控識別中所述。
啟用受控識別之後,必須將參與者訂用帳戶角色指派給受控識別。
請遵循下列步驟,將參與者角色新增至訂用帳戶:
- 登入 Azure 入口網站,並找出 CycleCloud 伺服器 VM。
- 在左側面板中,選取 [ 設定>身分識別]。
- 選取 [Azure 角色指派][新增角色指派>],然後選取功能表上的 [訂用帳戶] 和 [參與者]。
- 建立新指派可能需要一到兩分鐘的時間。 建立之後,請務必在 CycleCloud 中驗證認證。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。