限制透過 SSM Agent 存取根層級命令 - AWS Systems Manager

限制透過 SSM Agent 存取根層級命令

AWS Systems Manager Agent (SSM Agent) 使用根許可 (Linux) 或 SYSTEM 許可 (Windows Server) 在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上執行。由於這些是最高層級的系統存取許可,任何已獲得許可傳送命令至 SSM Agent 的受信任實體,具有 root 或 SYSTEM 許可。(在 AWS 中,可在 AWS 中執行動作並存取資源的信任實體稱為委託人。委託人可以是 AWS 帳戶 根使用者、AWS Identity and Access Management (IAM) 使用者、或角色。)

委託人需要這個層級的存取權,才能傳送授權的 Systems Manager 命令至 SSM Agent,委託人也可在 SSM Agent 中利用任何潛在的漏洞來執行惡意程式碼。

尤其應當謹慎限制用於執行命令 SendCommandStartSession 的許可。一個良好的第一步是只將每個命令的許可授與組織中的精選委託人。不過,我們建議您限制哪些受管節點委託人可以在其上執行這些命令,以進一步加強您的安全狀態。這可在指派給委託人的 IAM 使用者政策中實現。在 IAM 政策中,您可以包含條件,限制使用者僅在標記有特定標籤或是標籤組合的受管節點上執行命令。

例如,假設您有兩個機群的 EC2 執行個體,一個用於測試,一個用於生產。在套用到資淺工程師的 IAM 政策中,您指定他們僅可在標記有 ssm:resourceTag/testServer 標籤的執行個體上執行命令。但是,對於應該能夠存取所有執行個體的一小群首席工程師,您對標記有 ssm:resourceTag/testServerssm:resourceTag/productionServer 標籤的執行個體授予存取權。

使用此方法,如果資淺工程師嘗試在生產執行個體上執行命令,系統將拒絕其存取,因為其指派的 IAM 政策未對標記有 ssm:resourceTag/productionServer 標籤的執行個體提供明確存取權。

如需詳細資訊及範例,請參閱下列主題: