2015-03-02 64 views
0

我的web應用程序使用Auth0和AWS(委託令牌)來訪問S3中的一些資源。Auth0和AWS Policy

我有以下目錄結構在一個名爲testinfo -Directory1 鬥 - Subdirectory11 - Subdirectory11 -Directory2 - Subdirectory21 -Directory3

我有一個S3桶以下政策。 { 「版本」: 「2012年10月17日」, 「聲明」:[{ 「SID」: 「Stmt1423804993000」, 「效果」: 「允許」, 「行動」:[ 「S3 :「 ], 」資源「:[ 」ARN:AWS:S3 ::: testinfo/directory1中「, 」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的內容。不幸的是,我得到了拒絕訪問異常。 有人可以幫助解決這個問題嗎?

乾杯

回答

0

你能嘗試添加一個通配符的目錄,就像這樣:

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

+0

嗨Sandrino,感謝您的答覆。我補充說: 「arn:aws:s3 ::: testinfo/Directory1/*」,但我仍然有相同的錯誤 – user3449953 2015-03-02 22:24:08