针对 Grafana 警报写入 s3 存储桶的 AWS IAM 策略问题

Posted

技术标签:

【中文标题】针对 Grafana 警报写入 s3 存储桶的 AWS IAM 策略问题【英文标题】:AWS IAM Policy Issues writing to s3 bucket for Grafana alerts 【发布时间】:2019-09-15 19:51:57 【问题描述】:

在 grafana 能够上传图像的 AWS 权限和策略方面存在一些问题。首先,我根据https://grafana.com/docs/installation/configuration/#access-key 的要求尝试使用附加到我的用户的自定义策略。

政策如下:

custom policy with locked down permissions and bucket name

"Version": "2012-10-17",
"Statement": [
    
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl"
        ],
        "Resource": "arn:aws:s3:::myclient-grafana-images"
    
]

很遗憾,这不起作用,并且可以在我的 grafana 日志中看到拒绝访问错误。用户正在尝试将图像写入存储桶并最终添加了 AWS 预定义策略以实现 s3 完全访问。这设法让它工作

s3 full access policy

"Version": "2012-10-17",
"Statement": [
    
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": "*"
    
]

问题是试图将策略锁定到我需要的存储桶中。我尝试使用完全访问策略创建新策略并更新通配符以引用 s3 arn,但这也不起作用。

关于锁定政策的最佳方式的任何建议。

【问题讨论】:

【参考方案1】:

PutObjectPutObjectAcl 操作适用于对象,而不是存储桶。

这意味着您的Resource 密钥应为represent objects。对象的 ARN 以存储桶名称开头,后跟 / 和路径。

如果您希望能够将任何对象放入您的存储桶(注意/*),您应该通过以下方式调整您的策略:


  "Version": "2012-10-17",
  "Statement": [
    
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": "arn:aws:s3:::myclient-grafana-images/*"
    
  ]

【讨论】:

完成了这项工作。太感谢了。刚刚掌握aws非常有帮助。非常感谢

以上是关于针对 Grafana 警报写入 s3 存储桶的 AWS IAM 策略问题的主要内容,如果未能解决你的问题,请参考以下文章