Ответ 1
Основным может быть другая учетная запись AWS или пользователь IAM. Эти документы полезны "Определение принципов в политике ведра" и Интеграция IAM с S3
Я начинаю с http://awspolicygen.s3.amazonaws.com/policygen.html, чтобы создать политику, которая будет предоставлять права на загрузку для определенного ведра S3 для списка пользователей, Я не понимаю, как я определяю, кем должны быть эти пользователи.
Документы ссылаются на принципала как на "человека или людей" без примера того, как обращаться к указанному лицу (ами). Один предполагает "адрес электронной почты", и генератор политики примет его, но когда я вставляю сгенерированный оператор в редактор политики bucket, я получаю:
Недействительный главный принцип в политике - "AWS": "[email protected]"
Полная инструкция:
{
"Id": "myPol",
"Statement": [
{
"Sid": "Stmt130",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::myBucketName",
"Principal": {
"AWS": [
"[email protected]"
]
}
} ]
}
Основным может быть другая учетная запись AWS или пользователь IAM. Эти документы полезны "Определение принципов в политике ведра" и Интеграция IAM с S3
[HttpPost]
public ActionResult Uploaddemo(HttpPostedFileBase file) {
try {
IAmazonS3 client;
using (client = Amazon.AWSClientFactory.CreateAmazonS3Client(_awsAccessKey, _awsSecretKey,RegionEndpoint.USWest2)) {
var request = new PutObjectRequest() {
BucketName = _bucketName,
CannedACL = S3CannedACL.PublicRead, ACCESIBLE
Key = string.Format("visumes/{0}", file.FileName),
InputStream = file.InputStream,//SEND THE FILE STREAM
};
Amazon.S3.AmazonS3Config s3Config = new Amazon.S3.AmazonS3Config() {
ServiceURL = "http://s3.amazonaws.com"
};
string HOST ="http://s3-website-us-west-2.amazonaws.com";
client.PutObject(request);
}
} catch (Exception ex) {
}
return View();
}