我正在制作一个Web服务,该服务有助于通过AWS CLI将文件夹从用户的s3复制到我们的S3存储桶。它包含了上传和导出功能。我想知道是否可以在不更改AWS控制台的情况下进行配置。
以下是我到目前为止尝试上传的内容:
在前端,要求用户提供铲斗名和他想要传递的文件名。此外,添加在AWS配置IAM访问密钥和秘密密钥。
// Configure aws with your accessKeyId and your secretAccessKey
aws.config.update({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
region: process.env.REGION,
bucket: process.env.S3_BUCKET
});
// Now lets export this function so we can call it from somewhere else
exports.sign_s3 = (req,res) => {
// S3 bucket setup
s3 = new aws.S3();
var sourceBucket = req.body.bucket;
var destinationBucket = "destination";
var objectKey = req.body.file;
var copySource = sourceBucket + "/" + objectKey;
var copyParams = { Bucket: destinationBucket, CopySource: copySource, Key: objectKey
};
s3.copyObject(copyParams, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log("S3 object copy successful.");
}
});
};
但是,如果您观察到的话,我上面提到的某些步骤是手动配置的。我需要撤消导出过程,现在用户必须创建IAM用户,并提供访问和密钥以及他们的帐号。这是说,不要使用他们的AWS控制台,它是如何安全地共享上述信息?
我如何让他们做没有我的UI的迁出更新:我如何更改用户的AWS帐号使用API
?