我正在創建應用程序,其中需要用戶的代碼nodejs
,我正在使用該代碼創建lambda函數。如何限制從aws lambda 012發送http調用
例如:該代碼可以
var http = require('http');
exports.handler = function(event, context) {
console.log('start request to ' + event.url)
http.get('http://##someapi', function(res) {
console.log("Any Response : " + res.statusCode);
}).on('error', function(e) {
console.log("Error from API : " + e.message);
});
console.log('end request to ' + event.url)
context.done(null);
}
但是有些我要如何限制HTTP/HTTPS調用必須從代碼所做的,因爲我沒有什麼代碼將用戶通過控制。
那麼有沒有什麼辦法來限制,就像某種ROLE或POLICY或任何配置來實現這一點?
我可以通過在角色中指定策略來限制DynamoDB訪問。所以我有控制數據庫訪問但不是http調用。
@elssar感謝編輯:) –
最安全的方法是運行在沙箱中的代碼。在npm上有幾個沙箱包可用 - https://www.npmjs.com/search?q=sandbox – elssar
@elssar:沙箱看起來不錯的選擇..但我不確定從沙箱,它允許訪問/調用aws資源?像DynamoDB,其他lambda函數 –