![AWS-堡垒检查IAM权限?](https://linux22.com/image/738848/AWS-%E5%A0%A1%E5%9E%92%E6%A3%80%E6%9F%A5IAM%E6%9D%83%E9%99%90%EF%BC%9F.png)
是否可以在 AWS 中设置一个堡垒主机,用于检查 IAM 以检查给定用户是否可以连接到特定的 EC2 实例?
可能有点模糊,但想法是一致的。
假设一家公司有 2 个客户,每个客户都在一个 EC2 实例上工作。因此,我们为客户 A 和 B 配备了 MachineA 和 MachineB。然后,我们还有 3 名员工:
- John——需要能够随处连接的系统管理员
- Steve - 为客户 A 开发产品的开发人员。显然,他应该只能连接到 MachineA
- Mary - 为客户 B 开发产品的开发人员。显然,她应该只能连接到 MachineB
两台机器都在私有子网中运行,并且只能通过公共子网中的堡垒主机才能连接到它们。现在,是否可以配置此堡垒,以便它在 IAM 中验证用户组,以确保该用户可以连接到给定的机器?
因此,当 Mary 通过 SSH 连接到堡垒时,她使用的是自己的身份。她尝试跳转到那里,MachineB
因此堡垒检查用户的凭证,验证她是否在组中devsB
并允许她连接,但如果她出于任何原因尝试连接,堡垒将拒绝连接MachineA
...
答案1
您可以利用AWS 系统管理器使用 IAM 管理对您的 ec2 实例的访问控制。
答案2
我不会依赖 IAM 组成员资格,因为在 SSH 环境中测试可能有点困难。
相反,我会授予所有用户通过个人用户帐户通过 SSH 访问堡垒主机的权限,并且只允许适当的用户访问每个客户的实例。
最简单的方法是将 Steve 的 SSH 公钥添加到MachineA:/home/ec2-user/.ssh/authorized_keys
。类似地,将 Mary 的公钥添加到 MachineB 。
然后你可以使用SSH 代理跳转随着SSH 代理以方便访问。
希望有帮助:)
答案3
您可以使用aws-gate它结合了 EC2 Instance Connect 的 SSH 密钥上传功能、通过 SSM 隧道的 SSH,访问完全通过 IAM 策略管理,并使用 AWS CloudTrail 进行审计。