針對受控識別問題進行疑難解答 Azure 檔案同步
本文可協助您針對使用受控識別搭配 Azure 檔案同步 部署時可能會遇到的問題進行疑難解答和解決。
檢查記憶體同步服務是否使用系統指派的受控識別
若要檢查記憶體同步服務是否使用系統指派的受控識別,請從提升許可權的 PowerShell 視窗執行下列命令:
Get-AzStorageSyncService -ResourceGroupName <string> -StorageSyncServiceName <string>
確認屬性的值 UseIdentity
來自 True
命令輸出。 如果值為 False
,記憶體同步服務會使用共用密鑰向 Azure 檔案共用進行驗證。
檢查已註冊的伺服器是否已設定為使用系統指派的受控識別
若要檢查已註冊的伺服器是否已設定為使用系統指派的受控識別,請從提升許可權的 PowerShell 視窗執行下列命令:
Get-AzStorageSyncServer -ResourceGroupName <string> -StorageSyncServiceName <string>
確認 屬性 ApplicationId
具有 GUID,指出伺服器已設定為使用系統指派的受控識別。 一旦伺服器使用系統指派的受控識別,屬性的值 ActiveAuthType
就會更新為 ManagedIdentity
。 如果值為 Certificate
,伺服器會使用共用密鑰向 Azure 檔案共用進行驗證。
注意
一旦伺服器設定為使用系統指派的受控識別,伺服器最多可能需要一小時的時間,伺服器才會使用系統指派的受控識別向記憶體同步服務和 Azure 檔案共用進行驗證。
Set-AzStorageSyncServiceIdentity Cmdlet 不會將伺服器設定為使用系統指派的受控識別
如果執行 Set-AzStorageSyncServiceIdentity
Cmdlet 未將已註冊的伺服器設定為使用系統指派的受控識別,可能是因為伺服器沒有系統指派的受控識別。
若要在已安裝 Azure 檔案同步 v19 代理程式的已註冊伺服器上啟用系統指派的受控識別,請執行下列步驟:
如果伺服器裝載在 Azure 外部,它必須是已啟用 Azure Arc 的伺服器,才能擁有系統指派的受控識別。 如需已啟用 Azure Arc 的伺服器以及如何安裝 Azure Connected Machine 代理程式的詳細資訊,請參閱 已啟用 Azure Arc 的伺服器概觀。
- 如果伺服器已啟用 Azure Arc,請從 PowerShell 執行
azcmagent show
命令,並確認 代理程式狀態 為 已連線。 如果代理 程式狀態 為 已中斷連線, 請針對 Azure 連線機器代理程式連線問題進行疑難解答。
- 如果伺服器已啟用 Azure Arc,請從 PowerShell 執行
如果伺服器是 Azure 虛擬機, 請在虛擬機上啟用系統指派的受控識別。
檢查已註冊的伺服器是否有系統指派的受控識別
若要檢查已註冊的伺服器是否有系統指派的受控識別,請執行下列 PowerShell 命令:
Get-AzStorageSyncServer -ResourceGroupName <string> -StorageSyncServiceName <string>
確認 屬性 LatestApplicationId
具有 GUID,指出伺服器具有系統指派的受控識別,但目前未設定為使用它。
LatestApplicationId
如果屬性具有 GUID,請再次執行 Set-AzStorageSyncServiceIdentity
Cmdlet,將伺服器設定為使用系統指派的受控識別。 確認 屬性 ApplicationId
具有 GUID,指出伺服器已設定為使用受控識別。 一旦伺服器使用系統指派的受控識別,屬性的值 ActiveAuthType
就會更新為 ManagedIdentity
。
無法刪除記憶體同步服務
當您試著移除記憶體同步服務時,可能會收到下列錯誤:
無法在區域 <區域中>刪除記憶體同步服務。 記憶體同步服務正在刪除不再需要的快照集。 請稍候幾個小時再試一次。
當您的檔案共用 Azure 檔案同步 快照集未使用時,就會發生此問題。 為了降低成本,移除記憶體同步服務之前,會先刪除未使用的快照集。 快照集計數會隨著數據集大小而有所不同。 如果您無法在幾個小時後刪除記憶體同步服務,請於第二天再試一次。
存取記憶體帳戶和 Azure 檔案共用所需的許可權
當 Azure 檔案同步 設定為使用受控識別時,您的雲端和伺服器端點需要下列許可權才能存取記憶體帳戶和 Azure 檔案分享:
雲端端點:
- 記憶體同步服務受控識別必須是記憶體帳戶上記憶體帳戶上記憶體帳戶參與者角色的成員。
- 記憶體同步服務受控識別必須是 Azure 檔案共用上記憶體檔案資料特殊許可權參與者角色的成員。
伺服器端點:
- 註冊伺服器受控識別必須是 Azure 檔案共用上記憶體檔案數據特殊許可權參與者角色的成員。
當您執行 Set-AzStorageSyncServiceIdentity
Cmdlet 或建立新的雲端和伺服器端點時,會授與這些許可權。 如果移除這些許可權,作業會失敗,並出現下一節所列的錯誤。
常見問題
本節涵蓋許可權或組態設定不正確時所發生的常見問題。
同步失敗,錯誤0x80c8305f (ECS_E_EXTERNAL_STORAGE_ACCOUNT_AUTHORIZATION_FAILED)
錯誤 | 程式碼 |
---|---|
HRESULT | 0x80c8305f |
HRESULT (十進位) | -2134364065 |
錯誤字串 | ECS_E_EXTERNAL_STORAGE_ACCOUNT_AUTHORIZATION_FAILED |
需要補救 | 是 |
當記憶體同步服務的受控識別無法存取記憶體帳戶時,就會發生此問題。
若要解決此問題,請執行下列 PowerShell 命令:
Set-AzStorageSyncCloudEndpointPermission -ResourceGroupName <string> -StorageSyncServiceName <string> -SyncGroupName <string> -Name <string>
注意
參數 -Name
是雲端端點的名稱。 它是 GUID,而不是顯示在 Azure 入口網站 中的易記名稱。 若要取得雲端端點名稱,請執行 Get-AzStorageSyncCloudEndpoint Cmdlet。
同步失敗,錯誤0x80c86053 (ECS_E_AZURE_FILE_SHARE_NOT_ACCESSIBLE)
錯誤 | 程式碼 |
---|---|
HRESULT | 0x80c86053 |
HRESULT (十進位) | -2134351789 |
錯誤字串 | ECS_E_AZURE_FILE_SHARE_NOT_ACCESSIBLE |
需要補救 | 是 |
當記憶體同步服務的受控識別無法存取 Azure 檔案共享時,就會發生此問題。
若要解決此問題,請執行下列 PowerShell 命令:
Set-AzStorageSyncCloudEndpointPermission -ResourceGroupName <string> -StorageSyncServiceName <string> -SyncGroupName <string> -Name <string>
注意
參數 -Name
是雲端端點的名稱。 它是 GUID,不是顯示在 Azure 入口網站 中的易記名稱。 若要取得雲端端點名稱,請執行 Get-AzStorageSyncCloudEndpoint Cmdlet。
檔案無法與錯誤0x80c86063同步處理 (ECS_E_AZURE_AUTHORIZATION_PERMISSION_MISMATCH)
錯誤 | 程式碼 |
---|---|
HRESULT | 0x80c86063 |
HRESULT (十進位) | -2134351773 |
錯誤字串 | ECS_E_AZURE_AUTHORIZATION_PERMISSION_MISMATCH |
需要補救 | 是 |
當已註冊伺服器的受控識別無法存取 Azure 檔案共享時,就會發生此問題。
若要解決此問題,請執行下列 PowerShell 命令:
Set-AzStorageSyncServerEndpointPermission -ResourceGroupName <string> -StorageSyncServiceName <string> -SyncGroupName <string> -Name <string>
注意
參數 -Name
是伺服器端點的名稱。 它是 GUID,而不是顯示在 Azure 入口網站 中的易記名稱。 若要取得伺服器端點名稱,請 執行 Get-AzStorageSyncServerEndpoint Cmdlet。
Test-NetworkConnectivity Cmdlet 失敗,錯誤0x80190193 (HTTP_E_STATUS_FORBIDDEN)
當已註冊伺服器的受控識別無法存取 Azure 檔案共享時,就會發生此問題。
若要解決此問題,請執行下列 PowerShell 命令:
Set-AzStorageSyncServerEndpointPermission -ResourceGroupName <string> -StorageSyncServiceName <string> -SyncGroupName <string> -Name <string>
注意
參數 -Name
是伺服器端點的名稱。 它是 GUID,不是顯示在 Azure 入口網站 中的易記名稱。 若要取得伺服器端點名稱,請 執行 Get-AzStorageSyncServerEndpoint Cmdlet。
Test-NetworkConnectivity Cmdlet 失敗,錯誤0x80131500 (COR_E_EXCEPTION)
在記憶體帳戶上未啟用 [允許信任的服務清單上的 Azure 服務存取此儲存體帳戶例外狀況] 時,就會發生此問題。 若要解決此問題,請遵循授與受信任 Azure 服務的存取權,並將記憶體帳戶公用端點的存取權授與特定虛擬網路中的 指示,以啟用此例外狀況。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。