gpt4 book ai didi

amazon-web-services - 仅允许 AWS IAM 用户启动一个 ec2 实例

转载 作者:行者123 更新时间:2023-12-04 08:00:34 24 4
gpt4 key购买 nike

在 Amazon AWS 中,我想为我的 IAM 注册 (Windows) 用户提供一个基于 API 的小程序,该程序将启动一个基于 AMI 的自定义实例,然后将她的机器连接到它。简单 - 但如果同一用户在第一个实例仍在运行时尝试启动另一个实例(从同一台机器或另一台机器),则第二次和后续尝试必须失败。 AMI 将在多个用户之间共享。该实例对用户来说是唯一的。

请注意,此问题与一些类似问题不同,因为我需要按需启动实例,但不允许更多实例。目标是防止应用程序被使用超过许可的范围。

理想情况下,检测和防止这一切都发生在 AWS 端,因为它更安全。

在客户端,我可以看到如何使用标签来做到这一点 - 用用户名标记启动的实例,并在允许实例启动之前搜索标签。

有没有办法在服务器端做到这一点,有 IAM 政策条件或其他什么?

最佳答案

当然。这是一个简单的示例,如果存在键为“MyTag”且值为“MyTagValue”的 ResourceTag,我已授予用户对所有 ec2 操作的访问权限,但我已明确拒绝的操作除外。

拒绝操作:

  • PurchaseReservedInstancesOffering
  • RequestSpotInstances
  • RunInstances

  • 例子:
    {
    "Statement": [
    {
    "Action": [
    "ec2:PurchaseReservedInstancesOffering",
    "ec2:RequestSpotInstances",
    "ec2:RunInstances"
    ],
    "Effect": "Deny",
    "Resource": "*",
    "Condition": {
    "StringLike": {
    "ec2:ResourceTag/MyTag": "MyTagValue"
    }
    }
    },
    {
    "Action": "ec2:*",
    "Effect": "Allow",
    "Resource": "*"
    }
    ]
    }

    以下是 IAM Policy Simulator 的结果证明:

    A screenshot of the IAM Policy Simulator, showing several denied actions.

    当该标签不存在、是其他值等时,允许这些操作。

    此外,ec2 允许操作 "Action": "ec2:*"只是为了举例……您可以删除整个块或将其用作模板以开始仅允许您的用户执行一组特定的 EC2 操作。

    关于amazon-web-services - 仅允许 AWS IAM 用户启动一个 ec2 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22210530/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com