Pet*_*rov 8 amazon-web-services terraform terraform-provider-aws
我尝试使用 Terraform 启动 EC2 实例,但收到以下错误:
启动源实例时出错:UnauthorizedOperation:您无权执行此操作。
我已将 AdministratorAccess 策略应用到我的 IAM 帐户,因此我想应该不存在 IAM 限制问题。
另外,我为我的帐户启用了 MFA,但我使用的是 STS 令牌,并且 API 调用正在从 Amazon 接受,因此这也不应该是问题。
我使用的 Terraform 代码非常简单:
provider "aws"{
region="us-east-1"
}
resource "aws_instance" "web" {
ami = "ami-00d4e9ff62bc40e03"
instance_type = "t2.micro"
tags = {
Name = "HelloWorld"
}
}
Run Code Online (Sandbox Code Playgroud)
请您帮助我,因为我厌倦了很多事情,但我没能解决这个问题。及时感谢!
小智 9
转到您从 iamadmin 为 terraform 创建的用户,然后检查 Policies 。我发现“AWSCompromizedKeyQuarantineV2”策略已直接附加。该政策的描述是:
策略 ARN arn:aws:iam::aws:policy/AWSCompromizedKeyQuarantineV2 描述 拒绝访问 AWS 团队在 IAM 用户凭证遭到泄露或公开暴露时应用的某些操作。不要删除此政策。相反,请按照为您创建的有关此事件的支持案例中指定的说明进行操作。
检查 aws 通知中的未解决问题,它将向您显示风险 IAM 隔离
您的 AWS 账户可能已被盗用!我们已经打开了一个包含更多详细信息的支持案例。请访问 AWS 支持中心https://aws.amazon.com/support查看我们为您立案的案例并立即采取行动。
小智 7
您也遇到了此错误,我通过在 AWS IAM 控制台中重新创建用户然后访问/密钥来修复相同的问题。发生这种情况的原因是我错误地将具有访问密钥和秘密密钥的 tfvars 文件上传到我的 github 存储库,该存储库由 AWS 识别,然后限制了对该特定 IAM 用户的访问。向 AWS 致敬,遵循这种微观级别的监控和安全标准。
小智 3
您可以尝试在运行模板时启用调试,以便更好地了解缺少哪个权限部分。
要在 Windows 中启用日志记录:
SET TF_LOG=DEBUG
Run Code Online (Sandbox Code Playgroud)
在 Mac 或其他 Linux 中:
export TF_LOG=DEBUG
Run Code Online (Sandbox Code Playgroud)
然后运行 Terraform 命令以查看详细日志,例如:
terraform apply
Run Code Online (Sandbox Code Playgroud)