【问题标题】:How to enable s3 Copy Bucket Permissions in Terraform statement如何在 terraform 语句中启用 s3 复制存储桶权限
【发布时间】:2022-01-07 11:23:58
【问题描述】:

我的目标是将数据从一组 s3 存储桶复制到主日志记录帐户存储桶中。每次我尝试执行:

aws s3 cp s3://sub-account-cloudtrail s3://master-acccount-cloudtrail --profile=admin;

我明白了

(AccessDenied) when calling the CopyObject operation: Access Denied`

我看过这篇文章: How to fix AccessDenied calling CopyObject

我正在尝试将存储桶权限添加到 terraform data aws_iam_policy_document。声明是这样写的

data aws_iam_policy_document s3 {
  version    = "2012-10-17"
  
  statement {
    sid = "CopyOobjectPermissions"
    effect = "Allow"
    principals {
      type        = "AWS"
      identifiers = ["arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/ops-mgmt-admin"]
    }
    actions   = ["s3:GetObject","s3:PutObject","s3:PutObjectAcl"]
    resources = ["${aws_s3_bucket.nfcisbenchmark_cloudtrail.arn}/*"]
  }

  statement {
    sid = "CopyBucketPermissions"
    actions = ["s3:ListBucket"]
    effect = "Allow"
    principals {
      type = "AWS"
      identifiers = ["arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/ops-mgmt-admin"]
    }
    resources = ["${aws_s3_bucket.nfcisbenchmark_cloudtrail.arn}/*"]
  }

}

我的目标是限制从子账户到主账户的角色的权限。我的具体问题是需要添加哪些权限才能启用复制权限?

预期: Terraform 计划运行成功

实际:

│ Error: Error putting S3 policy: MalformedPolicy: Action does not apply to any resource(s) in statement

对此的任何帮助将不胜感激。

【问题讨论】:

    标签: amazon-s3 terraform amazon-iam


    【解决方案1】:

    有两点要提:

    1. 在您的第二条语句中,资源错误,这就是您收到MalformedPolicy 错误的原因。应该是:
    resources = [aws_s3_bucket.nfcisbenchmark_cloudtrail.arn]
    
    1. 小心identifier。在这一点上,我不确定您的存储桶是否在不同的帐户中。如果是,则标识符中的account_id 应引用源帐户。 data.aws_caller_identity.current.account_id 返回 Terraform 进行身份验证的帐户 ID,通常是您正在部署资源的帐户(目标帐户)。如果您不进行跨帐户复制,那么应该没问题。

    此外,在跨账户访问的情况下,ops-mgmt-admin 角色应该应用一个策略,该策略允许访问获取/列出/上传对象到 S3 存储桶。

    【讨论】:

      猜你喜欢
      • 2014-12-06
      • 2021-06-08
      • 2021-09-06
      • 2019-09-05
      • 2022-01-03
      • 2022-01-11
      • 2019-11-09
      • 2019-12-19
      • 1970-01-01
      相关资源
      最近更新 更多