【问题标题】:Error after Creating S3 bucket with Terraform使用 Terraform 创建 S3 存储桶后出错
【发布时间】:2022-01-12 08:59:19
【问题描述】:

我在 terraform 中创建了一个 s3 存储桶。但是,在创建此存储桶后,我收到错误消息: 获取 S3 存储桶对象锁定配置时出错:AccessDenied: Access Denied

我使用的是 AWS 学院,所以我没有太多权限,但是,AWS 学院中有一个角色允许用户使用 s3 做事。有没有办法将此 IAM 角色附加到 S3 存储桶以便通过 Terraform 访问它?

我想将图像上传到此存储桶,但是由于 Terraform 试图访问它无权访问的对象锁定配置,我无法再部署代码。有没有办法告诉 terraform 不要尝试不尝试获取此信息?

这是我的代码

resource "aws_s3_bucket" "b" {
  bucket = "my-tf-test-bucket"
  acl    = "private"

  tags = {
    Name        = "My bucket"
    Environment = "Dev"
  }
}

Image of Console

【问题讨论】:

  • 你能解释一下你在做什么吗?你的 TF 代码是什么?
  • 我已经添加了代码。它只是简单地创建一个桶。我的 terraform 代码允许我最初创建存储桶,但是每当我再次编写 Terraform 计划时,它都会显示上述错误。有没有办法指定 Terraform 不访问存储桶对象锁定配置,因为我不需要该信息?
  • 您的存储桶存在吗?因为错误是指桶对象锁。对象锁定可以帮助防止对象在固定时间或无限期被删除或覆盖。你能检查一下aws控制台吗?
  • 是的,存储桶存在,但是由于此错误,创建它后我无法再运行 terraform 代码。我的下一步是将图像上传到此存储桶,但由于始终尝试访问对象锁定配置的错误而被停止

标签: amazon-web-services amazon-s3 terraform


【解决方案1】:

因此,您似乎已对存储桶启用对象锁定,这会阻止您写入或删除 s3 存储桶中的任何文件。

一种方法是从控制台禁用它并刷新 terraform 的状态。

【讨论】:

  • 我的对象锁定未启用,但是,terraform 正在尝试获取对象锁定配置docs.aws.amazon.com/cli/latest/reference/s3api/…,显然我没有权限这样做。有没有办法告诉 terraform 忽略这个变量,因为如果它试图检索它会出错?
  • 您是否尝试删除您的 s3 并重新创建它,或者您没有权限?
  • 我在上面附上了一张图片。我已经尝试重新创建我的 s3
  • 您可以尝试创建第二个存储桶并查看对象锁是否存在。我想如果这是真的,那么学院出于某种原因把它放在了你不能删除它......
  • 是的,我从来没有获得对象锁定详细信息的权限。但是我不需要它们。你知道绕过这个并将图像上传到我的存储桶的方法
猜你喜欢
  • 2021-04-24
  • 2021-08-14
  • 2018-05-29
  • 2022-11-03
  • 2021-12-30
  • 2018-05-20
  • 2023-03-07
  • 1970-01-01
  • 2020-11-05
相关资源
最近更新 更多