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

使用AWS CLI启动EC2实例遇未授权错误求助

解决EC2 RunInstances未授权错误的核心原因

你遇到的问题其实很典型——ec2:RunInstances操作不止需要EC2实例本身的权限。从你提供的解码授权信息能看到,权限检查失败时对应的资源是arn:aws:ec2:us-east-2:55532131:network-interface/*,但你的IAM策略里只给了instance/*的资源权限,这就是关键遗漏点。

为什么会这样?

当你调用RunInstances启动实例时,AWS会自动帮你创建一系列关联资源,包括但不限于:

  • 弹性网络接口(ENI)
  • 根卷(EBS卷)
  • 关联子网、安全组的访问权限
  • 使用的AMI镜像的读取权限

你的策略只授权了对实例的操作,但没有允许操作这些关联资源,所以AWS会判定你没有足够权限执行完整的启动流程。

修正后的IAM策略

你需要扩展RunInstances对应的资源范围,把启动实例时涉及的资源都包含进去。这里给出一个最小权限的示例(你也可以根据实际需求替换成具体资源ARN,比如指定你的子网、安全组ARN):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "ec2:TerminateInstances",
        "ec2:StartInstances",
        "ec2:CreateTags",
        "ec2:RunInstances",
        "ec2:StopInstances"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:security-group/*",
        "arn:aws:ec2:*:*:image/*",
        "arn:aws:ec2:*:*:volume/*"
      ]
    },
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances",
        "sts:DecodeAuthorizationMessage"
      ],
      "Resource": "*"
    }
  ]
}

验证步骤

  1. 更新IAM角色的权限策略后,等待2-5分钟让权限生效(AWS IAM权限有时会有延迟)
  2. 重新运行你的CLI启动命令:
aws --region us-east-2 ec2 run-instances --image-id ami-02e680c45XXX351e \
 --subnet-id subnet-2e0254 \
 --security-group-ids sg-094a23e956177 \
 --count 1 \
 --instance-type t2.micro \
 --key-name MyOhioKeyPair \
 --query "Instances[0].InstanceId" \
 --tag-specifications 'ResourceType=instance,Tags=[{Key='Application',Value="wu-digital-eai"}]'

这样应该就能成功启动实例了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:00:33