受控識別可讓驗證更加簡化且安全,協助 Azure 服務彼此連線。 受控識別會使用 Microsoft Entra ID 來提供驗證,而不是管理服務之間的授權。 本文說明如何使用受控識別,將 Azure Cache for Redis 快取連線到 Azure 儲存體帳戶。
受管理的身分識別可讓您針對下列 Azure Redis 情境,簡化安全連線至 Azure 儲存帳戶的過程:
注意
只有 Azure Redis 數據持續性和匯入導出功能會使用受控識別。 這些功能僅適用於 Azure Redis 進階層,因此受控識別僅適用於 Azure Redis 進階層。
Azure Cache for Redis 同時支持 系統指派 和 使用者指派的 受控識別。 每種受控識別類型都有優點,但 Azure Cache for Redis 中的功能相同。
- 系統指派的身分識別 專屬於快取資源。 如果刪除快取,則會刪除身分識別。
- 使用者指派的身分識別 專屬於使用者。 您可以將此身分識別指派給任何支援受控識別的資源,例如記憶體帳戶。 即使您刪除特定的快取資源,此指派仍會維持不變。
設定 Azure Redis Premium 數據持續性或匯入匯出功能的受控識別包含數個部分:
- 在 Azure Redis 快取中啟用受控識別。
- 設定 Azure 記憶體帳戶 以使用受控識別。
- 設定 數據持續性 或 匯入匯出 功能以使用受控識別。
必須先正確完成所有部分,Azure Redis 資料持續性或匯入匯出才能存取儲存體帳戶。 否則,您會看到錯誤或未寫入任何數據。
可用性範圍
層 | 基本、標準 | 進階 | Enterprise,Enterprise Flash |
---|---|---|---|
可用的 | 是的 | 是的 | 否 |
先決條件
- 能夠在 Azure 訂用帳戶中建立和設定進階層 Azure Redis 快取和 Azure 記憶體帳戶。
- 若要指派使用者指派的受控識別:在與 Azure Redis 快取和儲存體帳戶相同的 Azure 訂用帳戶中建立受控識別。
啟用受控識別
您可以使用 Azure 入口網站、Azure CLI 或 Azure PowerShell,為您的 Azure Redis 快取啟用受控識別。 您可以在建立快取實例或之後啟用受控識別。
在 Azure 入口網站中啟用受控識別
在快取建立期間,您僅能指派系統指派的受控識別。 您可以將系統指派或使用者指派的身分識別新增至現有的快取。
建立具有受控識別的新快取
在 Azure 入口網站中,選擇 建立 Azure Cache for Redis。 在 [基本] 索引標籤上,針對 [快取 SKU] 選取 [進階],然後完成其餘的必要資訊。
選取 [ 進階 ] 索引卷標,然後在 [ 系統指派的受控識別] 下,將 [狀態 ] 設定為 [ 開啟]。
完成快取建立過程。
部署快取之後,請移至快取頁面,然後在左側導覽功能表中的 [設定] 下選取 [身分識別]。 確認 物件(主體)識別碼 是否出現在系統指派的 識別頁面的索引標籤上。
將系統指派的身分識別新增至現有的快取
在 Azure Redis Premium 快取的 Azure 入口網站頁面上,選取左側導覽功能表中 [設定] 底下的 [身分識別]。
在 [ 系統指派] 索引 標籤上,將 [狀態 ] 設定為 [ 開啟],然後選取 [ 儲存]。
對啟用系統指派的受控識別提示回應 [是]。
指派身分識別之後,請確認 [身分識別] 頁面的 [系統指派] 分頁上顯示 物件(主體)識別碼。
將使用者指派的身分識別指派至現有快取
在 Azure Redis Premium 快取的 Azure 入口網站頁面上,選取左側導覽功能表中 [設定] 底下的 [身分識別]。
選取 [使用者指派] 索引標籤,然後選取 [新增]。
在 [ 新增使用者指派的受控識別 ] 畫面上,從您的訂用帳戶選取受控識別,然後選取 [ 新增]。 如需使用者指派受控識別的詳細資訊,請參閱管理使用者指派的身分識別。
新增使用者指派的身分識別之後,請確認它出現在 [身分識別] 頁面的 [使用者指派] 索引標籤上。
使用 Azure CLI 啟用受控識別
您可以使用 Azure CLI,透過 az redis create 建立具有受控識別的新快取。 您可以使用 az redis identity 來更新現有的快取以使用受控識別。
例如,若要更新快取以使用系統受控識別,請使用下列 Azure CLI 命令:
az redis identity assign \--mi-system-assigned \--name MyCacheName \--resource-group MyResource Group
使用 Azure PowerShell 啟用受控識別
您可以使用 Azure PowerShell 來建立具有受控識別的新快取,方法是使用 New-AzRedisCache。 您可以使用 Set-AzRedisCache,將現有的快取更新為使用受控識別。
例如,若要更新快取以使用系統受控識別,請使用下列 Azure PowerShell 命令:
Set-AzRedisCache -ResourceGroupName \"MyGroup\" -Name \"MyCache\" -IdentityType "SystemAssigned"
設定記憶體帳戶以使用受控識別
在 Azure 入口網站中,建立新的記憶體帳戶,或開啟您想要連線到快取實例的現有記憶體帳戶。
從左側功能表中選取 存取控制 (IAM)。
在 [ 訪問控制 (IAM)] 頁面上,選取 [ 新增>角色指派]。
在 [新增角色指派] 頁面的 [角色] 索引標籤上,搜尋並選取 [儲存體 Blob 資料參與者],然後選取 [下一步]。
在 [ 成員] 索引標籤上,針對 [ 指派存取權],選取 [ 受控識別],然後選取 [ 選取成員]。
在 [ 選取受控識別 ] 窗格中,選取 [受控識別 ] 底下的下拉式箭號,以查看您所有可用的使用者指派和系統指派的受控識別。 如果您有多個受控識別,您可以搜尋您想要的受控識別。 選擇您想要的受管理識別,然後按一下 選取。
在 [ 新增角色指派 ] 頁面上,選取 [ 檢閱 + 指派],然後選取 [ 檢閱 + 指派 ] 再次確認。
在儲存體帳戶的 [存取控制 (IAM)] 頁面上,選取 [檢視此資源的存取權] 底下的 [檢視],然後在 [角色指派] 索引標籤上搜尋 [儲存體 Blob 資料參與者],以確認受控識別已新增。
重要
若要匯出以使用具有防火牆例外狀況的儲存體帳戶,您必須:
- 透過系統指派的身分識別,將 Azure Redis 快取新增為儲存體 Blob 資料參與者,以及
- 在 [記憶體帳戶 網络] 頁面上,選取 [信任的服務] 清單上的 [允許 Azure 服務] 來存取此記憶體帳戶。
如果您未使用受控識別,而是使用密鑰授權記憶體帳戶,則記憶體帳戶上的防火牆例外狀況會中斷持續性程式和匯入導出程式。
搭配資料持續性使用受控識別
在具有 [儲存體 Blob 資料參與者] 角色的 Azure Redis 進階快取的 Azure 入口網站頁面上,選取左側導覽功能表中 [設定] 底下的 [資料持續性]。
確定 驗證方法 已設定為 受控識別。
重要
如果已啟用,則選取項目會預設為系統指派的身分識別。 否則,會使用清單上的第一個使用者指派身分識別。
在 [儲存體帳戶] 底下,選取您設定為使用受控識別的儲存體帳戶(如果尚未選取),然後視需要選取 [儲存]。
您現在可以使用受控識別驗證,將數據持續性備份儲存至記憶體帳戶。
使用受控識別匯入和匯出快取資料
在具有 [儲存體 Blob 資料參與者] 角色的 Azure Redis 進階快取的 Azure 入口網站頁面上,選取左側導覽功能表中 [管理] 底下的 [匯入資料] 或 [匯出資料]。
在 [匯入數據] 或 [匯出數據] 畫面上,選取 [驗證方法的受控識別]。
若要匯入數據,請在 [匯入數據] 畫面上,選取 [選擇 Blob(s)] 旁的 [RDB 檔案]。 從 Blob 儲存位置選取您的 Redis 資料庫(RDB)檔案或檔案,然後選取 選取。
若要匯出數據,請在 [匯出數據] 畫面上輸入 Blob 名稱前置詞,然後選取 [匯出輸出] 旁的 [選擇記憶體容器]。 選取或建立容器來保存匯出的數據,然後選取 [ 選取]。
在 [ 匯入數據 ] 或 [ 匯出數據] 畫面上,分別選取 [ 匯 入] 或 [ 匯出 ]。
注意
匯入或匯出數據需要幾分鐘的時間。
重要
若您看到匯出或匯入失敗,請再次檢查您的儲存體帳戶是否已使用快取的系統指派或使用者指派的身分識別進行設定。 啟用時,所使用的身分識別預設為系統指派的身分識別。 否則,會使用清單上的第一個使用者指派身分識別。