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,但这也不起作用。
有关锁定策略的最佳方法的任何建议。
答案 0 :(得分:1)
PutObject
和PutObjectAcl
操作对对象起作用,而不对存储桶起作用。
这意味着您的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/*"
}
]
}