Amazon web services AWS S3存储桶默认存储类
我一直在尝试使用IAM策略将我的一个存储桶中的默认存储类更改为glacier供一个用户使用,但不幸的是,它不起作用。有人能告诉我我做错了什么吗?每个上传的文件仍然使用标准存储类Amazon web services AWS S3存储桶默认存储类,amazon-web-services,amazon-s3,amazon-iam,Amazon Web Services,Amazon S3,Amazon Iam,我一直在尝试使用IAM策略将我的一个存储桶中的默认存储类更改为glacier供一个用户使用,但不幸的是,它不起作用。有人能告诉我我做错了什么吗?每个上传的文件仍然使用标准存储类 { "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "statement1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::$MY_ACCOUNT_ID:user/backup"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::private-backup/*",
"Condition": {
"StringEquals": {
"s3:x-amz-storage-class": "GLACIER"
}
}
}
]
}
如果您的用户或bucket具有允许此类上载的其他策略,则必须在策略中使用显式拒绝,不允许:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "statement1",
"Effect": "Deny",
"Principal": {
"AWS": "arn:aws:iam::$MY_ACCOUNT_ID:user/backup"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::private-backup/*",
"Condition": {
"StringNotEquals": {
"s3:x-amz-storage-class": "GLACIER"
}
}
}
]
}
备份
用户是否有任何其他允许写入S3的策略?可能bucket策略允许这样做?是的,备份用户的策略允许放置、获取和删除对象。我也在管理员用户上测试了同样的策略,结果是一样的。顺便说一下,我注意到你有很多问题和答案。然而,没有一个答案被接受。接受完整答案是一种很好的做法,可以帮助其他用户并减少重复问题的数量。尝试“拒绝”时,我无法将对象放入桶中,这一点对我来说很明显。@adamo89它只适用于直接放入冰川。区别是什么?从S3的角度来看,这两个都是对象。@adamo89对不起,我不明白你的意思。这就是你在问题中想要得到的——只上传到glacier。确切地说,用户上传到此bucket的每个对象都将备份存储在glacier上,而无需生命周期规则。