You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在EC2控制台显示策略限制实例创建的友好提示信息?

解决IAM策略触发后控制台显示加密错误的问题

我之前处理过类似的需求,AWS控制台默认抛出的加密授权错误确实很不友好。要让控制台直接展示人类可读的提示,核心是在你的IAM策略的Condition块里添加自定义描述信息——AWS会把这个描述包含在授权失败响应中,控制台就能解析并显示出来,不用再手动解密了。

具体修改步骤

  1. 找到你现有的Deny策略:
    你的原始策略大概是类似这样(针对标签值的限制):

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": "ec2:RunInstances",
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "ForAllValues:StringNotEquals": {
              "aws:RequestTag/test1": ["your-required-value"],
              "aws:RequestTag/test2": ["your-required-value"]
            }
          }
        }
      ]
    }
    
  2. 添加自定义描述到Condition块:
    在Condition内部加入Description字段,写入你想让用户看到的提示内容。修改后的策略如下:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": "ec2:RunInstances",
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "ForAllValues:StringNotEquals": {
              "aws:RequestTag/test1": ["your-required-value"],
              "aws:RequestTag/test2": ["your-required-value"]
            },
            "Description": "创建EC2实例必须添加test1和test2标签,且标签值需符合要求,请检查标签配置后重试。"
          }
        }
      ]
    }
    

    如果你的需求是只要存在test1和test2标签即可(不限制值),可以用Null条件来判断标签是否存在,同样添加描述:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": "ec2:RunInstances",
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/test1": "true",
              "aws:RequestTag/test2": "true"
            },
            "Description": "创建EC2实例时必须添加test1和test2标签,请在实例配置页面添加这两个标签后重试。"
          }
        }
      ]
    }
    

关键注意事项

  • Description必须放在Condition块的内部,不能放在Statement或Policy的顶层,否则不会生效。
  • 修改策略后,记得让测试用户重新登录AWS控制台(避免IAM缓存),再尝试创建未加标签的实例验证效果。
  • 描述信息尽量简洁明确,直接告诉用户需要做什么操作来解决问题。

验证效果

修改完成后,当用户尝试创建不符合标签要求的EC2实例时,控制台会直接显示你自定义的提示文字,不再抛出那个加密的授权失败消息了。

内容的提问来源于stack exchange,提问作者sidnandan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:42:04