You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制EC2实例AMI中的angelo-user使用AWS-CLI?

限制EC2实例中angelo-user使用AWS-CLI的方法

完全可行,可通过限制命令执行权限和阻断凭证获取渠道两个维度实现,具体操作如下:

一、限制angelo-user执行AWS-CLI命令

直接通过系统权限控制,禁止该用户运行aws命令:

  1. 使用visudo编辑sudo规则(避免语法错误):
    visudo -f /etc/sudoers.d/angelo-restrictions
    
  2. 添加以下规则:
    angelo-user ALL=(ALL) !/usr/bin/aws
    
    保存退出后,angelo-user将无法通过sudo执行aws命令。
  3. 若要彻底禁止该用户直接执行aws命令,修改命令文件的其他用户执行权限:
    chmod o-x /usr/bin/aws
    

二、阻断angelo-user获取AWS凭证的渠道

EC2实例中AWS-CLI的凭证来源通常是实例元数据(关联IAM角色时)或本地凭证文件,需分别限制:

1. 限制访问实例元数据

实例元数据地址为169.254.169.254,通过iptables规则阻断该用户的访问:

# 添加规则阻止angelo-user访问实例元数据
iptables -A OUTPUT -m owner --uid-owner angelo-user -d 169.254.169.254 -j DROP
# 保存规则(不同系统命令略有差异,以RHEL/CentOS为例)
iptables-save > /etc/sysconfig/iptables

2. 限制访问本地凭证文件

如果ec2-user使用本地~/.aws/credentials文件存储凭证,确保该文件仅对ec2-user可见:

chmod 700 /home/ec2-user/.aws
chmod 600 /home/ec2-user/.aws/*

这样angelo-user将无法读取ec2-user的凭证文件。

验证效果

切换到angelo-user账号,尝试执行aws s3 ls等命令,若提示权限不足或命令无法执行,则配置生效。

内容的提问来源于stack exchange,提问作者Angelo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 11:28:31