文档中心>语音合成>在线 SDK 文档>临时密钥生成及使用指引

临时密钥生成及使用指引

最近更新时间:2026-05-21 12:01:04

我的收藏

临时密钥简介

腾讯云访问管理 CAM 服务会生成临时密钥。用户在服务器端使用腾讯云 API 发送请求,调用 CAM 获取联合身份临时访问凭证接口,来获取临时密钥。然后返回临时密钥给客户端 App。

临时密钥获取

通过 STS 云 API 获取临时密钥,请求参数请参见 获取联合身份临时访问凭证。Policy 参数说明如下:
输入参数
参考示例
参数说明
Policy

{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": ["name/tts:*"],
"resource": "*",
}
]
}
描述策略语法版本 version 为“2.0”。
描述声明产生的结果 effect 是“允许”。
描述允许的操作 action 为["name/tts:*"],更多接口请参见支持 CAM 的语音合成业务接口
描述授权的具体数据 resource,授予操作 action 的所有资源的操作权限。
在输入参数中选择或输入参考值后点击发起请求,可获得 TmpSecretId、TmpSecretKey、Token。


生成临时密钥示例

安装 Python SDK:Tencent Cloud SDK 3.0 for Python
Python 示例代码:

# -*- coding: utf-8 -*-

import os
import json
import types
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.sts.v20180813 import sts_client, models
from urllib.parse import quote

def url_encode(text):
return quote(text)
try:
# 实例化一个认证对象,入参需要传入腾讯云账户 SecretIdSecretKey,此处还需注意密钥对的保密
# 代码泄露可能会导致 SecretIdSecretKey 泄露,并威胁账号下所有资源的安全性
# 以下代码示例仅供参考,建议采用更安全的方式来使用密钥
# 请参见:https://cloud.tencent.com/document/product/1278/85305
# 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
cred = credential.Credential("", "")
# 使用临时密钥示例
# cred = credential.Credential("SecretId", "SecretKey", "Token")
# 实例化一个http选项,可选的,没有特殊需求可以跳过
httpProfile = HttpProfile()
httpProfile.endpoint = "sts.tencentcloudapi.com"

# 实例化一个client选项,可选的,没有特殊需求可以跳过
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
# 实例化要请求产品的client对象,clientProfile是可选的

policy = {
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": ["name/tts:*"],
"resource": "*",
}
]
}
policy_json = json.dumps(policy, ensure_ascii=False)

# 对 JSON 字符串进行 URL 编码
encoded_policy = quote(policy_json)
client = sts_client.StsClient(cred, "ap-beijing", clientProfile)

# 实例化一个请求对象,每个接口都会对应一个request对象
req = models.GetFederationTokenRequest()
params = {
"Name": "lsdfsf",
"Policy": encoded_policy,
"DurationSeconds": 3600*10
}
req.from_json_string(json.dumps(params))

# 返回的resp是一个GetFederationTokenResponse的实例,与请求对象对应
resp = client.GetFederationToken(req)
# 输出json格式的字符串回包
print(resp.to_json_string())

except TencentCloudSDKException as err:
print(err)
其他语言的示例代码可以参考云 API 3.0,云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。