节点js中的AWS SDK javascript返回拒绝访问
伙计们,当我试着列出我所有的桶时,它就像预期的那样工作。因此,我可以确保我的设置是正确的。 问题是当我尝试列出一个bucket的内容时: 我在节点js中有一个路由节点js中的AWS SDK javascript返回拒绝访问,javascript,node.js,amazon-web-services,amazon-s3,access-denied,Javascript,Node.js,Amazon Web Services,Amazon S3,Access Denied,伙计们,当我试着列出我所有的桶时,它就像预期的那样工作。因此,我可以确保我的设置是正确的。 问题是当我尝试列出一个bucket的内容时: 我在节点js中有一个路由/:bucket app.get('/:bucket', function (req, res) { var bucket = req.params.bucket; var s3 = new AWS.S3(); var params = { Bucket: 'bucket' };
/:bucket
app.get('/:bucket', function (req, res) {
var bucket = req.params.bucket;
var s3 = new AWS.S3();
var params = {
Bucket: 'bucket'
};
s3.listObjects(params, function (err, data) {
if (err)
console.log(err, err.stack); // an error occurred
else
console.log(data); // successful response
});
});
这不起作用,返回访问被拒绝
以下是bucket策略:
{
"Id": "Policy...............",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt..........",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my_bucket/*",
"Principal": "*"
}
]
}
这就是我得到的错误:
{ [AccessDenied: Access Denied]
message: 'Access Denied',
code: 'AccessDenied',
region: 'us-east-1',
time: Thu Aug 04 2016 13:14:56 GMT+0100 (CET),
requestId: '.............',
extendedRequestId: '.............................................',
cfId: undefined,
statusCode: 403,
retryable: false,
retryDelay: ........... } 'AccessDenied: Access Denied\n at Request.extractError (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/services/s3.js:524:35)\n at Request.callListeners (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/sequential_executor.js:105:20)\n at Request.emit (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/sequential_executor.js:77:10)\n at Request.emit (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:661:14)\n at Request.transition (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:22:10)\n at AcceptorStateMachine.runTo (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/state_machine.js:14:12)\n at /home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/state_machine.js:26:10\n at Request.<anonymous> (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:38:9)\n at Request.<anonymous> (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:663:12)\n at Request.callListeners (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/sequential_executor.js:115:18)\n at Request.emit (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/sequential_executor.js:77:10)\n at Request.emit (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:661:14)\n at Request.transition (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:22:10)\n at AcceptorStateMachine.runTo (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/state_machine.js:14:12)\n at /home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/state_machine.js:26:10\n at Request.<anonymous> (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:38:9)'
{[AccessDenied:拒绝访问]
消息:“访问被拒绝”,
代码:“访问被拒绝”,
地区:'us-east-1',
时间:2016年8月4日星期四13:14:56 GMT+0100(CET),
请求ID:“…………”,
扩展请求ID:',
cfId:未定义,
状态代码:403,
可检索:错误,
retryDelay:………}'AccessDenied:Access Denied:at Request.extractError(/home/azouz/PFE/Docker/PBD/node_modules/aws sdk/lib/services/s3.js:524:35)\n at Request.callListeners(/home/azouz/PFE/Docker/PBD/node_modules/aws sdk/lib/sequential_executor.js:105:20)\n at Request.emit(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/sequential_executor.js:77:10)\n请求时发出(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/Request.js:661:14)\n请求时发出(/home/azuz/PFE/Docker/Docker/node_modules/aws sdk/lib/Request.js:22:10)\n在AcceptorStateMachine.runTo(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/state_machine.js:14:12)\n在/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/state_machine.js:26:10\n请求时。(/home/azuz/PFE/PFE/Docker/PBD/PBD/PBD/PBD/node_/node_modules/aws sdk/Request.js:38:9)\n请求时。(/home/azuz/PFE/Docker/PBD/node/Request.js:663:12)\n at Request.callListeners(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/sequential_executor.js:115:18)\n at Request.emit(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/sequential_executor.js:77:10)\n at Request.emit(/home/azuz/PFE/PFE/Docker/Docker/PBD/node_modules/aws sdk/lib/Request.js:661:14)\n(/home/azuz/PFE/Docker/PBD/node\u modules/aws sdk/lib/request.js:22:10)\n在AcceptorStateMachine.runTo(/home/azuz/PFE/Docker/PBD/node\u modules/aws sdk/lib/state\u machine.js:14:12)\n在/home/azuz/PFE/Docker/PBD/node\u modules/aws sdk/lib/state\u machine.js:26:10\n请求时。(/home/azouz/PFE/Docker/PBD/node_modules/aws sdk/lib/request.js:38:9)
您提供了正确的凭据吗?在.aws/config中是的。当尝试列出与我的帐户关联的所有存储桶时,它会返回它们。您确定您请求存储桶的方式正确吗。您有一个字符串“bucket”
而不是变量bucket
此处:存储桶:“bucket”
另一个可能是的东西,您想知道吗在我的桶下显示桶
?哦,太糟糕了。你说得对。我回去工作时会试试这个,我会让你知道它是否有效。