如何使用受控識別搭配 Azure 檔案同步 (預覽)
Azure 檔案同步 系統指派的受控識別支援現已處於預覽狀態。
受控識別支援可藉由利用由 Microsoft Entra ID 所提供的系統指派受控識別,來消除共用密鑰作為驗證方法的需求。
當您啟用此設定時,系統指派的受控識別將會用於下列案例:
- 儲存體同步服務驗證至 Azure 檔案共用
- 向 Azure 檔案共用註冊了伺服器驗證
- 向儲存體同步服務註冊了伺服器驗證
若要深入瞭解使用受控識別的優點,請參閱 適用於 Azure 資源的受控識別。
若要設定您的 Azure 檔案同步 部署以利用系統指派的受控識別,請遵循後續各節中的指引。
必要條件
您必須至少有一部已註冊的伺服器部署記憶體同步服務。
Azure 檔案同步 代理程式 19.1.0.0 版或更新版本必須安裝在已註冊的伺服器上。
在您的記憶體帳戶上,Azure 檔案同步:
- 您必須是 擁有者管理角色 的成員,或具有「Microsoft.Authorization/roleassignments/write」許可權。
- 允許受信任服務清單中的 Azure 服務存取此記憶體帳戶 例外狀況,必須啟用預覽。 深入了解
- 必須啟用記憶體帳戶金鑰存取 以進行預覽。 若要檢查此設定,請流覽至您的記憶體帳戶,然後選取 [設定] 區段下的 [ 組態 ]。
Az.StorageSync PowerShell 模組 2.2.0 版或更新版本必須安裝在將用來設定 Azure 檔案同步 以使用受控識別的計算機上。 若要安裝最新的 Az.StorageSync PowerShell 模組,請從提升許可權的 PowerShell 視窗執行下列命令:
Install-Module Az.StorageSync -Force
區域可用性
Azure 檔案同步 支援系統指派的受控識別(預覽版)可在支援 Azure 檔案同步 的所有 Azure 公用和 Gov 區域中取得。
在已註冊的伺服器上啟用系統指派的受控識別
您必須先有系統指派的受控識別,才能將 Azure 檔案同步 設定為使用受控識別,才能使用系統指派的受控識別來向 Azure 檔案同步 服務和 Azure 檔案共用進行驗證。
若要在已安裝 Azure 檔案同步 v19 代理程式的已註冊伺服器上啟用系統指派的受控識別,請執行下列步驟:
- 如果伺服器裝載在 Azure 外部,它必須是 已啟用 Azure Arc 的伺服器,才能擁有系統指派的受控識別。 如需已啟用 Azure Arc 的伺服器以及如何安裝 Azure Connected Machine 代理程式的詳細資訊,請參閱: 已啟用 Azure Arc 的伺服器概觀。
- 如果伺服器是 Azure 虛擬機, 請在 VM 上啟用系統指派的受控識別設定。 如需詳細資訊,請參閱: 在 Azure 虛擬機上設定受控識別。
注意
- 至少一部已註冊的伺服器必須具有系統指派的受控識別,才能將記憶體同步服務設定為使用系統指派的身分識別。
- 儲存體同步服務設定為使用受控識別后,沒有系統指派受控識別的已註冊伺服器會繼續使用共用密鑰向 Azure 檔案共用進行驗證。
如何檢查已註冊的伺服器是否有系統指派的受控識別
若要檢查已註冊的伺服器是否有系統指派的受控識別,請執行下列 PowerShell 命令:
Get-AzStorageSyncServer -ResourceGroupName <string> -StorageSyncServiceName <string>
確認 LatestApplicationId 屬性具有 GUID,指出伺服器具有系統指派的受控識別,但目前未設定為使用受控識別。
如果 ActiveAuthType 屬性的值是 Certificate 且 LatestApplicationId 沒有 GUID,則伺服器沒有系統指派的受控識別,而且會使用共用密鑰向 Azure 檔案共用進行驗證。
注意
一旦伺服器設定為使用系統指派的受控識別,請遵循下一節中的步驟,不再使用 LatestApplicationId 屬性(將會是空的),ActiveAuthType 屬性值將會變更為 ManagedIdentity,而 ApplicationId 屬性將會有 GUID,這是系統指派的受控識別。
設定您的 Azure 檔案同步 部署以使用系統指派的受控識別
若要設定記憶體同步服務和已註冊的伺服器以使用系統指派的受控識別,請從提升許可權的 PowerShell 視窗執行下列命令:
Set-AzStorageSyncServiceIdentity -ResourceGroupName <string> -StorageSyncServiceName <string> -Verbose
Set-AzStorageSyncServiceIdentity Cmdlet 會為您執行下列步驟,而且需要幾分鐘(或較長的拓撲)才能完成:
- 驗證至少一部已註冊的伺服器具有系統指派的受控識別。
- 如果沒有具有系統指派受控識別的已註冊伺服器,Cmdlet 將會在此步驟停止。
- 為記憶體同步服務資源啟用系統指派的受控識別。
- 將記憶體同步服務系統指派的受控識別存取權授與記憶體帳戶(記憶體帳戶)。
- 將記憶體同步服務系統指派的受控識別存取權授與 Azure 檔案共用(記憶體檔案數據特殊許可權參與者角色)。
- 將已註冊的伺服器(s) 系統指派的受控識別存取權授與 Azure 檔案共用(記憶體檔案數據特殊許可權參與者角色)。
- 設定記憶體同步服務以使用系統指派的受控識別。
- 將已註冊的伺服器設定為使用系統指派的受控識別。
每當您需要設定其他已註冊的伺服器以使用受控識別時,請使用 Set-AzStorageSyncServiceIdentity Cmdlet。
注意
一旦已註冊的伺服器設定為使用系統指派的受控識別,伺服器最多可能需要一小時的時間,伺服器才會使用系統指派的受控識別向記憶體同步服務和檔案共用進行驗證。
如何檢查記憶體同步服務是否使用系統指派的受控識別
若要檢查記憶體同步服務是否使用系統指派的受控識別,請從提升許可權的 PowerShell 視窗執行下列命令:
Get-AzStorageSyncService -ResourceGroupName <string> -StorageSyncServiceName <string>
確認UseIdentity屬性的值為True。 如果值為 False,記憶體同步服務會使用共用金鑰向 Azure 檔案共用進行驗證。
如何檢查已註冊的伺服器是否已設定為使用系統指派的受控識別
若要檢查已註冊的伺服器是否已設定為使用系統指派的受控識別,請從提升許可權的 PowerShell 視窗執行下列命令:
Get-AzStorageSyncServer -ResourceGroupName <string> -StorageSyncServiceName <string>
確認 ApplicationId 屬性具有 GUID,指出伺服器已設定為使用受控識別。 一旦伺服器使用系統指派的受控識別,ActiveAuthType 屬性的值將會更新為 ManagedIdentity。
注意
一旦已註冊的伺服器設定為使用系統指派的受控識別,伺服器最多可能需要一小時的時間,伺服器才會使用系統指派的受控識別向記憶體同步服務和 Azure 檔案共用進行驗證。
其他相關資訊
一旦記憶體同步服務和已註冊的伺服器設定為使用系統指派的受控識別:
- 建立的新端點(雲端或伺服器)將會使用系統指派的受控識別向 Azure 檔案共用進行驗證。
- 每當您需要設定其他已註冊的伺服器以使用受控識別時,請使用 Set-AzStorageSyncServiceIdentity Cmdlet。
如果您遇到問題,請參閱:針對 Azure 檔案同步 受控識別問題進行疑難解答。