本文将指导您完成凭据管理系统(SSM)的基础操作流程,帮助您从零开始快速创建一个凭据,并通过 SDK 或控制台完成凭据的读取与轮换,最终实现对敏感信息的安全管理。
操作场景
企业在开发和运维过程中,通常需要将数据库密码、API 密钥等敏感信息以明文形式存放在代码或配置文件中,存在泄露风险。凭据管理系统(SSM)提供集中式的凭据存储、版本管理和轮换能力,帮助您消除代码中的硬编码密钥,降低凭据泄露风险。
本文面向初次使用 SSM 的开发者或运维人员,适用于以下场景:
需要安全存储数据库账号密码、API 密钥等敏感配置项。
希望通过统一入口管理多个应用的凭据,并支持版本化追溯。
需要定期轮换凭据,并自动同步更新到应用端。
前提条件
已为当前账号或子账号授予 SSM 相关访问权限。
如需通过 SDK 访问凭据,请提前获取账号的 SecretId 和 SecretKey。
操作步骤
步骤1:创建凭据
1. 登录 凭据管理系统控制台。
2. 在左侧导航栏,选择凭据管理系统 > 自定义凭据。
3. 在页面右上角,单击新建,进入新建凭据页面。
4. 参考创建自定义凭据文档,新建凭据。
步骤2:获取凭据内容
凭据创建成功后,您可以通过控制台或 SDK 两种方式获取凭据内容。
通过控制台查看凭据内容
1. 在自定义凭据列表中,单击目标凭据的名称,进入凭据详情页。
2. 在凭据内容选项卡,选择需要查看的版本号,单击查看,显示凭据值。
3. 输入二次验证信息后,即可查看该版本的明文凭据内容。
通过 SDK 读取凭据内容
示例代码:
import osimport jsonimport typesfrom tencentcloud.common import credentialfrom tencentcloud.common.profile.client_profile import ClientProfilefrom tencentcloud.common.profile.http_profile import HttpProfilefrom tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKExceptionfrom tencentcloud.ssm.v20190923 import ssm_client, modelstry:# 密钥信息从环境变量读取,需要提前在环境变量中设置 TENCENTCLOUD_SECRET_ID 和 TENCENTCLOUD_SECRET_KEY# 使用环境变量方式可以避免密钥硬编码在代码中,提高安全性# 生产环境建议使用更安全的密钥管理方案,如密钥管理系统(KMS)、容器密钥注入等# 请参见:https://cloud.tencent.com/document/product/1278/85305# 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取cred = credential.Credential(os.getenv("TENCENTCLOUD_SECRET_ID"), os.getenv("TENCENTCLOUD_SECRET_KEY"))# 使用临时密钥示例# cred = credential.Credential("SecretId", "SecretKey", "Token")# 实例化一个http选项,可选的,没有特殊需求可以跳过httpProfile = HttpProfile()httpProfile.endpoint = "ssm.tencentcloudapi.com"# 实例化一个client选项,可选的,没有特殊需求可以跳过clientProfile = ClientProfile()clientProfile.httpProfile = httpProfile# 实例化要请求产品的client对象,clientProfile是可选的client = ssm_client.SsmClient(cred, "ap-beijing", clientProfile)# 实例化一个请求对象,每个接口都会对应一个request对象req = models.GetSecretValueRequest()params = {"SecretName": "MyAppDatabaseSecret", # 替换为您的凭据名称"VersionId": "SSM_Current" # 指定具体版本号}req.from_json_string(json.dumps(params))# 返回的resp是一个GetSecretValueResponse的实例,与请求对象对应resp = client.GetSecretValue(req)# 输出json格式的字符串回包print(resp.to_json_string())except TencentCloudSDKException as err:print(err)
步骤3:管理凭据版本
SSM 支持对凭据进行版本化管理,每次更新凭据内容将生成新版本,历史版本仍可查询。
新增凭据版本
1. 在凭据详情页,参考凭据版本管理文档,新增凭据版本。
2. 新版本创建成功后,凭据详情中将出现新的版本记录,旧版本保留不变,可继续查询。
说明:
一个凭据下最多可保留10个版本,超出后需手动删除旧版本。
步骤4:轮换凭据(数据库凭据)
对于数据库凭据,SSM 支持配置自动轮换策略,定期更新凭据内容,并自动同步到关联的数据库实例,无需人工干预。
1. 登录 凭据管理系统控制台。
2. 在左侧导航栏,选择凭据管理系统 > 数据库凭据。
3. 在数据库凭据页,单击目标数据库凭据名称。
4. 在数据库凭据详情页,参考数据库凭据轮转文档,设置轮转策略。
5. 自动轮换配置保存成功后,SSM 将按照设定周期在后台自动更新凭据内容。
相关操作
删除自定义凭据:如需下线某个凭据,请先将其置为停用状态,再执行删除操作,删除后无法恢复。
标签管理:为凭据添加标签,实现多维度的资产分类与成本归属管理。