作為子賬號(hào),自助重置 API 密鑰需遵循 “先獲授權(quán)→禁用舊密鑰→刪除舊密鑰→新建密鑰→業(yè)務(wù)切換” 的標(biāo)準(zhǔn)流程(騰訊云無直接 “重置” 按鈕,因 SecretKey 僅創(chuàng)建時(shí)可見,無法直接修改)Tencent Cloud。以下是子賬號(hào)視角的完整操作手冊(cè),包含權(quán)限要求、詳細(xì)步驟、安全規(guī)范與故障排查。
一、核心前提:獲取自助管理密鑰權(quán)限
子賬號(hào)默認(rèn)無法自行管理 API 密鑰,必須由主賬號(hào)預(yù)先授予權(quán)限Tencent Cloud。請(qǐng)先聯(lián)系主賬號(hào)完成以下授權(quán):
主賬號(hào)需授予的權(quán)限策略
| 策略名稱 |
權(quán)限范圍 |
適用場景 |
| QcloudCollApiKeyManageAccess |
子賬號(hào)自助管理自身 API 密鑰(創(chuàng)建 / 禁用 / 刪除) |
必需,自助重置核心權(quán)限 |
| QcloudCDNReadOnlyAccess |
CDN 資源只讀訪問(含預(yù)熱任務(wù)查詢) |
業(yè)務(wù)必需,確保重置后仍能調(diào)用目標(biāo) API |
✅ 權(quán)限驗(yàn)證:子賬號(hào)登錄后,訪問 API 密鑰管理頁,若能看到 “新建密鑰” 按鈕且無權(quán)限報(bào)錯(cuò),說明授權(quán)成功 騰訊云。
二、自助重置完整操作步驟(子賬號(hào)視角)
步驟 1:登錄控制臺(tái)并進(jìn)入密鑰管理頁
- 用子賬號(hào)憑證登錄騰訊云控制臺(tái)
- 點(diǎn)擊右上角用戶頭像 → 選擇訪問管理(或直接訪問CAM 控制臺(tái))
- 左側(cè)導(dǎo)航欄選擇訪問密鑰 → API 密鑰管理(子賬號(hào)專屬密鑰管理入口)騰訊云
- 確認(rèn)頁面顯示的是當(dāng)前子賬號(hào)的密鑰列表(非主賬號(hào)密鑰)
步驟 2:禁用舊密鑰(安全優(yōu)先,避免誤刪導(dǎo)致業(yè)務(wù)中斷)
- 在密鑰列表中,找到待重置的密鑰,點(diǎn)擊操作列的禁用
- 彈出確認(rèn)框,勾選 “我已確認(rèn)禁用此 API 密鑰”,點(diǎn)擊確定
- 驗(yàn)證:密鑰狀態(tài)變?yōu)?span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-weight: 700; line-height: 24px; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">已禁用(此時(shí)使用舊密鑰的業(yè)務(wù)會(huì)中斷,需快速推進(jìn)后續(xù)步驟)
步驟 3:刪除舊密鑰(釋放密鑰額度,為新建做準(zhǔn)備)
- 對(duì)已禁用的密鑰,點(diǎn)擊操作列的刪除
- 二次確認(rèn):“API 密鑰刪除后無法恢復(fù),是否繼續(xù)?” → 點(diǎn)擊確定
- 限制說明:每個(gè)子賬號(hào)最多創(chuàng)建2 個(gè)密鑰(禁用 / 啟用狀態(tài)均計(jì)入額度),必須刪除舊密鑰才能新建Tencent Cloud
步驟 4:創(chuàng)建新 API 密鑰(核心操作,獲取新憑證)
- 點(diǎn)擊頁面左上角新建密鑰(藍(lán)色按鈕,權(quán)限足夠時(shí)才會(huì)顯示)
- 完成子賬號(hào)二次驗(yàn)證(根據(jù)主賬號(hào)安全設(shè)置,可能是短信 / 郵箱驗(yàn)證)
- 系統(tǒng)生成新的SecretId(如
AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******)和SecretKey(如Gu5t9xGARNpq86cd98joQYCN3*******),彈出保存窗口
- 立即保存(不可逆操作,關(guān)閉彈窗后無法再次查看 SecretKey):
- 復(fù)制 SecretId 和 SecretKey 到密碼管理器(如 1Password、LastPass)
- 點(diǎn)擊下載 CSV 文件,備份到本地安全目錄(建議加密存儲(chǔ))
- 點(diǎn)擊確定關(guān)閉窗口(完成新密鑰創(chuàng)建)
步驟 5:業(yè)務(wù)切換與舊密鑰清理(確保業(yè)務(wù)連續(xù)性)
- 先更新后停用:在所有使用舊密鑰的系統(tǒng)中配置新密鑰(如 CDN 預(yù)熱查詢腳本、運(yùn)維平臺(tái)、監(jiān)控工具)
- 測試新密鑰可用性(以 CDN 緩存預(yù)熱任務(wù)查詢?yōu)槔?
# 新密鑰測試腳本(子賬號(hào)視角)
import requests
import time
import hmac
import hashlib
import base64
secret_id = "新SecretId" # 替換為新生成的SecretId
secret_key = "新SecretKey" # 替換為新生成的SecretKey
timestamp = int(time.time())
nonce = 123456
params = {
"Action": "DescribeCdnRefreshTasks",
"SecretId": secret_id,
"Timestamp": timestamp,
"Nonce": nonce,
"SignatureMethod": "HmacSHA256",
"TaskType": "preload" # 僅查詢預(yù)熱任務(wù)
}
# 生成簽名(省略算法實(shí)現(xiàn),可參考騰訊云API文檔)
# ...
response = requests.get("https://cdn.api.qcloud.com/v2/index.php", params=params)
print(response.json())
- 驗(yàn)證結(jié)果:返回 200 狀態(tài)碼和任務(wù)列表,說明新密鑰權(quán)限正常
- 確認(rèn)業(yè)務(wù)正常后,徹底刪除舊密鑰(已禁用狀態(tài)可直接刪除),完成重置流程
三、重置后的關(guān)鍵驗(yàn)證與安全規(guī)范
1. 權(quán)限與密鑰有效性驗(yàn)證清單
| 驗(yàn)證項(xiàng) |
操作方法 |
預(yù)期結(jié)果 |
| 密鑰狀態(tài) |
查看 API 密鑰管理頁 |
新密鑰狀態(tài)為啟用 |
| CDN 權(quán)限 |
調(diào)用 DescribeCdnRefreshTasks API |
返回 200,包含預(yù)熱任務(wù)數(shù)據(jù) |
| 密鑰唯一性 |
檢查密鑰列表 |
僅存在當(dāng)前使用的新密鑰(無冗余密鑰) |
| 業(yè)務(wù)連通性 |
執(zhí)行日常業(yè)務(wù)操作 |
無 “鑒權(quán)失敗”“權(quán)限不足” 錯(cuò)誤 |
2. 子賬號(hào)密鑰安全管理最佳實(shí)踐
| 措施 |
操作要點(diǎn) |
風(fēng)險(xiǎn)規(guī)避 |
| 密鑰輪換 |
每 90 天執(zhí)行一次重置流程,記錄輪換日志 |
降低長期密鑰泄露風(fēng)險(xiǎn) |
| 最小權(quán)限 |
重置后確認(rèn)僅保留 CDN 只讀權(quán)限,無額外權(quán)限 |
限制密鑰泄露后的影響范圍 |
| 密鑰隔離 |
一個(gè)密鑰用于生產(chǎn),一個(gè)用于測試(如啟用雙密鑰) |
避免生產(chǎn) / 測試環(huán)境密鑰混用 |
| 操作審計(jì) |
定期查看 CAM 操作日志,監(jiān)控密鑰創(chuàng)建 / 刪除記錄 |
追溯操作行為,發(fā)現(xiàn)異常訪問 |
| 離職處理 |
主動(dòng)告知主賬號(hào)重置密鑰(或自行重置后移交) |
防止未授權(quán)訪問遺留風(fēng)險(xiǎn) |
四、常見問題與解決方案(子賬號(hào)視角)
1. 無法看到 “新建密鑰” 按鈕(權(quán)限不足)
- 原因:主賬號(hào)未授予
QcloudCollApiKeyManageAccess權(quán)限
- 解決:
- 聯(lián)系主賬號(hào)添加該權(quán)限策略
- 主賬號(hào)操作路徑:子賬號(hào)詳情頁 → 權(quán)限 → 添加權(quán)限 → 搜索并關(guān)聯(lián)
QcloudCollApiKeyManageAccess
- 刷新頁面后重試Tencent Cloud
2. 新建密鑰提示 “已達(dá)密鑰上限”
- 原因:子賬號(hào)已有 2 個(gè)密鑰(禁用 / 啟用狀態(tài)均計(jì)入)
- 解決:
- 檢查密鑰列表,找到未使用的冗余密鑰
- 先禁用再刪除冗余密鑰,釋放額度
- 重新嘗試新建密鑰Tencent Cloud
3. API 調(diào)用提示 “鑒權(quán)失敗”(重置后)
- 排查步驟:
- 核對(duì)新 SecretId/SecretKey 是否正確(無空格、拼寫錯(cuò)誤或大小寫錯(cuò)誤)
- 檢查密鑰狀態(tài)是否為啟用
- 確認(rèn)子賬號(hào)權(quán)限包含
QcloudCDNReadOnlyAccess
- 測試網(wǎng)絡(luò)連通性(CDN API 域名:cdn.api.qcloud.com)
- 檢查 API 請(qǐng)求簽名是否正確(可使用騰訊云 SDK 自動(dòng)生成簽名)
4. 子賬號(hào)無法登錄控制臺(tái)(重置過程中)
- 原因:可能是主賬號(hào)限制了子賬號(hào)的控制臺(tái)訪問權(quán)限
- 解決:
- 聯(lián)系主賬號(hào)確認(rèn)子賬號(hào)的控制臺(tái)訪問權(quán)限是否開啟
- 若僅需 API 調(diào)用,可通過主賬號(hào)協(xié)助重置密鑰(主賬號(hào)視角操作)
- 或使用 API 方式重置密鑰(需已掌握舊密鑰的調(diào)用權(quán)限)
五、快速操作清單(子賬號(hào)一鍵核對(duì))
✅ 登錄控制臺(tái) → 訪問密鑰 → API 密鑰管理
✅ 禁用舊密鑰 → 刪除舊密鑰 → 新建密鑰 → 保存 SecretId/SecretKey
✅ 更新業(yè)務(wù)系統(tǒng)密鑰配置 → 測試 CDN 預(yù)熱查詢 API
✅ 確認(rèn)業(yè)務(wù)正常 → 完成重置 → 記錄操作日志
✅ 配置 90 天密鑰輪換提醒(生產(chǎn)環(huán)境必需) |