惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy & Cybersecurity Law Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
V
V2EX
GbyAI
GbyAI
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
博客园 - 司徒正美
雷峰网
雷峰网
F
Full Disclosure
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
M
MIT News - Artificial intelligence
V
Visual Studio Blog
H
Help Net Security
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
博客园_首页
O
OpenAI News
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Attack and Defense Labs
Attack and Defense Labs
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
罗磊的独立博客
P
Palo Alto Networks Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 聂微东
Last Week in AI
Last Week in AI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
Lohrmann on Cybersecurity
N
News and Events Feed by Topic
有赞技术团队
有赞技术团队
The Register - Security
The Register - Security
S
Security @ Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
酷 壳 – CoolShell
酷 壳 – CoolShell
AWS News Blog
AWS News Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 最新话题
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Threat Research - Cisco Blogs

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
使用访问管理 CAM 增强腾讯云账号安全性 - 少数派
2019-12-29 · via 少数派

对于公有云平台的用户来说,账号意味着现金(余额)、业务和数据(产品实例),是可以访问、配置所有云服务的「金钥匙」。一旦云平台账号泄漏,企业或开发者就会面临巨大的资产安全、业务安全和数据安全风险。为了保护账户安全,我们就需要尽可能缩小所使用的账号权限、减少主账号使用场景。对于腾讯云用户来说,访问管理 CAM 就能满足我们的这一需求。

在访问管理 CAM 中,最重要的概念就是「策略」。策略是一系列具体权限的集合,一般是云产品自动生成的,也可以由用户创建。策略可以只包含某个特定产品的特定部分,比如 QcloudCOSGetServiceAccess 代表对象存储 COS 中获取存储桶列表的权限;可以包含整个产品,比如 QcloudCDBFullAccess 就表示使用云数据库 CDB 所需要的完整权限;还可以覆盖整个账号,比如 QCloudResourceFullAccess 就是所有云资源的「通行证」,AdministratorAccess 则是几乎等同于主账户权限的最高权限策略。关于自定义策略的规则,详见 文档

还有一个重要的概念是「授权粒度」。云产品预设的权限策略都是以 API 或服务为单位的,因此对于「服务级」(某个云产品的访问权限)和「操作级」(某个或某类 API 的使用权限)授权,均可以通过预设策略进行配置。但大部分云产品还支持以某个资源(COS 存储桶、CVM 主机等)为粒度的「资源级」授权。这类权限中有一部分可以在对应产品的控制台进行设置,其余都需要通过自行创建自定义策略来实现。关于不同云产品的授权粒度,详见 文档

我们还可以先为「用户组」配置策略,再将用户添加到用户组。这样一来,组内用户就可以拥有组策略所赋予的权限。对用户组权限进行的调整也会直接应用到组内的所有用户。

与其他云产品使用不同的是,在 CAM 中,很多敏感操作都需要进行手机号验证,比如创建新的子用户、查看 SecretKey 等。

此外,CAM 的实际使用中有三种「用户身份」:子用户、消息接收人、协作者,另有「角色」的概念。接下来我们来了解这四个概念。

子用户:主账户的下属

「子用户」是主账号的「附庸」,与主账号属于从属关系。创建子用户需要赋予唯一的、不可修改的用户名;子用户可以通过控制台(含小程序,下同)登陆或者通过 API 访问。根据腾讯云规定,子用户需要验证手机号,但目前子用户登录后的手机号验证步骤仍然可以跳过。这两种访问方式可以通过 CAM 随时开启或停用。主账户可以通过配置权限策略来为其授权。

在腾讯云中,主账号可以通过「联合账号」功能绑定企业微信,这样就可以直接把企业微信的成员添加为子用户。除此之外,也可以通过「用户创建」页面使用微信邀请,或者点击「自定义创建」后再选择「可访问资源并接收消息」,就可以进入创建界面。

以子用户身份登录需要主账户 ID,大体上有两种方式,其中最快速的方式是通过访问对应的登录地址:

  • 对于通过企业微信添加的子用户,登陆页面地址为:https://cloud.tencent.com/login/subAccount/<主账户ID>?type=wechatCorp
  • 对其他子用户来说,登陆页面地址为:https://cloud.tencent.com/login/subAccount/<主账户ID>?type=subAccount

当然,省略 ?type= 参数(和主账户 ID)也可以进入子用户登陆页面,只是需要手动选择账户类型(并输入主账户 ID)。

另一种方式则是通过主登录入口 https://cloud.tencent.com/login,选择页面下方的「子用户登录」进入登陆页面。

更多关于子用户的信息详见 文档

消息接收人

「消息接收人」是一类特别的子用户:它不具备任何访问云产品的权限,也不需要配置策略,只能通过短信、邮件、微信等渠道接收云产品的状态消息。在「用户创建」界面点击「自定义创建」后再选择「仅用于接收消息」,在下一步中输入其手机、邮箱等信息,就可以完成创建。这类用户和增强账号安全性关系不大。

更多关于消息接收人的信息详见 文档

协作者:独立的合作伙伴

「协作者」的权限体系与子用户几乎没有分别,但「协作者」不再是主账户的附属,登陆方式也有所不同。协作者必须是已有的腾讯云账户,只需知道 ID 即可添加。

登陆腾讯云账户时,如果已经被其他账户添加为协作者,就会进入用户身份选择界面。通过用户选择界面,就可以自由选择登陆到主账户还是协作者账户。通过控制台菜单中的「切换用户身份」,也可以在协作者和/或主账户间随时切换,而不需要重新登录。「腾讯云助手」小程序也有类似的机制。

更多关于协作者的信息详见 文档

角色:用户的「分身」

「角色」是腾讯云 CAM 中的特殊概念。角色也具有权限配置,不过必须通过「承载者」使用。角色的管理是通过「角色」页面进行的。

「服务角色」的承载者是腾讯云产品本身,即通过这一产品(通常是自动地)进行的某些操作会以已经配置的角色为身份进行。

「用户角色」的承载者就是(子)用户(含协作者),是指允许用户通过 API 申请使用其具有的角色进行某些操作。一般来说,一些临时权限更适合使用「角色」来提供,以免频繁调整子账户或协作者的权限。用户身份也可以用于创建临时密钥对供他人操作。

角色还可以通过「身份提供商」授权给非腾讯云平台的用户,这一部分详见 文档

访问密钥

「访问密钥」是腾讯云 API 鉴权的基础。密钥对是通过 API 使用云产品的身份凭证,拥有等同于所属用户的完整权限。因此,主账户访问密钥泄漏的影响丝毫不亚于账号密码泄漏(实际上,最容易泄漏的就是密钥对)。

腾讯云访问密钥对由 SecretID 和 SecretKey 组成,上限为 2 对。想要查看本账户的访问密钥,首先需要确保该账户拥有相关权限,然后在 CAM 控制台的「访问密钥」板块查看。操作或查看 SecretKey 则需要经过手机号验证。

拥有相关 CAM 权限的账号还可以操作子用户的访问密钥。只需要通过「用户管理」页面进入用户详情页,在「API 密钥」板块即可查询。

为降低访问密钥泄漏风险,建议按照一定频次更新密钥对。为了便于更新、避免遗漏,建议将密钥对在单独文件中保存为常量,或者保存为环境变量。更新密钥对的基本流程是:

  1. 创建一对新的访问密钥;
  2. 将代码中的访问密钥逐渐替换成新密钥;
  3. 全部替换完毕后,禁用旧密钥;
  4. 观察是否有访问异常,确保所有密钥都被更新;
  5. 删除旧密钥。

实战一:网站后台上传到 COS

我们现在需要在某个网站的后台使用 API 将文件上传到腾讯云 COS 存储桶中的 upload 目录。如果使用了主账户,则一旦源码发生泄漏,整个账号下的资源都会受到牵连。因此,我们应当创建一个子用户(也可以选择「协作者」,配置方式几乎一致),专用于这一场景。

我们首先创建一个子用户 web-upload,在「访问方式」中勾选「编程访问」。因为只需要特定存储桶的权限,我们无需进行 CAM 策略配置,只需要在 COS 访问管理中进行授权。我们需要记录这一子账号的 ID,并且获取其访问密钥填入网站后台。

接下来,我们进入 COS 控制台,并定位到需要上传的存储桶的详情页面。在「Policy 权限设置」一栏点击「添加策略」,添加子用户,并且在「资源路径」中填入 upload/** 是路径通配符),操作中添加「写操作」。如果了解上传所用的接口类型,也可以只添加特定接口以最小化权限。如果该网站服务器有固定 IP,可以将 IP 添加到「条件」中,来阻止从其他服务器访问;如果是腾讯云主机,也可以将 VPC ID 添加到条件。

实战二:为其他主账户授权 COS 部分权限

假设现在,我们需要将上一节中的网站的文件上传部分外包。外包商依旧不能读取存储桶的上传数据和其他数据,但是他们设计了日志系统用于检查策略。日志存放在 log 目录下,外包商拥有完整权限;此外,他们也希望可以通过控制台访问资源。

首先,我们需要从外包商处索要其主账户 ID。在 COS 控制台的「Policy 权限设置」部分,我们需要新建两个策略:路径为 upload/*,授权「写操作」;路径为 log/*,授权「全部操作」。对于绑定的用户,我们选择类型为「根用户」,填入对方的主账户 ID。然后,我们需要将自己的主账户 ID、对应存储桶的 ID(形式为 <存储桶名称>-<APPID>)和地域提供给外包商。

接下来切换到外包商视角,假设需要把这一权限交由某个子账户进行访问,就需要先创建一个自定义策略,姑且命名为 OutsourceCOSFullAccess,策略描述如下:

{
  "version": "2.0",
  "statement": [
    {
      "action": "cos:*",
      "effect": "allow",
      "resource": "qcs::cos::uid/<客户的主账户ID>:<存储桶ID>/*"
    }
  ]
}

然后将其绑定到子账户即可。现在我们已经可以通过 API 访问这一存储桶了。

不论是对于子账户还是主账户,我们都需要相关配置才能在控制台正确访问这两个目录。进入 COS 控制台的「访问路径列表」页面,根据存储桶 ID 和地域添加两条访问路径。其中,访问路径应该分别为 <存储桶ID>/upload/<存储桶ID>/log/。之后,我们就可以通过「访问路径列表」页面直达所需要管理的两个目录。

实战三:定制财务账户

假设一个公司的所有云服务资产都由专门的财务负责,现在需要为它创建一个专门的账户。

我们首先新建一个子账户 finance。在 CAM 授权配置中,通过赋予 QcloudFinanceFullAccess 策略来赋予财务权限。这样一来,这个账户就具备了续费与支付订单的权限。

现有一个负责管理云数据库资源的子用户,已经被配置 QcloudCDBFullAccess 策略。它可以创建新的实例订单,但不能为这一订单付款,所有的预付费订单都需要由 finance 账户管理支付。其余云产品的购买流程也是类似的。

实战四:为 Serverless 开发配置组

Serverless 主要是由 PaaS 服务中的 BaaS 与 FaaS 两类服务组成,用于取代传统的后端架构。假设现在某个企业采用云数据库 CDB 与缓存服务 Redis 用于持久化数据并缓存查询,并且使用云函数 SCF 与 API 网关提供服务。该企业开辟了一个 VPC 专门用于 Serverless 开发。现在我们为组内每个成员赋予同等的完整权限。

新建一个自定义策略,用于赋予该 VPC 及其中的 CDB 与 Redis 权限,命名为 ServerlessVPCFullAccess,策略描述如下:

{
  "version": "2.0",
  "statement": [
    {
      "action": "name/vpc:*",
      "resource": "*",
      "effect": "allow",
      "condition": {
        "string_equal_if_exist": {
          "vpc:vpc": [
             "<VPC ID>"
           ],
           "vpc:accepter_vpc": [
              "<VPC ID>"
            ],
            "vpc:requester_vpc": [
               "<VPC ID>"
            ]
          }
        }
      },
      {
        "action": [
          "cdb:*",
          "redis:*"
        ],
        "resource": "qcs::vpc:<服务地域>:uin/<主账户ID>:vpc/<VPC ID>",
        "effect": "allow"
      }
    }
  ]
}

新建一个自定义策略,用于赋予 API 网关的权限,命名为 ServerlessApiGwFullAccess,策略描述如下:

{
  "version": "2.0",
  "statement": [
    {
      "action": "name/apigw:*",
      "resource": "qcs::apigw:<服务地域>:uin/<主账户ID>:service/<API服务ID>",
      "effect": "allow"
    }
  ]
}

新建一个用户组,绑定 ServerlessVPCFullAccessServerlessApiGwFullAccessQcloudSCFFullAccess 这三个策略。随后,创建 Serverless 开发成员的子账号,并且将其添加到这一用户组,即可使其获得对应的权限。

在云函数配置页面中,打开「内网访问」,并且绑定到 VPC,即可在云函数内访问相关资源。开发人员在开发阶段可以使用自己的 API 密钥进行调试。

写在最后

使用访问管理 CAM 进行权限细分可以降低账号密码或访问密钥泄漏带来的风险,也能一定程度上避免不符合业务逻辑的误操作。然而,对于一部分恶意的内部行为(比如删库、盗窃代码等等),仅仅靠权限体系是难以满足的。管理人员在合理分配开发权限的同时,也需要加强管理,来防止恶意破坏的发生。

本教程主要针对腾讯云平台,其他平台如有类似的机制,可以如法炮制。腾讯云访问管理 CAM 的完整文档请戳 此处