RDS憑據(jù)
本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業(yè)務(wù)造成影響,請務(wù)必仔細閱讀。
當(dāng)您的應(yīng)用需要訪問RDS數(shù)據(jù)庫時,您可以將RDS賬號口令存儲在KMS的憑據(jù)中(即RDS憑據(jù)),業(yè)務(wù)應(yīng)用通過集成阿里云SDK、KMS實例SDK或憑據(jù)SDK向KMS動態(tài)獲取賬號口令,您還可以為憑據(jù)配置輪轉(zhuǎn),以減少賬號口令的泄露風(fēng)險。本文介紹如何管理及使用RDS憑據(jù)。
功能介紹
使用RDS憑據(jù),應(yīng)用程序?qū)o需配置靜態(tài)數(shù)據(jù)庫賬號口令。管理員在KMS創(chuàng)建RDS憑據(jù),應(yīng)用程序調(diào)用GetSecretValue接口獲取RDS數(shù)據(jù)庫賬號和口令信息,用于訪問RDS數(shù)據(jù)庫。
您在KMS托管RDS賬號口令后,請勿在云數(shù)據(jù)庫 RDS修改或刪除賬號口令,以避免您的業(yè)務(wù)失敗。
RDS憑據(jù)輪轉(zhuǎn)
KMS為您轉(zhuǎn)輪RDS憑據(jù)時,會重置對應(yīng)RDS賬號的密碼(口令),數(shù)據(jù)庫賬號名稱不變。正常情況下,RDS憑據(jù)輪轉(zhuǎn)即時完成。如果輪轉(zhuǎn)超過2分鐘沒有完成,請檢查RDS實例狀態(tài)及RDS賬號是否正常。
RDS憑據(jù)輪轉(zhuǎn)時請勿刪除憑據(jù)關(guān)聯(lián)的RDS實例和RDS賬號,避免輪轉(zhuǎn)失敗。
在KMS托管RDS憑據(jù)時,支持單賬號托管和雙賬號托管,其輪轉(zhuǎn)策略不同:
單賬號
輪轉(zhuǎn)即為賬號生成一個新的口令,輪轉(zhuǎn)時在口令切換的瞬間,憑據(jù)的當(dāng)前版本可能暫時無法使用。因此建議您做好重試策略。
多賬號
假設(shè)創(chuàng)建憑據(jù)時您有一個用戶的RDS賬號口令。第一次輪轉(zhuǎn)時,KMS會調(diào)用RDS的API創(chuàng)建第二個用戶的賬號口令。第二次輪轉(zhuǎn)時,會修改第一個用戶的口令,以后每次輪轉(zhuǎn)憑據(jù)時,KMS會交替修改這兩個用戶的口令。具體如下圖所示。
注意事項
支持的RDS數(shù)據(jù)庫為:RDS MySQL、RDS MariaDB、RDS SQL Server(2017集群版除外)和RDS PostgreSQL。
請勿將RDS數(shù)據(jù)庫的賬號口令托管到多個RDS憑據(jù)中。因為RDS憑據(jù)輪轉(zhuǎn)會更新口令,如果其中一個RDS憑據(jù)輪轉(zhuǎn),則使用其他RDS憑據(jù)中的憑據(jù)值會無法成功登錄該RDS數(shù)據(jù)庫。
前提條件
已購買并啟用KMS實例。具體操作,請參見購買和啟用KMS實例。
已在KMS實例中創(chuàng)建用于加密憑據(jù)的對稱密鑰。具體操作,請參見創(chuàng)建密鑰。
已完成阿里云RDS實例創(chuàng)建。具體操作,請參見第一步:快捷創(chuàng)建RDS MySQL實例與配置數(shù)據(jù)庫。
如果您使用RAM用戶(子賬號)或RAM角色管理RDS憑據(jù),請確保阿里云賬號(主賬號)已將系統(tǒng)策略AliyunKMSSecretAdminAccess授予RAM用戶或RAM角色。具體操作,請參見為RAM用戶授權(quán)或為RAM角色授權(quán)。
步驟一:創(chuàng)建RDS憑據(jù)
創(chuàng)建憑據(jù)時可以設(shè)置憑據(jù)全自動的定期輪轉(zhuǎn),從而降低憑據(jù)泄露的安全風(fēng)險。
登錄密鑰管理服務(wù)控制臺,在頂部菜單欄選擇地域后,在左側(cè)導(dǎo)航欄單擊 。
單擊數(shù)據(jù)庫憑據(jù)頁簽,選擇實例ID后,單擊
,完成各項配置后單擊確定。說明RDS憑據(jù)不支持批量創(chuàng)建。
創(chuàng)建RDS憑據(jù)時,系統(tǒng)會自動創(chuàng)建服務(wù)關(guān)聯(lián)角色AliyunServiceRoleForKMSSecretsManagerForRDS,并為其授權(quán)權(quán)限策略AliyunServiceRolePolicyForKMSSecretsManagerForRDS。KMS使用該角色為您管理RDS憑據(jù),完成RDS賬號口令的輪轉(zhuǎn)等任務(wù)。
您可以登錄RAM控制臺查看服務(wù)關(guān)聯(lián)角色和權(quán)限策略的詳細信息,具體操作,請參見查看RAM角色和查看權(quán)限策略基本信息。
配置項
說明
數(shù)據(jù)庫類型
選擇RDS憑據(jù)。
憑據(jù)名稱
自定義的憑據(jù)名稱。憑據(jù)名稱在當(dāng)前地域內(nèi)唯一。
RDS實例
選擇阿里云賬號下已有的RDS實例。
賬號托管
雙賬號托管(推薦):適用于程序化訪問數(shù)據(jù)庫場景。托管兩個相同權(quán)限的賬號,保證口令重置切換的瞬間,程序訪問數(shù)據(jù)庫不被中斷。
單擊新建賬號,配置賬號名、選擇數(shù)據(jù)庫并指定權(quán)限。
說明一鍵創(chuàng)建和授權(quán)不會立即為您配置新的賬號,而是在您審核確認(rèn)憑據(jù)信息之后進行配置。
單擊導(dǎo)入已有賬號,選擇用戶名、配置口令。
說明建議您將口令配置為創(chuàng)建RDS實例用戶賬號時對應(yīng)的密碼。如果導(dǎo)入的賬號和口令不匹配,您可以在憑據(jù)首次輪轉(zhuǎn)之后,獲取正確的賬號和口令。
單賬號托管:適用于高權(quán)限賬號或者人工運維賬號托管場景。口令重置切換的瞬間,憑據(jù)的當(dāng)前版本可能暫時無法使用。
單擊新建賬號,配置賬號名、選擇賬號類型。
您可以選擇普通賬號和高權(quán)限賬號兩種賬號類型。當(dāng)您選擇普通賬號時,還需選擇數(shù)據(jù)庫并指定權(quán)限。
單擊導(dǎo)入已有賬號頁簽,選擇用戶名、配置口令。
加密主密鑰
選擇用于加密憑據(jù)值的密鑰。
重要密鑰和憑據(jù)需要屬于同一個KMS實例,且密鑰必須為對稱密鑰。關(guān)于KMS支持哪些對稱密鑰,請參見密鑰管理類型和密鑰規(guī)格。
如果是RAM用戶、RAM角色,需要具備使用加密主密鑰執(zhí)行GenerateDataKey操作的權(quán)限。
標(biāo)簽
憑據(jù)的標(biāo)簽,方便您對憑據(jù)進行分類管理。每個標(biāo)簽由一個鍵值對(Key:Value)組成,包含標(biāo)簽鍵(Key)、標(biāo)簽值(Value)。
說明標(biāo)簽鍵和標(biāo)簽值的格式:最多支持128個字符,可以包含英文大小寫字母、數(shù)字、正斜線(/)、反斜線(\)、下劃線(_)、短劃線(-)、半角句號(.)、加號(+)、等于號(=)、半角冒號(:)、字符at(@)、空格。
標(biāo)簽鍵不能以aliyun或acs:開頭。
每個憑據(jù)最多可以設(shè)置20個標(biāo)簽鍵值對。
自動輪轉(zhuǎn)
選擇開啟或關(guān)閉憑據(jù)的周期性自動輪轉(zhuǎn)。
輪轉(zhuǎn)周期
僅當(dāng)開啟自動輪轉(zhuǎn)時需要設(shè)置。支持設(shè)置為6小時~365天。
表示輪轉(zhuǎn)的周期,設(shè)置后KMS將定期為您更新憑據(jù)值。
描述信息
憑據(jù)的描述信息。
策略配置
憑據(jù)的策略配置。詳細介紹,請參見憑據(jù)策略概述。
您可以先選擇默認(rèn)策略,創(chuàng)建憑據(jù)后根據(jù)業(yè)務(wù)需要再修改策略。
步驟二:應(yīng)用程序集成RDS憑據(jù)
KMS提供了阿里云SDK、KMS實例SDK、憑據(jù)客戶端、憑據(jù)JDBC客戶端,用于獲取憑據(jù)值,應(yīng)用可以通過這些SDK集成RDS憑據(jù)。憑據(jù)JDBC客戶端封裝了業(yè)務(wù)邏輯、最佳實踐和設(shè)計模式,應(yīng)用程序可通過在KMS保存的RDS憑據(jù)完成數(shù)據(jù)庫連接身份鑒別,在建立數(shù)據(jù)庫連接后通過JDBC接口訪問數(shù)據(jù)庫。關(guān)于各SDK的詳細介紹,請參見SDK參考。
如果您的應(yīng)用程序編程語言是Java,推薦您使用憑據(jù)JDBC客戶端。詳細信息,請參見憑據(jù)JDBC客戶端。如果您的應(yīng)用程序編程語言是Python或Go,推薦您使用憑據(jù)客戶端。詳細信息,請參見憑據(jù)客戶端。其它編程語言,您可使用KMS實例SDK或阿里云SDK。
如果您使用SDK進行管控類操作,例如創(chuàng)建RDS憑據(jù)、修改RDS標(biāo)簽等,僅支持使用阿里云SDK。
更多操作
輪轉(zhuǎn)RDS憑據(jù)
輪轉(zhuǎn)RDS憑據(jù)時,KMS將請求RDS重置相應(yīng)數(shù)據(jù)庫賬號的密碼(ResetAccountPassword)。在輪轉(zhuǎn)RDS憑據(jù)前請確保您所有應(yīng)用均從KMS獲取RDS憑據(jù),以免造成相關(guān)業(yè)務(wù)應(yīng)用不可用。
如果您在RDS中刪除了對應(yīng)數(shù)據(jù)庫實例或賬號,KMS將無法正常對該RDS憑據(jù)完成輪轉(zhuǎn)。建議您在輪轉(zhuǎn)前進行一次“檢測賬號”,且看到KMS提示檢驗成功后再進行輪轉(zhuǎn)。
您可以為憑據(jù)設(shè)置周期性自動輪轉(zhuǎn),降低憑據(jù)泄露的安全風(fēng)險。也可以在憑據(jù)泄露時,通過控制臺立即輪轉(zhuǎn)功能快速輪轉(zhuǎn)憑據(jù),阻斷入侵威脅。
登錄密鑰管理服務(wù)控制臺,在頂部菜單欄選擇地域后,在左側(cè)導(dǎo)航欄單擊 。
單擊數(shù)據(jù)庫憑據(jù)頁簽,選擇實例ID后,定位到要立即輪轉(zhuǎn)的憑據(jù)名稱,單擊操作列的詳情。
在憑據(jù)詳情頁面下方的版本列表區(qū)域,單擊設(shè)置輪轉(zhuǎn)。
定時自動輪轉(zhuǎn):開啟后需要選擇輪轉(zhuǎn)周期,支持設(shè)置為6小時~365天。
立即輪轉(zhuǎn):手動觸發(fā)立即輪轉(zhuǎn)。
檢測憑據(jù)值
KMS將檢測憑據(jù)保護的RDS數(shù)據(jù)庫賬號是否屬于您配置的RDS實例,檢測成功說明該憑據(jù)可以正常輪轉(zhuǎn),否則您需要刪除后重新創(chuàng)建RDS憑據(jù)。
登錄密鑰管理服務(wù)控制臺,在頂部菜單欄選擇地域后,在左側(cè)導(dǎo)航欄單擊 。
單擊數(shù)據(jù)庫憑據(jù)頁簽,選擇實例ID后,定位到目標(biāo)憑據(jù),單擊操作列的詳情。
在版本列表區(qū)域,單擊檢測賬號,驗證完成后,查看驗證結(jié)果。
刪除RDS憑據(jù)
刪除憑據(jù)前,請確認(rèn)該憑據(jù)已不再使用,否則可能導(dǎo)致您的業(yè)務(wù)失敗。
您可以選擇計劃刪除憑據(jù)和立即刪除憑據(jù)兩種方式,刪除不需要的憑據(jù)。刪除RDS憑據(jù)僅刪除KMS的RDS憑據(jù)信息,不會刪除RDS中的賬戶和口令。
登錄密鑰管理服務(wù)控制臺,在頂部菜單欄選擇地域后,在左側(cè)導(dǎo)航欄單擊 。
單擊數(shù)據(jù)庫憑據(jù)頁簽,選擇實例ID后,定位到要刪除的憑據(jù)名稱,單擊操作列的計劃刪除憑據(jù)。
在計劃刪除憑據(jù)對話框中,選擇憑據(jù)刪除方式,并單擊確定。
計劃刪除憑據(jù):設(shè)置預(yù)刪除周期(7~30天),系統(tǒng)將在預(yù)刪除周期結(jié)束后刪除憑據(jù)。
立即刪除憑據(jù):系統(tǒng)將立即刪除憑據(jù)。
在預(yù)刪除周期內(nèi),您可以單擊目標(biāo)憑據(jù)操作列的還原憑據(jù),取消刪除操作。
為憑據(jù)配置標(biāo)簽
憑據(jù)的標(biāo)簽,方便您對憑據(jù)進行分類管理。每個標(biāo)簽由一個鍵值對(Key:Value)組成,包含標(biāo)簽鍵(Key)、標(biāo)簽值(Value)。
標(biāo)簽鍵和標(biāo)簽值的格式:最多支持128個字符,可以包含英文大小寫字母、數(shù)字、正斜線(/)、反斜線(\)、下劃線(_)、短劃線(-)、半角句號(.)、加號(+)、等于號(=)、半角冒號(:)、字符at(@)、空格。
標(biāo)簽鍵不能以aliyun或acs:開頭。
每個憑據(jù)最多可以設(shè)置20個標(biāo)簽鍵值對。
為單個憑據(jù)配置標(biāo)簽
方式 | 操作 |
方式一:在憑據(jù)管理頁面配置標(biāo)簽 |
|
方式二:在憑據(jù)詳情頁面配置標(biāo)簽 |
|
為多個憑據(jù)批量配置標(biāo)簽
登錄密鑰管理服務(wù)控制臺,在頂部菜單欄選擇地域后,在左側(cè)導(dǎo)航欄單擊 。
單擊相應(yīng)的憑據(jù)類型頁簽,選擇實例ID后,在憑據(jù)列表中勾選要操作的憑據(jù)。
增加標(biāo)簽:在憑據(jù)列表的最下方,單擊增加標(biāo)簽,輸入多個標(biāo)簽鍵和標(biāo)簽值后,單擊確認(rèn),然后在變更提示對話框中單擊關(guān)閉。
刪除標(biāo)簽:在憑據(jù)列表的最下方,單擊刪除標(biāo)簽,在批量解綁標(biāo)簽對話框勾選要解綁的標(biāo)簽,單擊解綁標(biāo)簽,然后在變更提示對話框中單擊關(guān)閉。