【问题标题】:Do not allow users to create any ec2 instances if missing s tag value如果缺少 s 标签值,则不允许用户创建任何 ec2 实例
【发布时间】:2019-04-22 15:53:20
【问题描述】:

有没有一种方法可以在我的 ec2 实例上强制执行标签。以下是我正在寻找的内容:

  1. 如果用户缺少 Ec2 实例所需的标签,则拒绝用户
  2. 如果有人试图创建没有所需标签的实例,请向管理员发送电子邮件。

提前致谢!

【问题讨论】:

    标签: amazon-web-services amazon-ec2 tags


    【解决方案1】:

    1.如果用户缺少 EC2 实例所需的标签,则拒绝用户

    您应该查看How can I use IAM policy tags to restrict how an EC2 instance or EBS volume can be created? 中给出的建议解决方案。它展示了如何使用策略来要求某些标签:

      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "key1",
            "key2"
          ]
        }
      }
    

    2.如果有人试图创建没有所需标签的实例,请向管理员发送电子邮件。

    如果您申请 1. 那么这通常不会发生。不过,您可能希望查看 AWS Config 中的 required-tags 规则。然后,您可以设置 CloudWatch 规则来监控您的 Config 规则,以监控以 SNS 主题为目标的合规性更改(您可以将电子邮件地址订阅到您的 SNS 主题)。更多信息在Monitoring AWS Config with Amazon CloudWatch Events

    【讨论】:

    • 感谢 Jogold,我实施了以下策略,但遇到了问题,我创建了将其附加到新用户的策略,但是当我使用它启动实例时不会强制我使用强制标签"条件": { "StringEquals": { "aws:RequestTag/terminate": "true", "aws:RequestTag/shutdown": "true" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["终止”,“关闭”]
    • 你能在某处分享完整的政策吗?
    • 在那里查看我的回复
    【解决方案2】:

    jogold 提到了很好的答案。此外,另一种方法是创建一个 lambda 函数来检查所有没有您需要的标签的 ec2 实例。然后通过 SNS 向您发送已构建的 ec2 实例的电子邮件。

    这实际上并不能回答问题,而是在没有标签的情况下检查资源的好方法。

    【讨论】:

      猜你喜欢
      • 2020-07-25
      • 2016-07-26
      • 1970-01-01
      • 2019-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 2019-05-12
      相关资源
      最近更新 更多