什么是角色账户?
角色账户是与组织中的特定角色(即一组员工或自动化系统)绑定,而不是与个人绑定的账户。它们通常用于自动执行任务并简化数据流。
例如,如果您的人力资源系统需要与薪资系统通信,可能会设置一个“hr”用户来自动执行凭证配置。然后,您可以查看日志,了解“hr”角色账户何时访问 Payroll 系统,从而更清晰地了解访问模式。此外,您知道由“hr”引起的流量并非个人用户流量,因此在扫描异常登录行为时,可以将其过滤掉。这既能为工作流程节省时间,也能提升安全性。
不过,也有一些缺点。当您开始在需要身份标识的系统中不当使用角色账户时,就会出现问题。多个员工共用一个角色账户,作为供应商的多人共用登录账号(例如vendor-name@mystartup.com),在云托管的 Linux 主机上使用“ubuntu”用户,或在我们的 Windows 服务器上使用“Administrator”账户,都是使用角色账户且不符合最佳实践的示例。这些系统都非常重视使用唯一身份,共享角色账户会削弱安全性。
一些角色账户示例
在这些系统中使用角色账户时,就无法分离流量。因此,访问日志会变得混乱不清,缺乏透明度。
举个例子:
日志显示,用户“ubuntu”于 04:32:15 登录并执行了 rm -rf */command 命令。但是,由于他们使用的是共享角色账户,您无法了解究竟是哪位工程师实际执行了该命令!
另一个示例:
您所有的客户代表都使用“vendor-name@mystartup.com”登录托管 CRM(客户关系管理系统),因为只使用一个账户便宜得多,而且还能让团队内部拥有更高的透明度。不过,无法看到是谁做了什么,只能看到操作已执行。
这些只是潜在的管理和问责问题。滥用角色账户带来的真正危险在于安全性被削弱。
使用这类共享角色账户时,每当有人离开团队,都需要轮换凭据,并将新的凭据重新分发给所有需要访问权限的人员。这是一个劳动密集型的手动流程,容易出错。
常见误区
虽然可以通过良好的安全实践并使用独立资产访问共享角色账户来缓解相关问题,但归根结底,这仍然是在模糊身份。为“ec2-user”和“Administrator”账户设置唯一密钥或证书,以授予对角色账户的个人访问权限,这样做更好,但仍然只是部分解决方案。
信任员工和同事,是任何安全体系中的重要一环。然而,每当为团队新增一名成员时,也就等于为该成员可访问的资源增加了多个攻击向量。使用角色账户时,所有这些攻击向量都会集中到同一个目标上,因此攻击者现在有多种方式可以攻击同一组凭证。
此外,这也会在攻击得逞时限制补救选项。不能直接停用该角色账户,否则整个团队的访问权限都会被关闭。
另一个问题是,团队成员离开组织时会带来风险。当销售实习生结束实习后,仍然可以访问整个 CRM 时,问题就不只是带走自己的客户联系人名单,而是带走所有人的客户联系人名单。如果首席工程师离开团队,他们个人笔记本电脑上仍然保留着您的“ubuntu”用户角色账户的私钥。如果该离职员工 去竞争对手那里工作,他们就可能在不被发现的情况下持续访问您的基础设施。
正确的前进方向
幸运的是,只要为每位访问您工具的人员设置专属身份,这些问题都能得到解决。您的日志将变得更清晰,您也能更明确地了解谁有权访问系统、谁无权访问系统。
授予和撤销权限变得简单,也便于审计。此外,CEO 和安全团队也能睡得更安稳,因为公司外部人员无法在系统中肆意破坏。
传统上,为避免使用角色账户,必须在每个想要使用的系统上都拥有唯一身份。因此,您想要登录的每台主机以及想要访问的每个供应商,都需要为每位员工分别创建唯一的账户。不过,这只会增加入职/离职流程的工作量,而且很容易被遗忘。
这正是身份管理解决方案派上用场的地方。通过建立一个所有其他系统都能集成的中央身份源,只需一键即可授予或撤销权限。结合 OAuth 和 SAML 等协议,以及 LDAP 和 AD 等工具,您可以在多个平台上获得全面的身份统一管理。您可以自行构建,也可以使用供应商提供的解决方案,并为团队中的每个人赋予各自的身份,让每个人都能各展所长。
在 Foxpass,我们通过让您轻松维护独立的用户账户,帮助您落实安全和运营最佳实践。我们甚至可以通过与身份提供商(例如 Google、Office365、Okta、OneLogin 或 Bitium)同步,自动创建和删除账户。我们还提供临时访问功能,可在设定时间后自动撤销访问权限。此外,我们的云托管服务器让您无需自己搭建和维护 LDAP 或 RADIUS 服务器。
想亲自体验一下 Foxpass 的轻松便捷与高效吗?还在等什么?立即开始 30 天免费试用:






