儲存體的受控識別
受控識別是 Azure 的常用工具,協助開發人員將管理祕密和登入資訊的負擔降到最低。 當 Azure 服務彼此連線時,受控識別相當實用。 Microsoft Entra ID 可用來提供受控識別,讓驗證流程更精簡且安全,而不是管理每個服務之間的授權。
搭配儲存體帳戶使用受控識別
目前,Azure Cache for Redis 可以使用受控識別與儲存體帳戶連線,這項功能在兩個案例中相當實用:
受控識別可讓您針對這些工作,簡化安全連線至所選儲存體帳戶的流程。
Azure Cache for Redis 支援這兩種類型的受控識別:
系統指派的身分識別是資源特有的。 在此情況下,快取是資源。 刪除快取時,會刪除身分識別。
使用者指派的身分識別是使用者特有的,而非資源。 這可指派給任何支援受控識別的資源,即使您刪除快取仍維持原狀。
每種受控識別類型均有優點,但在 Azure Cache for Redis 中的功能皆相同。
啟用受控識別
您可在建立快取執行個體時,或在建立快取之後,啟用受控識別。 建立快取期間,僅能指派系統指派的身分識別。 任何一種識別類型均可新增至現有的快取。
可用性範圍
層 | 基本、標準 | 進階 | Enterprise,Enterprise Flash |
---|---|---|---|
可用的 | No | .是 | No |
先決條件與限制
儲存體的受控識別目前只能搭配匯入/匯出功能和持續性功能使用,以限制其使用於進階層的 Azure Cache for Redis。
使用入口網站建立具有受控識別的新快取
登入 Azure 入口網站。
使用任何進階層的快取類型建立新的 Azure Cache for Redis 資源。 完成 [基本] 索引標籤中的所有必要資訊。
選取 [進階] 索引標籤。然後向下捲動至 [系統指派的受控識別],然後選取 [開啟]。
完成建立流程。 建立並部署快取後,請將其開啟,然後選取左側 [設定] 區段下的 [身分識別] 索引標籤。 您會看到系統指派的物件識別碼已指派給快取身分識別。
將系統指派的身分識別新增至現有的快取
在 Azure 入口網站瀏覽至您的 Azure Cache for Redis 資源。 在左側的 [資源] 功能表中,選取 [身分識別]。
若要啟用系統指派的身分識別,請選取 [系統指派] 索引標籤,然後選取 [狀態] 下的 [開啟]。 選取 [儲存] 以確認。
隨即會出現一個對話方塊,指出您的快取將會向 Microsoft Entra ID 註冊,並授與權限來存取受 Microsoft Entra ID 保護的資源。 選取 [是]。
您會看到物件 (主體) 識別碼,代表系統已指派身分識別。
將使用者指派的身分識別指派至現有快取
在 Azure 入口網站瀏覽至您的 Azure Cache for Redis 資源。 在左側的 [資源] 功能表中,選取 [身分識別]。
若要啟用使用者指派的身分識別,請選取 [使用者指派] 索引標籤,然後選取 [新增]。
側邊欄隨即出現,可讓您選取訂用帳戶中任何可用的使用者指派身分識別。 選則身分識別,然後選取 [新增]。 如需使用者指派受控識別的詳細資訊,請參閱管理使用者指派的身分識別。
注意
您必須在執行此步驟前建立使用者指派的身分識別。
您會在 [使用者指派] 看到已列出的使用者指派身分識別。
使用 Azure CLI 建立受控識別
使用 Azure CLI 建立具有受控識別的新快取,或更新現有的快取以使用受控識別。 如需詳細資訊,請參閱 az redis create 或 az redis identity。
例如,若要更新快取以使用系統管理的身分識別,請使用下列 CLI 命令:
az redis identity assign \--mi-system-assigned \--name MyCacheName \--resource-group MyResource Group
使用 Azure PowerShell 啟用受控識別
使用 Azure PowerShell 建立具有受控識別的新快取,或更新現有的快取以使用受控識別。 如需詳細資訊,請參閱 New-AzRedisCache 或 Set-AzRedisCache。
例如,若要更新快取以使用系統管理的身分識別,請使用下列 PowerShell 命令:
Set-AzRedisCache -ResourceGroupName \"MyGroup\" -Name \"MyCache\" -IdentityType "SystemAssigned"
設定儲存體帳戶以使用受控識別
重要
您必須先在儲存體帳戶中設定受控識別,Azure Cache for Redis 才能存取帳戶以進行持續性或匯入/匯出功能。 如果此步驟未正確完成,您會看到錯誤或未寫入任何資料。
建立新的儲存體帳戶,或開啟您想要連線到快取執行個體的現有儲存體帳戶。
在資源功能表中,開啟 [存取控制 (IAM)]。 然後,選取 [新增] 和 [新增角色指派]。
在 [角色] 窗格上搜尋 [儲存體 Blob 資料參與者]。 選取該項後,選取 [下一步]。
選取 [成員] 索引標籤。在 [存取權指派對象] 下選取 [受控識別],然後選取 [選取成員]。 工作窗格旁會出現資訊看板快顯視窗。
使用 [受控識別] 下的下拉式清單,選擇 [使用者指派的受控識別] 或 [系統指派的受控識別]。 如果您有多個受控識別,您可以按照名稱搜尋。 選擇您想要的受控識別後,按一下 [選取]。 然後,按一下 [檢閱 + 指派] 以確認。
您可以藉由檢查儲存體帳戶在 [儲存體 Blob 資料參與者] 下的角色指派,確認是否已成功指派身分識別。
注意
若要匯出以使用具有防火牆例外狀況的儲存體帳戶,您必須:
- 透過系統指派的身分識別,將 Azure Cache for Redis 執行個體新增為儲存體 Blob 資料參與者,以及
- 核取 [允許受信任服務清單上的 Azure 服務存取此儲存體帳戶]。
如果您未使用受控識別,而是使用金鑰授權儲存體帳戶,則儲存體帳戶上的防火牆例外狀況會中斷持續性程序和匯入/匯出程序。
使用受控識別存取儲存體帳戶
搭配資料持續性使用受控識別
開啟已指派儲存體 Blob 資料參與者角色的 Azure Cache for Redis 執行個體,然後前往 [資源] 功能表上的 [資料持續性]。
將 [驗證方法] 變更為 [受控識別],然後選取您稍早在本文中設定的儲存體帳戶。 選取 [ 儲存]。
重要
如果已啟用,則身分識別會預設為系統指派的身分識別。 否則,會使用清單上的第一個使用者指派身分識別。
現在您可以使用受控識別驗證,將資料持續性備份儲存至儲存體帳戶。
使用受控識別匯入和匯出快取資料
開啟已指派儲存體 Blob 資料參與者角色的 Azure Cache for Redis 執行個體,然後前往 [系統管理] 下的 [匯入] 或 [匯出] 索引標籤。
若要匯入資料,請選擇保存所選 RDB 檔案的 Blob 儲存體位置。 若要匯出資料,請輸入您想要的 Blob 名稱前置詞和儲存體容器。 在這兩種情況下,您必須使用您為受控識別存取設定的儲存體帳戶。
在 [驗證方法] 下,選擇 [受控識別],然後分別選取 [匯入] 或 [匯出]。
注意
匯入或匯出資料需要幾分鐘的時間。
重要
若您看到匯出或匯入失敗,請再次檢查您的儲存體帳戶是否已使用快取的系統指派或使用者指派的身分識別進行設定。 若已啟用,則所使用的身分識別將預設為系統指派的身分識別。 否則,會使用清單上的第一個使用者指派身分識別。