Auth0和AWS政策

时间:2015-03-02 06:28:41

标签: javascript amazon-web-services policy auth0

我的网络应用使用Auth0和AWS(委托令牌)来访问S3中的某些资源。

我在名为testinfo的存储桶中有以下目录结构 -Directory1      - 子目录11      - 子目录11 -Directory2      - 子目录21 -Directory3

我有以下S3存储桶策略。 {   "版本":" 2012-10-17",   "陈述":[     {       " Sid":" Stmt1423804993000",       "效果":"允许",       "行动":[         " S3:"       ]       "资源":[         " ARN:AWS:S3 ::: testinfo / directory1中&#34 ;,         " ARN:AWS:S3 ::: testinfo / directory1中/ "       ]     }   ] }

我有以下javascript代码来显示存储桶的内容

var getTokenPromise = auth.getToken({api: 'aws', role: "xyz", principal: "xyz"});
getTokenPromise.then(function (value) {
    console.log('delegation: ' + value);
    bucket = new AWS.S3({params: {Bucket: 'testinfo'}});
    bucket.config.credentials =new AWS.Credentials('x','y','z');
    bucket.listObjects({}, function (err, data) {
        if (err)
            alert(err);
        var files = [];
        for (var i in data.Contents) {
            //show files
        }
    });
}, function (reason) {
    console.log('failed: ' + reason);

});

根据该政策,仅显示Directory1的内容。不幸的是,我得到了拒绝访问权限。 愿有人帮忙解决这个问题吗?

干杯

1 个答案:

答案 0 :(得分:0)

您可以尝试在目录中添加通配符,如下所示:

"arn:aws:s3:::testinfo/Directory1/*"