凭证管理

最近更新时间:2026-02-05 17:27:52

我的收藏
腾讯云命令行工具(TCCLI)支持多种方式进行凭证管理,并按照以下优先级获取凭证:实例角色 > 角色 > TKE OIDC > 临时密钥 > 永久密钥。

前提条件

已安装 TCCLI,具体步骤请参见 安装 TCCLI

实例角色

若实例已绑定角色,可直接通过实例角色完成认证,无需提供 secretId 和 secretKey。可通过添加 --use-cvm-role 参数以实例角色方式调用接口。相关概念可参考 腾讯云实例角色
# 使用实例角色的方式调用 DescribeZones 的接口
tccli cvm DescribeRegions --use-cvm-role

角色

关于角色的更多概念,请参见 腾讯云角色概述。使用角色方式获取凭证前,您需要在腾讯云访问管理控制台创建一个角色,具体操作请参见 腾讯云角色创建。在您拥有角色后,可通过以下两种方式调用:

方式1:直接用命令行传递参数(不推荐)

tccli cvm DescribeRegions --secretId ************ --secretKey ************ --role-arn ****** --role-session-name ******
说明:
secretId:云 API 密钥 SecretId,前往 API 密钥管理 获取。
secretKey:云 API 密钥 SecretKey,前往 API 密钥管理 获取。
role-arn:腾讯云角色的资源描述,可在 访问管理,点击角色名获取。
role-session-name:临时会话名称,可自定义配置,长度在2到128之间,可包含大小写字符,数字以及特殊字符 =,.@_-,正则表达式为:[\\w+=,.@_-]*

方式2:使用环境变量配置

参考 TCCLI 配置方法 中的环境变量配置说明,设置以下参数:
TENCENTCLOUD_SECRET_ID:云 API 密钥 SecretId,前往 API 密钥管理 获取。
TENCENTCLOUD_SECRET_KEY:云 API 密钥 SecretKey,前往 API 密钥管理 获取。
TENCENTCLOUD_ROLE_ARN:腾讯云角色的资源描述,可在访问管理,点击角色名获取。
TENCENTCLOUD_ROLE_SESSION_NAME:临时会话名称,可自定义配置,长度在2到128之间,可包含大小写字符,数字以及特殊字符 =,.@_-,正则表达式为[\\w+=,.@_-]*
环境变量生效后,直接执行以下简化命令即可,TCCLI 会自动从环境变量中读取所需的凭证和角色信息:
tccli cvm DescribeRegions
说明:
如果您在命令、环境变量都指定了相同的内容,TCCLI 执行的优先级为:命令 > 环境变量。

TKE OIDC

如需使用 TKE OIDC 功能,请先参考 Pod 使用 CAM 对数据库身份验证 开启 OIDC 资源访问控制。开启后,TKE 容器内使用 TCCLI 将自动通过 TKE OIDC 环境变量读取凭证信息。

临时密钥

临时密钥是由 安全凭证服务(Security Token Service,STS) 提供的临时访问凭证。临时密钥由 TmpSecretIdTmpSecretKeyToken 三部分组成,相较于永久密钥,临时密钥具备以下特点:
有效时间短(30min - 36h),不必暴露永久密钥,降低账号泄露风险。
在获取临时密钥时,支持通过传入 policy 参数设置临时权限来进一步约束使用者的权限范围。
临时密钥可通过调用 申请扮演角色临时访问凭证 接口来获取。拿到临时密钥后,可通过以下三种方式调用接口:

方式1:命令行直接传入临时密钥

tccli cvm DescribeRegions --secretId ************ --secretKey ************ --token ************
说明:
secretId:临时证书密钥 ID,可通过调用 申请扮演角色临时访问凭证 接口来获取。
secretKey:临时证书密钥 Key,获取方式同上。
token:临时会话令牌,获取方式同上。
方式2通过配置文件配置、方式3使用环境变量配置与 永久密钥 配置方法相同,详见下文。

永久密钥

方式 1:命令行直接传入密钥(不推荐)

tccli cvm DescribeRegions --secretId ************ --secretKey ************
说明:
secretId:云 API 密钥 SecretId,前往 API 密钥管理 获取。
secretKey:云 API 密钥 SecretKey,前往 API 密钥管理 获取。

方式 2:通过配置文件配置

执行 tccli configure 命令后,TCCLI 会在 ~/.tccli 目录下生成对应 default.credential 文件,用于记录的是用户的密钥信息。文件格式如下:
# default.credential的文件格式
{
"secretId": "**************",
"secretKey": "**************"
}
将密钥配置到以上 JSON 文件即可。执行以下命令进行验证,返回地域列表即成功。
tccli cvm DescribeZones
多账号的配置方式可参考 TCCLI 配置方法

方式 3:使用环境变量配置

参考 TCCLI 配置方法 中的环境变量配置说明,设置以下参数:
TENCENTCLOUD_SECRET_ID:云 API 密钥 SecretId,前往 API 密钥管理 获取。
TENCENTCLOUD_SECRET_KEY:云 API 密钥 SecretKey,前往 API 密钥管理 获取。
环境变量生效后,直接执行以下简化命令即可,TCCLI 会自动从环境变量中读取所需的凭证信息:
tccli cvm DescribeRegions
说明:
如果您在命令、配置文件和环境变量都指定了相同的内容,TCCLI 执行的优先级为:命令 > 配置文件 > 环境变量。