Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS S3存储桶默认存储类_Amazon Web Services_Amazon S3_Amazon Iam - Fatal编程技术网

Amazon web services AWS S3存储桶默认存储类

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", "

我一直在尝试使用IAM策略将我的一个存储桶中的默认存储类更改为glacier供一个用户使用,但不幸的是,它不起作用。有人能告诉我我做错了什么吗?每个上传的文件仍然使用标准存储类

{
    "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上,而无需生命周期规则。