全部產品
Search
文件中心

Key Management Service:PolarDB憑據

更新時間:Mar 19, 2025

當您的應用需要訪問PolarDB時,為了減少帳號口令的泄露風險,您可以將PolarDB帳號口令託管於KMS的PolarDB憑據,本文介紹如何管理及使用PolarDB憑據。

應用背景

當業務應用需要訪問PolarDB,若對其帳號口令不進行有效保護,有可能會導致應用資料泄露、關鍵性使用者資料被竊取以及資料庫被攻擊等風險。針對此情況KMS提供了PolarDB憑據功能,您可以將PolarDB的帳號口令儲存在KMS的憑據中(即PolarDB憑據),業務應用通過整合阿里雲SDK、KMS執行個體SDK或憑據SDK向KMS動態擷取帳號口令,您還可以為憑據配置輪轉,定期修改帳號口令,來減少PolarDB帳號口令的泄露風險。

前提條件

支援類型

PolarDB憑據支援託管的資料庫類型如下:

  • PolarDB MySQL版

  • PolarDB PostgreSQL版

  • PolarDB PostgreSQL版(相容Oracle)

PolarDB憑據支援託管模式:

  • 建立帳號託管且為雙帳號模式。

PolarDB憑據支援帳號類型:

  • 普通帳號

重要
  • PolarDB-X-2.0、PolarDB-X-1.0暫不支援。

  • 匯入已有帳號、以及單帳號模式暫不支援。

使用流程

使用PolarDB憑據,應用程式將無需配置待用資料庫帳號口令。

  1. 管理員根據業務要求在KMS建立PolarDB憑據。

  2. 應用程式整合PolarDB憑據。

  3. 使用PolarDB憑據中擷取的帳號口令串連資料庫。

重要

您在KMS託管PolarDB帳號口令後,請勿在PolarDB修改或刪除帳號口令,以避免您的業務失敗。

步驟一:建立PolarDB憑據

  1. 登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊资源 > 凭据管理

  2. 單擊数据库凭据頁簽,選擇实例ID後,單擊建立憑據 > 创建单个凭据,完成各項配置後單擊確定。主要配置項如下:

    配置項

    說明

    数据库类型

    選擇PolarDB凭据

    凭据名称

    自訂的憑據名稱,憑據名稱在當前地區內唯一。

    PolarDB实例

    選擇阿里雲帳號下已有的PolarDB執行個體。

    账号托管

    双账号托管:適用於程式化訪問資料庫情境。建立兩個相同許可權的帳號,保證口令重設切換的瞬間,程式訪問資料庫不被中斷。

    新建账号:配置帳號名和許可權,帳號類型只支援普通帳號。MySQL憑據建立時候需要選擇資料庫+許可權

    說明
    • 一鍵建立和授權不會立即為您配置新的帳號,而是在您審核確認憑據資訊之後進行配置。

    • 帳號名必須唯一,如果帳號名已經存在,就不能託管到憑據中

    加密主密钥

    選擇用於加密憑據值的密鑰。

    重要
    • 密鑰和憑據需要屬於同一個KMS執行個體,且密鑰必須為對稱金鑰。關於KMS支援哪些對稱金鑰,請參見密鑰管理類型和密鑰規格

    • 如果是RAM使用者、RAM角色,需要具備使用加密主要金鑰執行GenerateDataKey操作的許可權。

    標籤

    憑據的標籤,方便您對憑據進行分類管理。每個標籤由一個索引值對(Key:Value)組成,包含標籤鍵(Key)、標籤值(Value)。

    說明
    • 標籤鍵和標籤值的格式:最多支援128個字元,可以包含英文大小寫字母、數字、正斜線(/)、反斜線(\)、底線(_)、短劃線(-)、半形句號(.)、加號(+)、等號(=)、半形冒號(:)、字元at(@)、空格。

    • 標籤鍵不能以aliyun或acs:開頭。

    • 每個憑據最多可以設定20個標籤索引值對。

    自动轮转

    選擇開啟或關閉憑據的周期性自動輪轉。

    轮转周期

    僅當开启自动轮转時需要設定。支援設定為6小時~365天。

    表示輪轉的周期,設定後KMS將定期為您更新憑據值。

    描述信息

    憑據的描述資訊。

    策略配置

    憑據的策略配置。詳細介紹,請參見憑據策略概述

    您可以先選擇預設策略,建立憑據後根據業務需要再修改策略。

說明
  • 建立PolarDB憑據,請先確保PolarDB執行個體狀態為Normal。

  • PolarDB憑據建立成功後,系統會自動建立服務關聯角色AliyunServiceRoleForKMSSecretsManagerForPolardb,並為其授權權限原則AliyunServiceRolePolicyForKMSSecretsManagerForPolardb。KMS使用該角色調用PolarDB API為您管理PolarDB憑據,完成PolarDB帳號口令輪轉等任務。

    您可以登入RAM控制台查看服務關聯角色和權限原則的詳細資料,具體操作,請參見查看RAM角色查看權限原則基本資料

步驟二:應用程式整合PolarDB憑據

KMS提供憑據用戶端、阿里雲SDK、KMS Agent、KMS執行個體SDK來調用OpenAPI-GetSecretValue或KMS執行個體API-GetSecretValue介面擷取PolarDB憑據值。您可按照以下進行選擇:

說明
  • 建議您做好錯誤重試機制提升業務穩定性。

  • KMS提供了多種認證方式,為了更高的安全性,推薦您優先使用ECS執行個體RAM角色或RAM角色。

  • 存取點說明:

    共用網關對應的存取點Endpoint:請參見存取點說明

    專屬網關對應的存取點Endpoint:{執行個體ID}.cryptoservice.kms.aliyuncs.com

整合方式

使用情境說明

支援的認證方式

憑據用戶端

應用開發語言需要為Java(Java 8及以上版本)、Go或者Python。

  • 共用網關

  • 專屬網關

阿里雲SDK

應用開發語言需要為Java(Java 6及以上版本)、PHP、Go、Python、.NET(僅C#)、C++、Node.js。

  • 專屬網關(推薦)

  • 共用網關

KMS Agent

  • 適用於業務應用部署在一起,大規模應用訪問KMS。

  • KMS Agent是基於標準化HTTP介面提供服務,支援任意程式設計語言的業務應用調用。

  • 專屬網關(推薦)

  • 共用網關

KMS執行個體SDK(不推薦)

應用開發語言需要為Java(Java 8及以上版本)、PHP、Go、Python、.NET(僅C#)。

專屬網關

步驟三:使用PolarDB憑據串連資料庫

根據擷取的PolarDB憑據中儲存的資料庫帳號口令,使用資料庫驅動程式完成資料庫連接。

重要
  • 資料庫驅動使用請參考各驅動使用說明。

  • 如果您的應用程式程式設計語言是Java且資料庫類型是PolarDB MySQL版推薦您使用憑據JDBC用戶端,該用戶端自動從KMS擷取憑據用於資料庫連接,無需再調GetSecretValue介面。憑據JDBC用戶端目前暫時不支援PolarDB PostgreSQL版PolarDB PostgreSQL版(相容Oracle)

更多功能

1、輪轉PolarDB憑據

您可以為憑據設定周期性自動輪轉,降低憑據泄露的安全風險。也可以在憑據泄露時,通過控制台立即輪轉功能快速輪轉憑據,阻斷入侵威脅。

在KMS託管PolarDB憑據時,僅支援雙帳號託管。即在KMS配置PolarDB憑據資訊時,您需要自訂PolarDB資料庫的帳號,此時KMS會調用PolarDB的API新建立兩個許可權相同的PolarDB資料庫帳號及口令所以在輪轉時採用交替修改帳號口令的方式進行,流程樣本如下:

重要
  • 輪轉PolarDB憑據時請勿刪除憑據相關聯的PolarDB執行個體和帳號。

  • 輪轉PolarDB憑據時,KMS將請求PolarDB重設相應資料庫帳號的密碼(ModifyAccountPassword - 修改資料庫的帳號密碼)。在輪轉PolarDB憑據前請確保您所有應用均從KMS擷取PolarDB憑據,以免造成相關業務應用不可用。

  • 如果您在PolarDB中刪除了對應資料庫執行個體或帳號,KMS將無法正常對該PolarDB憑據完成輪轉。建議您在輪轉前進行一次“憑據檢測”,並在KMS提示檢驗成功後再進行輪轉。

  1. 登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊资源 > 凭据管理

  2. 單擊数据库凭据頁簽,選擇实例ID後,定位到要立即輪轉的憑據名稱,單擊操作列的详情

  3. 在憑據詳情頁面下方的版本列表地區,單擊设置轮转

    1. 周期性輪轉,輪轉周期支援:6小時~365天

    2. 立即輪轉,使用者點擊立即輪轉後,等待背景工作拉起到輪轉完成,預計耗時3分鐘。

    3. 輪轉結果通過CloudMonitor透出。

2、憑據檢測

KMS提供憑據檢測功能,該功能可檢測當前憑據保護的PolarDB執行個體的資料庫帳號狀態是否正常,是否被刪除或停用。檢測通過說明該憑據可以正常輪轉,否則您需要刪除後重新建立PolarDB憑據。

  1. 登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊资源 > 凭据管理

  2. 單擊数据库凭据頁簽,選擇实例ID後,定位到目標憑據,單擊操作列的详情

  3. 版本列表地區,單擊检测账号,驗證完成後,查看驗證結果。

3、刪除PolarDB憑據

警告

刪除憑據前,請確認該憑據已不再使用,否則可能導致您的業務失敗。

您可以選擇計劃刪除憑據和立即刪除憑據兩種方式,刪除不需要的憑據。刪除PolarDB憑據僅刪除KMS的PolarDB憑據資訊,不會刪除PolarDB中的賬戶和口令。

  1. 登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊资源 > 凭据管理

  2. 單擊数据库凭据頁簽,選擇实例ID後,定位到要刪除的憑據名稱,單擊操作列的计划删除凭据

  3. 计划删除凭据對話方塊中,選擇憑據刪除方式,並單擊確定

    • 计划删除凭据:設定預刪除周期(7~30天),系統將在預刪除周期結束後刪除憑據。

    • 立即删除凭据:系統將立即刪除憑據。

    在預刪除周期內,您可以單擊目標憑據操作列的还原凭据,取消刪除操作。

4、配置憑據標籤

憑據的標籤,方便您對憑據進行分類管理。每個標籤由一個索引值對(Key:Value)組成,包含標籤鍵(Key)、標籤值(Value)。

說明
  • 標籤鍵和標籤值的格式:最多支援128個字元,可以包含英文大小寫字母、數字、正斜線(/)、反斜線(\)、底線(_)、短劃線(-)、半形句號(.)、加號(+)、等號(=)、半形冒號(:)、字元at(@)、空格。

  • 標籤鍵不能以aliyun或acs:開頭。

  • 每個憑據最多可以設定20個標籤索引值對。

為單個憑據配置標籤

方式

操作

方式一:在憑據管理頁面配置標籤

  1. 登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊资源 > 凭据管理

  2. 單擊相應的憑據類型頁簽,選擇实例ID後,定位到目標憑據,單擊標籤列的image.png表徵圖。

  3. 單擊綁定,在編輯標籤對話方塊中輸入多個標籤鍵標籤值後,單擊確定,然後在變更提示對話方塊中單擊關閉

    您也可以在編輯標籤對話方塊中修改標籤值、批量解除綁定標籤。

方式二:在憑據詳情頁面配置標籤

  1. 登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊资源 > 凭据管理

  2. 單擊相應的憑據類型頁簽,選擇实例ID後,定位到目標憑據,單擊操作列的详情

  3. 在憑據詳情頁面,單擊标签後的image.png表徵圖。

  4. 編輯標籤對話方塊中輸入多個標籤鍵標籤值後,單擊確定,然後在變更提示對話方塊中單擊關閉

    您也可以在編輯標籤對話方塊中修改標籤值、批量解除綁定標籤。

為多個憑據大量設定標籤

  1. 登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊资源 > 凭据管理

  2. 單擊相應的憑據類型頁簽,選擇实例ID後,在憑據列表中勾選要操作的憑據。

    • 增加標籤:在憑據列表的最下方,單擊增加標籤,輸入多個標籤鍵標籤值後,單擊確認,然後在變更提示對話方塊中單擊關閉

    • 刪除標籤:在憑據列表的最下方,單擊刪除標籤,在批量解除綁定標籤對話方塊勾選要解除綁定的標籤,單擊解除綁定標籤,然後在變更提示對話方塊中單擊關閉