使用 AWS .NET SDK TransferUtility
,我可以使用自己的访问密钥 ID 下载文件,但是当我设置具有只读访问权限的受限用户时,出现“远程服务器返回错误:(403)禁止”错误。
我已经为用户设置了预配置的arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "*"
}
]
}
它还需要哪些权限?当请求失败时,我如何才能准确了解失败的原因?
答案1
这有助于解决问题:https://aws.amazon.com/premiumsupport/knowledge-center/s3-troubleshoot-403/
S3 存储桶可以使用 AWS KMS 加密,如果是这样,那么除了AmazonS3ReadOnlyAccess
策略之外,还需要向用户授予以下权限:
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
]