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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

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

此访问级别对于委托人向 SSM 代理发送授权的 Systems Manager 命令是必需的,但也使委托人可以通过利用 SSM 代理中的任何潜在漏洞来运行恶意代码。

特别是,运行命令的权限SendCommandStartSession应仔细限制. 第一步应为每个命令授予仅选择组织中的委托人的权限。但是,建议通过限制委托人可在其上运行这些命令的实例进一步提高安全性。可以在分配给委托人的 IAM 用户策略中执行此操作。在 IAM 策略中,您可以包括一个条件,该条件将用户限制为仅在使用特定 Amazon EC2 标签或 EC2 标签的组合进行标记的实例上运行命令。

例如,假设您有两队实例,一个用于测试,一个用于生产。在应用于初级工程师的 IAM 策略中,您可以指定他们只能在使用ssm:resourceTag/testServer。但是,对于少量的应有权访问所有实例的首席工程师,您可授予对带有ssm:resourceTag/testServerssm:resourceTag/productionServer

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

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