[英]Getting access denied when trying to create folder in S3 using aws-sdk in NodeJS
[英]Receiving Access Denied when trying to access Amazon AWS S3 service with nodejs
var AWS = require('aws-sdk');
var S3FS = require('s3fs');
AWS.config.update({region: 'us-east-1'});
var options = {};
exports.storeMedia = function(req, res){
var fsImpl = new S3FS('test-bucket', options);
fsImpl.writeFile('message.txt', 'Hello Node', function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
}
我的代碼只是一個示例代碼,我正在嘗試從doc示例中進行測試。 我已經在Macbook上.aws下的憑證文件中保存了aws密鑰ID和密碼。 我已經構建了一個用戶,並為其分配了訪問策略,這樣我就可以通過AWS Console上的已分配用戶獲取和放置對象。 我還要看什么? 顯然,我缺少基本的東西,只是需要一些幫助。
我還研究了其他一些內容。 首先,我從https://www.npmjs.com/package/s3fs查看了模塊頁面,其中列出了s3fs所需的最低權限。 其次,我嘗試使用基本的aws-sdk。 我很驚訝地發現我可以做一個沒有任何問題的ListBucket。 然后,我嘗試將一個對象放入現有的存儲桶中,並且該對象沒有問題。 我能夠取得進展,但是我需要更多地了解我可能沒有獲得的特權,因此我清楚地知道缺少哪些特權。
我對存儲桶的政策如下:
{
"Version": "2012-10-17",
"Id": "Policy1437933054275",
"Statement": [
{
"Sid": "Stmt1437932987273",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::meetsites-images/*",
"arn:aws:s3:::meetsites-images"
]
}
]
}
而用戶的政策是
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
我也能夠找到一個有關該主題的好博客,很難找到更好的提及[鏈接]( http://blogs.aws.amazon.com/security/post/TxPOJBY6FE360K/IAM-policies-and-Bucket -政策和ACL-哦,我控制對S3-Resourc的訪問 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.