Terraform Provisioner本地执行程序-AWS CLI

时间:2018-11-19 13:05:20

标签: terraform aws-cli

试图在put-public-access-block存储桶上使用AWS cli来s3,但遇到问题,无法解决。

这是我的代码;

resource "aws_s3_bucket" "test" {
  bucket = "blah-blah"

  versioning {
    enabled = false
  }

  server_side_encryption_configuration {
    rule {
        apply_server_side_encryption_by_default {
            sse_algorithm = "AES256"
        }
    }
  }

  tags {
    Name = "blah-blah"
  }
}

resource "null_resource" "s3publicpol" {
  provisioner "local-exec" {
    command = "aws s3api put-public-access-block --bucket blah-blah --public-access-block-configuration BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"
  }   
}

从terraform运行此消息时,我会收到此消息;

  

调用PutPublicAccessBlock操作时发生错误(AccessDenied):访问被拒绝

但是,当我尝试运行AWS cli并在自己之上运行命令时,它运行得很好,因此我在AWS内拥有权限。

我是否需要为Terraform在本地做一些事情?

欢呼 斯蒂芬

0 个答案:

没有答案