Как определить принципал для заявления о политике AWS? - PullRequest
21 голосов
/ 09 июня 2011

Я начинаю с http://awspolicygen.s3.amazonaws.com/policygen.html, чтобы создать политику, которая предоставит права на загрузку определенному сегменту S3 для списка пользователей. Мне не ясно, как определить, кем должны быть эти пользователи.

Документы ссылаются на принципала как "лицо или лица" без примера того, как обращаться к указанному лицу (ам). Предполагается, что «адрес электронной почты» и генератор политики примет его, но когда я вставляю сгенерированный оператор в редактор политики корзины, я получаю:

Неверный принципал в политике - "AWS": "steve@here.com"

Полный текст заявления:

{
  "Id": "myPol",
  "Statement": [
    {
      "Sid": "Stmt130",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::myBucketName",
      "Principal": {
        "AWS": [
          "steve@here.com"
        ]
      }
    } ]
}

Ответы [ 2 ]

15 голосов
/ 09 июня 2011

Участник может быть другой учетной записью AWS или пользователем IAM. Эти документы полезны Указание принципов в ведении политик и Интеграция IAM с S3

0 голосов
/ 23 мая 2017
[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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...