首页 > 解决方案 > AWS IAM 或 Linux Newuser 允许访问我的后端

问题描述

我有一个 EC2 实例,其中托管了我的移动应用程序的后端。

我的开发人员需要访问我的服务器,才能上传新代码,我想也可以测试一下。

现在,我不想给他 FTP 详细信息,所以这就是我所做的:

现在我可以与我的开发人员共享新生成的 PEM 文件以及用户名和我的 EC2 主机 IP 地址。

但是我不明白为什么我不能通过从 AWS 控制台创建一个 IAM 用户并相应地设置他的权限来直接做到这一点?

我真的很困惑,因为我最初想以 IAM 方式来做,但每个人都建议我使用 Linux 用户——这不是一回事吗?

此外,一旦他完成工作,我将完全删除该用户 - 对吗?

此外,我什么都不明白......在完成所有这些并设置了新的 Linux 用户之后,我只能使用 Linux 用户名和 Unix 密码连接到我的服务器 - 而不使用我创建的 PEM 文件 -那个怎么样?

此外,从技术上讲,新的 Linux 用户可以简单地删除我的主要 Linux 用户......我的意思是我可以简单地右键单击用户并通过 Filezilla 按删除,例如,我怎样才能防止这种情况发生?就算没关系,他也可以直接删掉我整个后台?

我的服务器上现在有以下内容:

主文件夹

最后但并非最不重要的一点是,为什么每个人总是说永远不要与任何人共享私有 PEM 文件.. 归根结底,如果我只允许特定的 IP 地址连接到我的 EC2,那么我永远不必担心任何事情? 就像我为我的 MongoDB 所做的一样——只有当我添加 IP 地址时,那个人才能连接并查看我的数据库。因此,对于所有以前的开发人员,我已经共享了我的数据库配置,因为他们的 IP 不再在我的安全组中,所以这无关紧要 - 我是对的吗?

抱歉,我对这一切都不熟悉,我正在努力解决这一切。我很感激任何帮助!

标签: linuxamazon-web-servicesamazon-ec2

解决方案


  1. 创建 Linux 用户与 IAM 用户:

IAM 用户适用于可以根据您提供的权限访问 AWS 资源的用户。这意味着如果您创建对 EC2 具有完全访问权限的 IAM 用户并将详细信息提供给您的开发人员,他/她可以登录 AWS 并具有对 EC2 的完全访问权限。他/她可以创建、启动/停止、重启、终止您的 EC2 服务器等。创建 IAM 用户/组是为了限制对 AWS 资源(例如 EC2、S3、VPC 等)的访问,而不是针对在 EC2 内运行的操作系统。

  1. 是的,工作完成后删除用户和密钥。

  2. 要登录 linux 服务器,您可以使用用户名密码或用户名密钥。如果您设置了使用密码登录,请检查您的用户设置。创建新用户时使用“--disabled-password”或类似名称。在此处参考:https ://aws.amazon.com/premiumsupport/knowledge-center/new-user-accounts-linux-instance/

  3. 检查您的新用户是否具有 root 或 sudo 访问权限。如果您提供了 sudo 或 root 访问权限,则新的 linux 用户可以执行此类操作。

请注意,最好在服务器启动并运行后删除 EC2 上的默认 root 用户。ec2 用户或 ubuntu。原因是,如果您在创建 EC2 时使用的 pem 密钥被泄露,您的服务器也被泄露。与您将创建的特定用户不同,每个人都知道这些默认 root 用户。因此最好删除它们。

还要遵循最少访问原则,只为新用户提供最少需要的访问权限。这意味着,您应该根据需要或活动创建用户,并限制仅访问该活动。例如,如果您的用户只需要将文件复制到/从特定文件夹中复制,请为您的用户设置一个组并将权限分配给所需的文件夹。不要提供任何 sudo 访问权限。

同样,您可以创建一个可以访问 sudo 的管理员用户,但是,请确保该用户不与其他开发人员共享。


推荐阅读