Amazon web services s3存储桶策略访问被拒绝
我试图从aws sdk jsAmazon web services s3存储桶策略访问被拒绝,amazon-web-services,amazon-s3,aws-sdk,amazon-policy,Amazon Web Services,Amazon S3,Aws Sdk,Amazon Policy,我试图从aws sdk js上传s3上的一个对象,但无法为我的案例找出策略。我想只允许一个用户拥有上传权限和公共读取权限 这是我的s3桶政策 { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadForGetBucketObjects", "Effect": "Allow", "Principal": {
上传s3上的一个对象,但无法为我的案例找出策略。我想只允许一个用户拥有上传权限和公共读取权限
这是我的s3桶政策
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::some-bucket/*"
},
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1111111111111:user/some-bucket-user"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::some-bucket/*"
}
]
}
我的IAM政策是:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AddPerm",
"Effect":"Allow",
"Action":"s3:*",
"Resource":["arn:aws:s3:::some-bucket/*"]
}
]
}
有人能指出我做错了什么吗?要做到这一点,你根本不需要处理桶策略。Bucket策略用于允许服务访问S3数据库,而不是用户
若要允许用户访问您的S3数据库,请将其添加到权限/访问控制列表(位于“bucket policy”旁边)下,并具有所需的权限
如果绝对必须通过bucket策略完成,则此链接将涵盖所有内容:我的问题,我没有正确初始化AWS.S3
,它使用的是ec2实例的用户/角色,而不是我分配的用户/角色。我使用的是private
ACL,在JS中,我只需在aws.config.update({})
中添加所创建用户的密钥/密码。如果我执行原则:{AWS:}
的话,这一切都会起作用,因为它为所有用户提供了权限。哦,在这种情况下,这个链接应该涵盖所有内容: