Add Tencent Cloud CSIP service#249
Conversation
|
本次变更将 Tencent Cloud CSIP 服务中的 fetch 超时机制从非标准的
整体设计合理,使用了 Web 标准的 |
|
本次 PR 将 |
|
本次PR为腾讯CSIP服务的 |
| export const READ_ONLY_ACTIONS = [ | ||
| 'DescribeAbnormalCallRecord', | ||
| 'DescribeAccessKeyAlarm', | ||
| 'DescribeAccessKeyAlarmDetail', |
There was a problem hiding this comment.
JS 新增的 DescribeAccessKeyRisk 在 proto 中缺少对应 RPC 定义
在 tencent-csip.js 的 READ_ONLY_ACTIONS 中新增了 DescribeAccessKeyRisk,但在 tencent_csip.proto 中并没有找到对应的 RPC 定义(proto 中仅有 DescribeAccessKeyAlarm、DescribeAccessKeyAlarmDetail、DescribeAccessKeyAsset、DescribeAccessKeyRiskDetail 等,唯独缺少 DescribeAccessKeyRisk)。这会导致当 read-only adapter 尝试通过 gRPC 调用该接口时,因 proto service 中不存在对应方法而失败。
Problem code:
Changed code at services/tencent__csip/src/tencent-csip.js:15
Recommendation:
请在 tencent_csip.proto 的 Tencent_CSIP service 中补充缺失的 RPC 定义:rpc DescribeAccessKeyRisk(TencentCloudRequest) returns (TencentCloudResponse) {}。添加位置建议放在 DescribeAccessKeyAsset 与 DescribeAccessKeyRiskDetail 之间,以保持与 JS 列表一致的字母顺序。
Suggested diff:
--- a/services/tencent__csip/proto/tencent_csip.proto
+++ b/services/tencent__csip/proto/tencent_csip.proto
@@ -24,6 +24,7 @@ service Tencent_CSIP {
rpc DescribeAccessKeyAlarmDetail(TencentCloudRequest) returns (TencentCloudResponse) {}
rpc DescribeAccessKeyAsset(TencentCloudRequest) returns (TencentCloudResponse) {}
+ rpc DescribeAccessKeyRisk(TencentCloudRequest) returns (TencentCloudResponse) {}
rpc DescribeAccessKeyRiskDetail(TencentCloudRequest) returns (TencentCloudResponse) {}
rpc DescribeAccessKeyUserDetail(TencentCloudRequest) returns (TencentCloudResponse) {}
Summary
csipservice, defaulting to version2022-11-21and endpointhttps://csip.tencentcloudapi.com.Describe*actions for alerts, assets, risk center, access key risk, COS alarms, skill scan result, and multi-account queries.InvokeReadOnlyActionhelper that only allowsDescribe*actions.Closes #243
Tests
npm run validate -- --service-dir tencent__csipnpm test -- --service-dir tencent__csipnpm run import:checknpm run pack:checkLive verification evidence (redacted)
Secrets, signatures, and real asset identifiers are masked. Request path, method, headers, status code, and response structure are kept visible.
联调证据:Tencent CSIP DescribeCSIPRiskStatistics 跑通
Request
POST https://csip.tencentcloudapi.com
Authorization: TC3-HMAC-SHA256 Credential=AKIDgLMJ/2026-06-25/csip/tc3_request, SignedHeaders=content-type;host, Signature=**
Content-Type: application/json; charset=utf-8
Host: csip.tencentcloudapi.com
X-TC-Action: DescribeCSIPRiskStatistics
X-TC-Version: 2022-11-21
X-TC-Timestamp: 1782413979
X-TC-Region: ap-guangzhou
{}
Response HTTP/1.1 200 OK
{
"Response": {
"Data": {
"PortTotal": 0,
"PortHighLevel": 0,
"VULTotal": 0,
"VULHighLevel": 0,
"WeakPasswordTotal": 0,
"WeakPasswordHighLevel": 0,
"WebsiteTotal": 0,
"WebsiteHighLevel": 0,
"CFGTotal": 0,
"CFGHighLevel": 0,
"HostBaseLineRiskTotal": 0,
"HostBaseLineRiskHighLevel": 0,
"PodBaseLineRiskTotal": 0,
"PodBaseLineRiskHighLevel": 0,
"LastScanTime": "",
"ServerTotal": 0,
"ServerHighLevel": 0
},
"RequestId": "dbb0d0e0-9069-4509-98a3-097ee02bf13c"
}
}
联调证据:Tencent CSIP DescribePublicIpAssets 跑通
Request
POST https://csip.tencentcloudapi.com
Authorization: TC3-HMAC-SHA256 Credential=AKIDgLMJ/2026-06-25/csip/tc3_request, SignedHeaders=content-type;host, Signature=**
Content-Type: application/json; charset=utf-8
Host: csip.tencentcloudapi.com
X-TC-Action: DescribePublicIpAssets
X-TC-Version: 2022-11-21
X-TC-Timestamp: 1782413979
X-TC-Region: ap-guangzhou
{}
Response HTTP/1.1 200 OK
{
"Response": {
"AppIdList": [],
"AssetLocationList": [],
"AssetTypeList": [],
"Data": [],
"DefenseStatusList": [],
"IpTypeList": [],
"RegionList": [],
"RequestId": "6e1ae5f2-b210-45c5-bf1e-62e1a6c36884",
"Total": 0
}
}
Review follow-up
Addressed the adapter review feedback in follow-up commits:
Validation run for
tencent__csip:npm test -- --service-dir tencent__csipnpm run validate -- --service-dir tencent__csipgit diff --checkAPI documentation coverage follow-up:
npm test -- --service-dir tencent__csip,npm run validate -- --service-dir tencent__csip, andgit diff --check.