AWS IAM策略问题向Grafana警报写入s3存储桶

时间:2019-04-26 10:02:26

标签: amazon-web-services amazon-iam grafana

AWS权限和grafana能够上传图像的策略存在一些问题。首先,我尝试根据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日志中看到访问被拒绝的错误。用户试图将映像写入存储桶,并最终添加了针对s3完全访问权限的AWS预定义策略。这设法使它起作用

s3 full access policy
{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": "*"
    }
]
}

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

有关锁定策略的最佳方法的任何建议。

1 个答案:

答案 0 :(得分: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/*"
    }
  ]
}