5.1 腾讯云 CAM 与 CVM:账号体系到机型


5.1 腾讯云 CAM 与 CVM:账号体系到机型

本节摘要:腾讯云账号体系与阿里云高度同构:主账号(UIN)+ CAM 子用户 + 角色 + 策略。本节从账号注册、企业实名、CAM 子用户、SecretId/SecretKey 生成、CVM 实例选型一路讲到第一条 tccli 命令。学完本节,你能跑通腾讯云"账号到第一台虚机"的完整链路,并理解腾讯云与 AWS/阿里云在账号体系上的细微差异。

学习目标

阅读完本节,你应当能够:

  1. 完成腾讯云账号注册 + 实名认证:理解个人实名 vs 企业实名的差异。
  2. 创建 CAM 子用户并配 SecretId/SecretKey:理解"主账号 = 根账号、不应直接使用"的工程原因。
  3. 理解 CVM 实例规格族(标准 S、计算 C、内存 M、GPU 等)的定位差异。
  4. 用 tccli 启动一台 CVM 实例,并能用 SSH 密钥对登录。

一、为什么需要 CAM:直接用主账号的风险

腾讯云主账号(也叫"腾讯云账号"或"UIN")是账号体系下最高权限身份。所有资源的创建、删除、计费都由主账号承担

反例:某游戏公司 2020 年把主账号 SecretId/SecretKey 写到 CI/CD 脚本里,攻击者从 GitHub 公开仓库爬到,用脚本调 CVM API 在境外 Region 创建了 50 台高配 GPU 实例跑加密货币挖矿,3 天后被账单监控系统发现——3 天账单 18 万元

正解:每个工程师用独立的 CAM 子用户,调用 AssumeRole 拿 1 小时临时凭证。这是云上安全标准——腾讯云 CAM 与 AWS IAM、阿里云 RAM 高度同构。

二、核心原理:账号体系与 CVM 实例

2.1 腾讯云账号体系

概念 说明
主账号(UIN) 注册腾讯云时的身份,全账号最高权限,不可降级
CAM 子用户 主账号下创建的子账号,有独立 SecretId/SecretKey
CAM 角色 可被"扮演"的身份,扮演者拿到 1 小时临时凭证
CAM 策略 JSON 文档,定义"允许/拒绝"哪些操作的规则
用户组 把多个 CAM 子用户归类,统一授权

关键差异(vs AWS):腾讯云主账号默认开启 MFA 与操作审计——比 AWS 更严格,这是国内合规要求驱动的设计

2.2 实名认证差异

类型 适用场景 需要材料
个人实名 个人开发者、个人项目 身份证 + 微信/QQ 验证
企业实名 公司项目、政府项目 营业执照 + 法人身份证 + 对公账户打款验证
政府/事业单位实名 政务云项目 组织机构代码证 + 上级单位证明

关键工程差异:企业实名账号才能开金融专区、专属宿主机 CDH 与黑石物理服务器,个人实名账号没有这些入口。腾讯云侧有三条常被忽略的连带影响。一是计费与发票:企业实名可走月结后付费并开具专用发票,个人实名只能预付费且发票类型受限——长期跑批量的项目在这里会卡住现金流。二是 CAM 能力边界:企业实名才能用完整的协作者、消息接收人与集团账号管理,个人实名账号的子账号能力是被裁剪过的。三是备案主体:ICP 备案主体必须与实名主体一致,个人实名无法为企业域名备案,这是新手上线时最常见的卡点。国内合规项目必须用企业实名。

2.3 CVM 实例规格族

规格族 定位 典型场景
S 系列(标准型) CPU 与内存 1:2 / 1:4 平衡 Web 服务、API、中间件
C 系列(计算型) CPU 与内存 1:2 偏 CPU 批量计算、编码转码
M 系列(内存型) CPU 与内存 1:8 偏内存 内存数据库、Redis
GN 系列(GPU 型) NVIDIA Tesla / A100 机器学习训练、推理
SA 系列(SA5) 配 AMD EPYC Genoa 高性能计算
突发性能(T5) 基准 20% CPU,突发 100% 开发测试、低流量 Web

新手最划算:标准型 S5.SMALL2(1vCPU/2GB),月成本约 30-50 元;标准型 S5.SMALL4(1vCPU/4GB),月成本约 50-80 元。

三、工程实践要点:账号到 CVM 的完整链路

3.1 步骤 1:注册与实名

访问 https://cloud.tencent.com/register → 输入 QQ/微信/邮箱、手机号 → 同意服务协议 → 完成个人/企业实名 → 主账号创建完成

注意:企业实名通常 1-3 个工作日审核,项目启动前就要做

3.2 步骤 2:创建 CAM 子用户

# 安装 tccli(腾讯云 CLI) pip install tccli # 配置(用主账号 SecretId 一次性配) tccli configure # 输入:SecretId、SecretKey、Region(建议 ap-shanghai)、Output format(json) # 创建 CAM 子用户 tccli cam CreateUser --Name alice --Remark "Alice" --ConsoleLogin 1 # 给子用户配 API 密钥 tccli cam CreateApiKey --TargetUin 12345678 --Name alice-key # 输出:{"SecretId": "AKID********", "SecretKey": "********"}

3.3 步骤 3:给子用户配权限

{ "version": "2.0", "statement": [ { "effect": "allow", "action": [ "cvm:DescribeInstances", "cvm:RunInstances", "cvm:StartInstances", "cvm:StopInstances" ], "resource": "*" }, { "effect": "deny", "action": "cvm:TerminateInstances", "resource": "*" } ] }
# 创建自定义策略 tccli cam CreatePolicy \ --PolicyName CVMReadOnlyPlusStart \ --PolicyDocument file://policy.json # 把策略关联给子用户 tccli cam AttachUserPolicy \ --AttachPolicyName CVMReadOnlyPlusStart \ --PolicyType Custom \ --TargetUin 12345678

关键点:用 deny 显式拒绝危险操作(TerminateInstances、DeleteBucket)——比"靠 allow 白名单"更安全。

3.4 步骤 4:启动 CVM 实例

# 创建安全组(允许 22/80/443 入站) tccli cvm CreateSecurityGroup --GroupName web-sg --GroupDescription "Web tier" tccli cvm CreateSecurityGroupPolicies --SecurityGroupId sg-xxxxxx \ --SecurityGroupPolicySet '{"Ingress":[{"Protocol":"TCP","Port":"22","CidrBlock":"0.0.0.0/0","Action":"ACCEPT"}]}' # 创建 SSH 密钥对 tccli cvm CreateKeyPair --KeyName my-key # 启动 CVM(标准型 S5.SMALL2) tccli cvm RunInstances \ --Placement '{"Zone":"ap-shanghai-2"}' \ --ImageId img-xxxxxx \ --InstanceType "S5.SMALL2" \ --SecurityGroupIds '["sg-xxxxxx"]' \ --VirtualPrivateCloud '{"VpcId":"vpc-xxxxxx","SubnetId":"subnet-xxxxxx"}' \ --KeyIds '["my-key"]' \ --InternetAccessible '{"InternetChargeType":"TRAFFIC_POSTPAID_BY_HOUR","InternetMaxBandwidthOut":5}' \ --InstanceName my-test-server # 列出所有运行中的实例 tccli cvm DescribeInstances --StatusFilter '["RUNNING"]'

3.5 真实反例:国内合规的"踩坑清单"

反例 后果 正解
用了主账号 SecretId/SecretKey 泄露后无法追责 全部用 CAM 子用户
个人实名做企业项目 后期无法转企业实名 提前用企业实名
选海外 Region(ap-singapore)做国内业务 跨境合规风险 + 延迟高 国内业务选 ap-shanghai/ap-beijing
没用 VPC,用基础网络 基础网络已下线 全部用 VPC
没用安全组,开公网全端口 被扫描攻击 安全组只开必要端口
80/443 端口未备案就开 接入服务商警告甚至断网 先 ICP 备案再开 80/443

⚠️ 常见坑:国内 Region 选择影响计费、备案、合规

  • 上海/北京/广州 Region:需要 ICP 备案后才能用 80/443 端口。
  • 香港 Region:免备案,但跨境延迟 50-100ms。
  • 新加坡 Region:海外业务首选,国内访问延迟 80-150ms。

做国内 C 端业务:必须用大陆 Region + ICP 备案

💡 关键直觉:腾讯云的合规约束跟它的生态入口长在一起。海外项目可以"先跑起来再说",国内项目在注册账号时就要定好 Region、实名类型与备案主体,后期改的成本是初期的 3-5 倍。腾讯云侧有三条特殊性。一是备案类型更多:除网站备案外还有 App 备案与小程序备案,小程序业务必须单独备一次,不能靠网站备案顶替。二是备案授权码与 CVM 绑定:换机器要重新申请,且用于备案的实例通常要求包年包月并满足最低购买时长。三是微信生态:对接公众号与小程序的服务器若放在大陆 Region,域名必须已完成备案,否则回调请求直接失败——这条不报错在开发文档里,只在联调时暴露。结论是一样的:先定主体与业务形态,再建资源

本节小结

  • 腾讯云账号体系:主账号(UIN)+ CAM 子用户 + 角色 + 策略,结构与 AWS IAM / 阿里云 RAM 高度同构。
  • 实名认证类型:个人 vs 企业 vs 政企,企业项目必须用企业实名。
  • CVM 实例规格族:S 标准、C 计算、M 内存、GN GPU,S5.SMALL2 是新手最划算
  • 国内 Region 选择:国内 C 端业务用大陆 Region + ICP 备案,香港 Region 免备案但有跨境延迟。
  • tccli 是腾讯云的标准工作流,所有控制台操作都有 CLI 对应版本。
  • 80/443 端口必须先 ICP 备案再开——这是国内 C 端业务的硬约束。

下一节我们切到腾讯云"数据三件套"——COS + CDB + VPC 的工程搭配。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U