身分識別和授權
本文說明已啟用 Azure Arc 的伺服器適用的 Microsoft Entra ID 受控識別 (與 Azure 通訊時驗證使用),並詳細說明兩個內建的 RBAC 角色。
Microsoft Entra ID 受控識別
每個已啟用 Azure Arc 的伺服器都有一個相關聯的系統指派 Microsoft Entra ID 受控識別。 代理程式會使用此身分識別向 Azure 進行自我驗證。 延伸模組或系統上其他授權應用程式也會使用它來存取了解 OAuth 權杖的資源。 受控識別會出現在 Microsoft Entra ID 入口網站中,其名稱與已啟用 Azure Arc 的伺服器資源相同。 例如,如果已啟用 Azure Arc 的伺服器名稱為 prodsvr01,則會在 Microsoft Entra ID 中出現同名的企業應用程式。
每個 Microsoft Entra ID 目錄可以儲存的物件數量有限。 受控識別會列入目錄中的一項物件計數。 如果您打算大量部署已啟用 Azure Arc 的伺服器,請先檢查您 Microsoft Entra ID 目錄中的可用配額,並視需要提交支援要求以取得更多配額。 您可以在 "directorySizeLimit" 區段下的 [列出組織 API] 回應中看到可用和已使用的配額。
受控識別完全由代理程式管理。 只要代理程式持續連線到 Azure,就會自動處理輪替認證。 支援受控識別的憑證有效期限為 90 天。 當憑證的有效期限剩下 45 天或更少時,代理程式會嘗試更新憑證。 如果代理程式離線時間長到足以過期,則代理程式也會變成「已過期」且不會連線到 Azure。 在此情況下,無法自動重新連線,因此您必須使用登入認證來中斷代理程式與 Azure 的連線,然後重新建立連線。
受控識別憑證會儲存在系統的本機磁碟。 請務必保護此檔案,因為任何擁有此憑證的使用者都可以向 Microsoft Entra ID 要求權杖。 代理程式會將憑證儲存在 Windows 的 C:\ProgramData\AzureConnectedMachineAgent\Certs\,以及 Linux 的 /var/opt/azcmagent/certs 之中。 代理程式會將存取控制清單自動套用至此目錄,將存取權限制於本機系統管理員和 "himds" 帳戶。 請勿修改憑證檔案的存取權,或自行修改憑證。 如果您認為系統指派受控識別的認證已遭到入侵,請中斷代理程式與 Azure 的連線,然後重新連線以產生新的身分識別和認證。 中斷代理程式連線會移除 Azure 中的資源,包括其受控識別。
當系統上的應用程式想要取得受控識別的權杖時,會向位於 http://localhost:40342/identity 的 REST 身分識別端點發出要求。 相較於 Azure VM,Azure Arc 處理此要求的方式略有不同。 來自 API 的第一個回應包含位於磁碟上的查問權杖路徑。 查問權杖會儲存在 Windows 的 C:\ProgramData\AzureConnectedMachineAgent\tokens 或 Linux 的 /var/opt/azcmagent/tokens 之中。 呼叫者必須讀取檔案內容,並重新發出授權標頭含有此資訊的要求,以證明他們具有此資料夾的存取權。 權杖目錄已設定為允許系統管理員和屬於「混合式代理程式延伸模組應用程式」(Windows)或「himds」(Linux) 群組的任何身分識別讀取查問權杖。 如果您授權自訂應用程式使用系統指派的受控識別,您應該將其使用者帳戶新增至適當的群組,以授與其存取權。
若要深入了解如何搭配已啟用 Arc 的伺服器使用受控識別來驗證和存取 Azure 資源,請參閱下列影片。
RBAC 角色
Azure 中有兩個內建角色,可用來控制已啟用 Azure Arc 的伺服器存取權:
Azure Connected Machine 上線,適合用來將新電腦連線到 Azure Arc 的帳戶。此角色可讓帳戶查看並建立新的 Arc 伺服器,但不允許延伸模組管理。
Azure Connected Machine 資源管理員,適合用於伺服器連線後即進行管理的帳戶。 此角色可讓帳戶讀取、建立及刪除 Arc 伺服器、VM 延伸模組、授權和私人連結範圍。
Azure 中的一般 RBAC 角色也適用於已啟用 Azure Arc 的伺服器,包括讀者、參與者和擁有者。
身分識別與存取控制
Azure 角色型存取控制可用於控制哪些帳戶可以查看和管理已啟用 Azure Arc 的伺服器。 從 Azure 入口網站的 [存取控制 (IAM)] 頁面,您可以確認誰可以存取已啟用 Azure Arc 的伺服器。
取得該資源參與者或管理員角色存取權的使用者和應用程式可以變更該資源,包括在電腦上部署或刪除延伸模組。 延伸模組所含的任意指令碼可在特殊權限內容中執行,因此請考慮讓 Azure 資源上的任何參與者成為伺服器的間接管理員。
Azure Connected Machine 上線角色適用於大規模上線,而且只能在 Azure 中讀取或建立新的已啟用 Azure Arc 的伺服器。 其無法用來刪除已註冊的伺服器或管理延伸模組。 最佳做法是,建議只將此角色指派給用來大規模將電腦上線的 Microsoft Entra 服務主體。
身為 Azure Connected Machine 資源管理員角色成員的使用者可以讀取、修改、重新上線和刪除電腦。 此角色旨在支援管理已啟用 Azure Arc 的伺服器,但不支援資源群組或訂用帳戶中的其他資源。