启动源实例时出错:UnauthorizedOperation:您无权执行此操作

时间:2020-01-03 18:42:24

标签: amazon-web-services terraform terraform-provider-aws

我正在尝试使用Terraform对EC2实例进行午餐,并且出现以下错误:

错误启动源实例:UnauthorizedOperation:您无权执行此操作。

我已对我的IAM帐户应用了AdministratorAccess策略,因此我认为应该没有IAM限制问题。

我还为我的帐户启用了MFA,但是我正在使用STS令牌,并且Amazon接受了API调用,所以这也不应该成为问题。

我正在使用的Terraform代码非常简单:

provider "aws"{
    region="us-east-1"
}
resource "aws_instance" "web" {
  ami           = "ami-00d4e9ff62bc40e03"
  instance_type = "t2.micro"
  tags = {
    Name = "HelloWorld"
  }
}

当我累了很多事情时,请您能为我提供帮助,但我没有解决问题。 谢谢你提前!

4 个答案:

答案 0 :(得分:1)

您也遇到了这个错误,我通过在 AWS IAM 控制台中重新创建用户然后访问/密钥来修复这个错误。发生这种情况的原因是我错误地将具有访问密钥和秘密密钥的 tfvars 文件上传到了我的 github 存储库,该存储库由 AWS 识别,然后它限制了对该特定 IAM 用户的访问。对于遵循此微观级别监控和安全标准的 AWS,我表示感谢。

答案 1 :(得分:0)

您可以在运行模板时尝试启用调试,以便更好地了解缺少权限的部分

TF_LOG=DEBUG terraform apply

答案 2 :(得分:0)

也许原因是:

  • 这是一个新的AWS账户,激活过程尚未完成。
  • 您的AWS密钥没有足够的权限来启动EC2实例。

答案 3 :(得分:0)

从 iamadmin 转到您为 terraform 创建的用户,然后检查 Policies 。 我发现直接附加了“AWSCompromisedKeyQuarantineV2”策略。 政策说明:

政策 ARN arn:aws:iam::aws:policy/AWSCompromisedKeyQuarantineV2 描述 拒绝访问由 AWS 团队在 IAM 用户的凭证被盗用或公开暴露的情况下应用的某些操作。不要删除此政策。相反,请按照为您创建的关于此事件的支持案例中指定的说明进行操作。

检查 aws 通知中的未解决问题,它将显示风险 IAM 隔离

您的 AWS 账户可能已被盗用!我们已经打开了一个包含更多详细信息的支持案例。请访问 AWS 支持中心 https://aws.amazon.com/support 查看我们为您打开的案例并立即采取行动。