0

一位新开发人员加入了我们的团队,我需要授予他访问我们在 AWS EC2 中的所有 VM 的权限。在阅读了一堆 AWS 文档之后,在我看来我们有两个选择:

  1. 与开发人员共享 VM 启动时使用的私钥
  2. 让开发人员生成一个新的密钥对并将他的公钥添加到每个VM 上的 authorized_keys 中。

这两个选项都不理想,因为 #1 违反了安全实践,而 #2 要求我去对一堆 VM 进行更改。

推荐的方法是什么?

4

2 回答 2

1

这个问题相当广泛,所以我的回答会很广泛。

是的,共享私钥是一件坏事。所以我会跳过它并专注于其他部分。

听起来您想集中管理帐户,而不是在每个单独的服务器上手动添加/删除/修改它们。

您可以设置诸如 NIS 之类的东西来管理用户帐户。这将需要对每一个虚拟机进行更改。

如果您使用 puppet、chef 或 salt 之类的东西,您可以创建食谱来控制用户访问(例如推出公钥,甚至创建帐户和配置 sudo)。

您可以使用类似pssh(并行 ssh)的东西同时在多个主机上执行命令。它可以简单地将公钥添加到现有的 authorized_keys 文件中,甚至可以添加用户、其密钥和必要的 sudo 访问权限。(注意:如果你这样做要非常小心。一个写得不好的命令可能会切断每个人的访问并导致不必要的停机时间)。

顺便说一句:让多个用户共享一个帐户是个坏主意,通常是安全和 QA 的噩梦。每个用户不应允许对同一帐户进行多次访问,而应拥有自己的帐户,并具有他们所需的最低特权访问权限。

随心所欲。

于 2015-08-11T17:43:54.613 回答
0

您是否检查过运行命令功能来执行一个简单的脚本来添加或删除用户。

于 2016-03-15T13:24:15.793 回答