當應用需要訪問Redis或Tair資料庫時,將帳號口令儲存在KMS的憑據中(即Redis/Tair憑據),業務應用通過整合SDK向KMS動態擷取帳號口令,還可配置憑據輪轉,以減少帳號口令的泄露風險。本文介紹如何管理及使用Redis/Tair憑據。
功能介紹
使用Redis/Tair憑據,應用程式將無需配置待用資料庫帳號口令。管理員在KMS建立Redis/Tair憑據,應用程式調用GetSecretValue介面擷取資料庫帳號和口令資訊,用於訪問Redis/Tair資料庫。
在KMS託管Redis/Tair帳號口令時,僅支援託管新建立的帳號且僅支援雙帳號託管,不支援託管已存在的Redis/Tair存量帳號。
在KMS配置Redis/Tair憑據資訊時,需要自訂資料庫的帳號,此時KMS會調用Redis/Tair的API新建立兩個許可權相同的資料庫帳號及口令。以Tair (Redis OSS-compatible)為例,自訂Tair (Redis OSS-compatible)的帳號為
user,則會建立兩個資料庫帳號user、user_clone。user對應的Redis憑據版本狀態設定為ACSCurrent,user_clone對應的Redis憑據版本狀態設定為ACSPrevious。在Redis控制台,訪問Redis執行個體列表,在執行個體詳情的帳號管理頁簽查看新建立的Redis帳號。
設定憑據輪轉後,憑據輪轉時兩個Redis帳號的口令均有效,如果應用程式在憑據輪轉期間擷取憑據值,仍會獲得有效憑據值。因此相比於單帳號託管,雙帳號託管情境下應用程式的可用性更高。
在KMS託管Redis/Tair帳號口令後,請勿在Tair (Redis OSS-compatible)修改或刪除帳號口令,以避免業務失敗。
KMS不支援託管叢集版架構下的Redis/Tair帳號口令。關於Tair (Redis OSS-compatible)的架構介紹,請參見產品架構概述。
以Tair (Redis OSS-compatible)為例,介紹憑據的使用流程。
前提條件
已購買並啟用KMS執行個體。具體操作,請參見購買和啟用 KMS 執行個體。
已在KMS執行個體中建立用於加密憑據的對稱金鑰。具體操作,請參見建立密鑰。
已完成阿里雲Redis執行個體或Tair執行個體建立。具體操作,請參見建立雲資料庫 Tair(相容 Redis)執行個體。
使用RAM使用者(子帳號)或RAM角色管理Redis/Tair憑據時,請確保阿里雲帳號(主帳號)已將系統策略
AliyunKMSSecretAdminAccess授予RAM使用者或RAM角色。具體操作,請參見管理RAM使用者的許可權或管理RAM角色的許可權。
建立Redis/Tair憑據
建立憑據時可以設定憑據全自動的定期輪轉,從而降低憑據泄露的安全風險。
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊数据库凭据,選擇实例ID後,單擊创建凭据。
選擇创建单个凭据或创建批量凭据,完成各項配置後單擊確定。
配置項
說明
数据库类型
選擇Redis/Tair实例。
凭据名称
自訂憑據名稱,需確保名稱在當前地區內唯一。
Redis/Tair实例
選擇阿里雲帳號下已有的 Redis 執行個體或 Tair 執行個體。
账号托管
僅支援双账号托管。
设置凭据值
僅支援託管新建立的帳號,不支援託管已有的 Redis/Tair 存量帳號。
定制账号名:自訂 Redis/Tair 資料庫的帳號,KMS 會調用 API 新建立兩個許可權相同的資料庫帳號及口令。例如自訂帳號為
user,則會建立user和user_clone兩個帳號。指定权限:取值為读写或只读。兩個新帳號許可權相同。
加密主密钥
選擇用於加密憑據值的對稱金鑰。密鑰和憑據必須屬於同一個 KMS 執行個體。
重要密鑰和憑據需要屬於同一個 KMS 執行個體,且密鑰必須為對稱金鑰。關於 KMS 支援哪些對稱金鑰,請參見密鑰管理類型和密鑰規格。
如果是 RAM 使用者、RAM 角色,需要具備使用加密主要金鑰執行 GenerateDataKey 操作的許可權。
自动轮转
選擇是否啟用自動輪轉功能。啟用後,KMS 將按照設定的周期自動更新憑據值,降低憑據泄露風險。
轮转周期
僅在開啟自動輪轉功能時設定。支援設定為 6 小時~365 天。
表示輪轉周期,設定後 KMS 將定期更新憑據值。
描述信息
填寫憑據的補充描述資訊,便於後續識別和管理。
設定憑據的存取權限策略,可控制哪些 RAM 使用者或角色可以讀取或修改此憑據。
可先選擇預設策略,建立後根據業務需要修改。
應用程式整合Redis/Tair憑據
KMS提供了阿里雲SDK、KMS執行個體SDK、憑據用戶端,用於擷取憑據值,應用可以通過這些SDK整合Redis/Tair憑據。關於各SDK的詳細介紹,請參見SDK參考。
使用其他SDK時建議做好錯誤重試機制提升業務穩定性。
使用SDK進行管控類操作時,例如建立Redis/Tair憑據、修改Redis/Tair標籤等,僅支援使用阿里雲SDK。
輪轉Redis/Tair憑據
KMS輪轉Redis/Tair憑據時,不會重設Redis/Tair帳號,僅重設帳號對應的口令。正常情況下,Redis/Tair憑據輪轉即時完成,如果輪轉超過2分鐘沒有完成,請檢查Redis/Tair執行個體狀態及Redis/Tair帳號是否正常。
輪轉前須知
輪轉Redis/Tair憑據時,KMS將請求Redis/Tair重設相應資料庫帳號的口令。在輪轉Redis/Tair憑據前請確保所有應用均從KMS擷取Redis/Tair憑據,以免造成相關業務應用不可用。
Redis/Tair憑據輪轉時請勿刪除憑據關聯的Redis/Tair執行個體和Redis/Tair帳號,避免輪轉失敗。
建議輪轉前進行一次“檢測帳號”,且看到KMS提示檢驗成功後再進行輪轉。如果在Redis/Tair中刪除了對應的資料庫執行個體或帳號,KMS將無法正常對該Redis/Tair憑據完成輪轉。
輪轉過程
在 KMS 中託管 Redis 或 Tair 憑據時,採用雙帳號交替輪轉機制。該機制通過維護兩個許可權相同的資料庫帳號及其對應的 KMS 憑據版本狀態(ACSCurrent 和 `ACSPrevious),實現無縫密鑰輪轉。具體流程如下:
初始化配置
當使用者在 KMS 中配置自訂帳號(例如
user)時,KMS 會自動調用 Redis/Tair API建立兩個資料庫帳號:user和user_clone。初始狀態映射:
帳號
user對應 KMS 憑據版本狀態為ACSCurrent(當前生效版本)。帳號
user_clone對應 KMS 憑據版本狀態為ACSPrevious(上一版本/備用版本)。
首次輪轉執行
KMS 調用 API修改備用帳號(
user_clone)的口令。狀態切換將原目前的版本降級,新備用版本升級:
user的狀態由ACSCurrent變更為ACSPrevious。user_clone的狀態由ACSPrevious變更為ACSCurrent。
後續持續輪轉:每次觸發輪轉任務時,KMS 將交替修改這兩個帳號的口令,並同步更新其在 KMS 中的版本狀態,確保持續提供可用的訪問憑據。
通過配置憑據的周期性自動輪轉,可有效降低因長期未更新導致的泄露風險;同時支援控制台即時輪轉功能,以便在發生泄露事件時快速響應,及時阻斷潛在的安全威脅。
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊数据库凭据頁簽,選擇实例ID後,凭据类型選擇Redis,定位到要輪轉的憑據名稱,單擊操作列的详情。
在版本列表地區,單擊设置轮转,配置憑據輪轉策略。
定時自動輪轉:開啟後需要選擇輪轉周期,支援設定為6小時~365天。
立即輪轉:手動觸發立即輪轉。
更多操作
檢測帳號
KMS將檢測憑據保護的資料庫帳號是否屬於已配置的Redis執行個體,檢測成功說明該憑據可以正常輪轉,否則需要刪除後重新建立Redis/Tair憑據。
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊数据库凭据頁簽,選擇实例ID後,凭据类型選擇Redis凭据,定位到要輪轉的憑據名稱,單擊操作列的详情。
在版本列表地區,單擊检测账号,驗證完成後,查看驗證結果。
刪除Redis憑據
刪除憑據前,請確認該憑據已不再使用,否則可能導致業務失敗。
刪除不需要的憑據時,支援計劃刪除和立即刪除兩種方式。刪除Redis/Tair憑據僅刪除KMS中的Redis/Tair憑據資訊,不會刪除Redis/Tair中的賬戶和口令。
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊数据库凭据頁簽,選擇实例ID後,凭据类型選擇Redis,定位到要輪轉的憑據名稱,單擊操作列的计划删除凭据。
在计划删除凭据對話方塊中,選擇憑據刪除方式,並單擊確定。
计划删除凭据:設定預刪除周期(7~30 天),系統將在預刪除周期結束後刪除憑據。
立即删除凭据:系統將立即刪除憑據。
在預刪除周期內,可以單擊目標憑據操作列的還原憑據,取消刪除操作。
配置憑據標籤
憑據可以設定標籤,用於分類管理。每個標籤由一個索引值對(Key : Value)組成,包含標籤鍵(Key)和標籤值(Value)。
標籤使用說明
標籤鍵和標籤值最多 128 個字元,支援字母、數字及特殊字元(/ \ _ - . + = : @)和空格。
標籤鍵不能以 aliyun 或 acs: 開頭。標籤值無此限制。
每個憑據最多可設定 20 個標籤。
操作步驟
為單個憑據配置標籤
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊相應的憑據類型頁簽,選擇实例ID後,定位到目標憑據。
通過以下任意入口進入標籤編輯:
入口一:在憑據列表中,單擊目標憑據標籤列的
表徵圖。入口二:單擊操作列的详情,進入憑據詳情頁面,單擊標籤後的
表徵圖。
為多個憑據大量設定標籤
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊相應的憑據類型頁簽,選擇实例ID後,在憑據列表中勾選要操作的憑據。
增加標籤:在憑據列表的最下方,單擊增加标签,輸入多個標籤鍵和標籤值後,單擊確認。
刪除標籤:在憑據列表的最下方,單擊删除标签,在批量解绑标签對話方塊勾選要解除綁定的標籤,單擊取消,然後在變更提示對話方塊中單擊關閉。