記憶體的受控識別
受控識別 是 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 實例,然後移至 [管理員 istration] 底下的 [匯入或匯出] 索引卷標。
如果匯入數據,請選擇保存所選 RDB 檔案的 Blob 記憶體位置。 如果匯出數據,請輸入所需的 Blob 名稱前置詞和記憶體容器。 在這兩種情況下,您必須使用您為受控識別存取設定的記憶體帳戶。
在 [驗證方法] 下,選擇 [受控識別],然後分別選取 [匯入] 或 [匯出]。
注意
匯入或匯出數據需要幾分鐘的時間。
重要
如果您看到匯出或匯入失敗,請仔細檢查您的記憶體帳戶是否已使用快取的系統指派或使用者指派的身分識別進行設定。 如果已啟用系統指派的身分識別,所使用的身分識別預設為系統指派的身分識別。 否則,會使用第一個列出的使用者指派身分識別。