【问题标题】:Why does AWS IAM allow limiting a user to only programmatic access or only web console access?为什么 AWS IAM 允许将用户限制为仅限编程访问或仅限 Web 控制台访问?
【发布时间】:2018-03-05 07:17:13
【问题描述】:

Amazon Web Service 的 IAM 服务允许管理员创建具有不同权限、组等的用户帐户。

当管理员创建一个新用户时,他可以选择指定该用户是仅限于编程访问(即只能通过 api 调用访问 AWS)还是 Web 控制台访问(即可以登录 Web GUI)。

AWS 为什么要投入时间和金钱来做这件事?

为什么有人想要将用户限制为一个或另一个? Web 控制台可以做任何编程访问可以做的事情,反之亦然。只允许一个或另一个似乎并没有提供任何安全优势。那何必呢?

【问题讨论】:

    标签: amazon-web-services amazon-iam


    【解决方案1】:

    控制台凭证和 IAM 用户密钥是两组独立的凭证(用于同一委托人)。并不是说 AWS 费尽心思断开两个本来就相连的东西。

    在大多数情况下,您的断言是正确的 - 有一些例外情况并不完全相关,但通常,您可以通过编程方式执行的任何操作都可以在控制台中完成,反之亦然,所以它不能只是为了控制对底层资源的访问而通过一种或另一种来限制用户的任何诉求的动机。

    一些用户不需要编程访问。这些用户很可能是非技术(或者可能是非开发人员)用户,他们有合法的商业目的来访问控制台,但不需要密钥。

    有些用户不需要控制台帐户。这些用户很可能是需要 API 密钥的非人类用户,但他们所处的位置并不适合使用 IAM 角色凭证。

    不提供用户不需要的访问机制非常符合最小权限原则。

    【讨论】:

      【解决方案2】:

      我曾经有过这个问题,随着您继续使用 AWS,您会更加清楚。让我试着从我所知道或理解的内容来解释:

      为什么有人想将用户限制为一个或另一个?

      对此的简短回答是隔离和更精细的控制,让我尝试按场景回答:

      • 您有一个负责支付账单的客户团队,您将创建 一个具有控制台访问权限的 IAM 角色,以便他们支付账单, 他们可能不是 IT 专业人员什么和为什么 您是否会给客户团队提供 CLI 使事情复杂化 访问,这个有什么需求?

      反之亦然

      • 如果您将一个模块提供给离岸团队进行开发,并且您有 创建了一个具有适当 IAM 权限的 RedShift 集群,您只需 想让他们知道什么是必要的,为什么要访问 控制台,以便他们可以看到帐户发生了什么?

      我想说的一点是,它们每个都有自己的优势,具体取决于您在与 AWS 更深入地合作时将面临的情况。

      【讨论】:

        【解决方案3】:

        我认为你被误导了。您实际上可以创建具有控制台和编程访问权限的 IAM 用户。在创建用户时,它会在第一页为 Access type 提供两个复选框:Programmatic accessAWS Management Console access。您可以同时选择两者或其中之一。如果两者兼而有之,它最终会为您提供以下内容:

        • 访问密钥 ID 和秘密访问密钥:用于程序访问
        • 密码:用于控制台访问(您也可以手动设置)

        【讨论】:

        • 我承认这一点。但问题仍然存在:为什么只允许选择一个?
        • 正如我在答案本身中提到的,您可以同时选择它们。
        • 是的,但为什么甚至可以选择只选择一个?为什么有人只想要编程访问而不想要 Web 控制台访问?
        • @CodyBugstein 用户通常只需要编程访问,例如在 AWS 外部使用的服务账户,这些用户不需要访问 AWS 控制台,只需访问 AWS API。
        猜你喜欢
        • 1970-01-01
        • 2023-03-27
        • 2017-07-13
        • 2013-06-07
        • 1970-01-01
        • 2011-03-09
        • 2019-06-12
        • 2021-09-27
        • 2021-04-30
        相关资源
        最近更新 更多