通过 SSM Agent 限制对根级别命令的访问 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

通过 SSM Agent 限制对根级别命令的访问

Amazon Systems Manager Agent (SSM Agent) 在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上使用根权限 (Linux) 或系统权限 (Windows Server) 运行。由于存在最高级别的系统访问权限,有权向 SSM Agent 发送命令的任何可信实例均具有根或系统权限。(在 Amazon 中,可以在 Amazon 中执行操作并访问资源的可信实体称为委托人。委托人可以是 Amazon Web Services 账户 根用户、Amazon Identity and Access Management (IAM) 用户或角色。)

主体需要此访问级别才能向 SSM Agent 发送授权的 Systems Manager 命令,主体还可以利用 SSM Agent 中的任何潜在漏洞来运行恶意代码。

特别是,应小心地限制运行 SendCommandStartSession 命令的权限。第一步应为每个命令授予仅选择组织中的委托人的权限。但是,建议通过限制委托人可在其上运行这些命令的托管式节点来进一步巩固安保状况。可以在分配给主体的 IAM 用户策略中执行此操作。在 IAM 策略中,您可以包括一个条件,用于将用户限制为仅在使用特定标签或标签组合进行标记的托管式节点上运行命令。

例如,假设您有两个 EC2 实例机群,一个用于测试,一个用于生产。在应用于初级工程师的 IAM 策略中,可以指定他们只能在使用 ssm:resourceTag/testServer 标记的实例上运行命令。但对于应有权访问所有实例的一小群首席工程师,可授予对使用 ssm:resourceTag/testServerssm:resourceTag/productionServer 标记的实例的访问权限。

使用此方法,如果初级工程师尝试在生产实例上运行命令,则其访问将遭拒,因为其分配的 IAM 策略不提供对使用 ssm:resourceTag/productionServer 标记的实例的显式访问权限。

有关更多信息及示例,请参阅以下主题: