2011-06-08 24 views
15

Tôi bắt đầu từ http://awspolicygen.s3.amazonaws.com/policygen.html để tạo chính sách sẽ cấp quyền tải lên một nhóm S3 cụ thể cho danh sách người dùng. Tôi không rõ ràng về cách tôi xác định những người dùng đó nên là ai.Làm thế nào để xác định hiệu trưởng cho một tuyên bố chính sách AWS?

Tài liệu tham chiếu đến hiệu trưởng là "một người hoặc một người" mà không có ví dụ về cách tham chiếu đến (các) người được nói. Một giả định "địa chỉ email" và trình tạo chính sách sẽ chấp nhận nó, nhưng khi tôi dán câu lệnh được tạo vào trình soạn thảo chính sách nhóm, tôi nhận được:

Nguyên tắc không hợp lệ trong chính sách - "AWS": "steve @ here. com"

Full tuyên bố:

{ 
    "Id": "myPol", 
    "Statement": [ 
    { 
     "Sid": "Stmt130", 
     "Action": "s3:*", 
     "Effect": "Allow", 
     "Resource": "arn:aws:s3:::myBucketName", 
     "Principal": { 
     "AWS": [ 
      "[email protected]" 
     ] 
     } 
    } ] 
} 

Trả lời

13

một hiệu trưởng có thể là một tài khoản AWS hoặc một người sử dụng IAM. Những tài liệu rất hữu ích Specifying Principals in Bucket PoliciesIntegrating IAM with S3

+1

Đó sẽ là lỗi của tôi - chắc chắn sẽ được tốt đẹp nếu các máy phát điện mất một vòng lặp xác nhận thêm để kiểm tra đầu vào của tôi trước khi cho phép tôi đi. – justSteve

0
[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(); 
} 
Các vấn đề liên quan