对于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但这也不起作用。
关于锁定政策的最佳方法的任何建议。
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/*"
}
]
}