如何设置权限以便IAM可以上传到C#中的Amazon S3存储桶?

时间:2015-09-01 14:23:40

标签: amazon-web-services amazon-s3 aws-sdk

我已在IAM中创建了一个用户,并附加了2个托管策略:AmazonS3FullAccess和AdministratorAccess。我想将文件上传到名为" pscfront"的S3存储桶。

我使用以下代码进行上传:

AWSCredentials credentials = new BasicAWSCredentials(Constants.AmazonWebServices.AccessKey, Constants.AmazonWebServices.SecretKey);
            using (var client = new AmazonS3Client(credentials, RegionEndpoint.USEast1))
            {
                var loc = client.GetBucketLocation("s3.amazonaws.com/pscfront");
                var tu = new TransferUtility(client);
                tu.Upload(filename, Constants.AmazonWebServices.BucketName, keyName);
 }

此操作失败,异常" AccessDenied" (内部异常"远程服务器返回错误:(403)Forbidden。")在调用GetBucketLocation时,或者在tu.Upload调用时,如果我注释掉该行。

知道是什么给出的吗?

1 个答案:

答案 0 :(得分:0)

smdh

持久性没有问题 - 我正在错误地设置存储桶名称。您只需传递计划存储桶名称 - " pscfront"在这种情况下。