腾讯云命令行工具(TCCLI)支持多种方式进行凭证管理,并按照以下优先级获取凭证:实例角色 > 角色 > TKE OIDC > 临时密钥 > 永久密钥。
前提条件
实例角色
若实例已绑定角色,可直接通过实例角色完成认证,无需提供 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:使用环境变量配置
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) 提供的临时访问凭证。临时密钥由
TmpSecretId、TmpSecretKey 和 Token 三部分组成,相较于永久密钥,临时密钥具备以下特点:有效时间短(30min - 36h),不必暴露永久密钥,降低账号泄露风险。
在获取临时密钥时,支持通过传入 policy 参数设置临时权限来进一步约束使用者的权限范围。
方式1:命令行直接传入临时密钥
tccli cvm DescribeRegions --secretId ************ --secretKey ************ --token ************
说明:
secretId:临时证书密钥 ID,可通过调用 申请扮演角色临时访问凭证 接口来获取。
secretKey:临时证书密钥 Key,获取方式同上。
token:临时会话令牌,获取方式同上。
永久密钥
方式 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
方式 3:使用环境变量配置
TENCENTCLOUD_SECRET_ID:云 API 密钥 SecretId,前往 API 密钥管理 获取。
TENCENTCLOUD_SECRET_KEY:云 API 密钥 SecretKey,前往 API 密钥管理 获取。
环境变量生效后,直接执行以下简化命令即可,TCCLI 会自动从环境变量中读取所需的凭证信息:
tccli cvm DescribeRegions
说明:
如果您在命令、配置文件和环境变量都指定了相同的内容,TCCLI 执行的优先级为:命令 > 配置文件 > 环境变量。