當您的應用需要訪問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會調用Redis/Tair的API新建立兩個許可權相同的資料庫帳號及口令。以Redis為例,您自訂的Redis資料庫的帳號為
user,則會建立兩個Redis資料庫帳號user、user_clone。指定权限:取值為读写、只读。新建立的兩個資料庫帳號許可權相同。
加密主密钥
選擇用於加密憑據值的密鑰。
重要密鑰和憑據需要屬於同一個KMS執行個體,且密鑰必須為對稱金鑰。關於KMS支援哪些對稱金鑰,請參見密鑰管理類型和密鑰規格。
如果是RAM使用者、RAM角色,需要具備使用加密主要金鑰執行GenerateDataKey操作的許可權。
標籤
憑據的標籤,方便您對憑據進行分類管理。每個標籤由一個索引值對(Key:Value)組成,包含標籤鍵(Key)、標籤值(Value)。
說明標籤鍵和標籤值的格式:最多支援128個字元,可以包含英文大小寫字母、數字、正斜線(/)、反斜線(\)、底線(_)、短劃線(-)、半形句號(.)、加號(+)、等號(=)、半形冒號(:)、字元at(@)、空格。
標籤鍵不能以aliyun或acs:開頭。
每個憑據最多可以設定20個標籤索引值對。
自动轮转
選擇開啟或關閉憑據的周期性自動輪轉。
轮转周期
僅當開啟自动轮转時需要設定。支援設定為6小時~365天。
表示輪轉的周期,設定後KMS將定期為您更新憑據值。
描述信息
憑據的描述資訊。
憑據的策略配置。詳細介紹,請參見憑據策略概述。
您可以先選擇預設策略,建立憑據後根據業務需要再修改策略。
應用程式整合Redis/Tair憑據
KMS提供了阿里雲SDK、KMS執行個體SDK、憑據用戶端,用於擷取憑據值,應用可以通過這些SDK整合Redis/Tair憑據。關於各SDK的詳細介紹,請參見SDK參考。
如果您使用KMS執行個體SDK,具體樣本,請參見通過KMS受管理的執行個體密碼憑證。使用其他SDK時建議您做好錯誤重試機制提升業務穩定性。
如果您使用KMS執行個體SDK,具體樣本,請參見通過KMS受管理的執行個體密碼憑證。
如果您使用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配置Redis/Tair憑據資訊時,您需要自訂Redis/Tair資料庫的帳號,此時KMS會調用Redis/Tair的API新建立兩個許可權相同的Redis/Tair資料庫帳號及口令。
以Tair (Redis OSS-compatible)為例,您自訂的Redis資料庫的帳號為user,則會建立兩個Redis資料庫帳號user、user_clone,user對應的Redis憑據版本狀態設定為ACSCurrent,user_clone對應的Redis憑據版本狀態設定為ACSPrevious。
第一次輪轉時,KMS會調用Redis資料庫的API,修改user_clone對應的口令,並將Redis憑據中user對應的版本狀態置為ACSPrevious,user_clone對應的版本狀態設定為ACSCurrent。以後,每次輪轉時,KMS會交替修改這兩個使用者的口令。具體如下圖所示。
您可以為憑據設定周期性自動輪轉,降低憑據泄露的安全風險。也可以在憑據泄露時,通過控制台立即輪轉功能快速輪轉憑據,阻斷入侵威脅。
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊数据库凭据頁簽,選擇实例ID後,凭据类型選擇Redis,定位到要輪轉的憑據名稱,單擊操作列的详情。
在版本列表地區,單擊设置轮转,配置憑據輪轉策略。
定時自動輪轉:開啟後需要選擇輪轉周期,支援設定為6小時~365天。
立即輪轉:手動觸發立即輪轉。
更多操作
檢測帳號
KMS將檢測憑據保護的資料庫帳號是否屬於您配置的Redis執行個體,檢測成功說明該憑據可以正常輪轉,否則您需要刪除後重新建立Redis/Tair憑據。
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊数据库凭据頁簽,選擇实例ID後,凭据类型選擇Redis,定位到要輪轉的憑據名稱,單擊操作列的详情。
在版本列表地區,單擊检测账号,驗證完成後,查看驗證結果。
刪除Redis憑據
刪除憑據前,請確認該憑據已不再使用,否則可能導致您的業務失敗。
您可以選擇計劃刪除憑據和立即刪除憑據兩種方式,刪除不需要的憑據。刪除/Tair憑據僅刪除KMS中的/Tair憑據資訊,不會刪除/Tair中的賬戶和口令。
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊数据库凭据頁簽,選擇实例ID後,凭据类型選擇Redis,定位到要輪轉的憑據名稱,單擊操作列的计划删除凭据。
在计划删除凭据對話方塊中,選擇憑據刪除方式,並單擊確定。
计划删除凭据:設定預刪除周期(7~30天),系統將在預刪除周期結束後刪除憑據。
立即删除凭据:系統將立即刪除憑據。
在預刪除周期內,您可以單擊目標憑據操作列的还原凭据,取消刪除操作。
為憑據配置標籤
憑據的標籤,方便您對憑據進行分類管理。每個標籤由一個索引值對(Key:Value)組成,包含標籤鍵(Key)、標籤值(Value)。
標籤鍵和標籤值的格式:最多支援128個字元,可以包含英文大小寫字母、數字、正斜線(/)、反斜線(\)、底線(_)、短劃線(-)、半形句號(.)、加號(+)、等號(=)、半形冒號(:)、字元at(@)、空格。
標籤鍵不能以aliyun或acs:開頭。
每個憑據最多可以設定20個標籤索引值對。
為單個憑據配置標籤
方式 | 操作 |
方式一:在憑據管理頁面配置標籤 |
|
方式二:在憑據詳情頁面配置標籤 |
|
為多個憑據大量設定標籤
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
單擊相應的憑據類型頁簽,選擇实例ID後,在憑據列表中勾選要操作的憑據。
增加標籤:在憑據列表的最下方,單擊增加標籤,輸入多個標籤鍵和標籤值後,單擊確定,然後在變更提示對話方塊中單擊關閉。
刪除標籤:在憑據列表的最下方,單擊刪除標籤,在批量解除綁定標籤對話方塊勾選要解除綁定的標籤,單擊取消,然後在變更提示對話方塊中單擊關閉。