跨账户S3到S3,而无需访问AWS控制台

时间:2019-02-01 19:50:14

标签: node.js reactjs amazon-web-services amazon-s3 aws-sdk

我正在制作一个Web服务,该服务有助于通过AWS CLI将文件夹从用户的s3复制到我们的S3存储桶。它包含了上传和导出功能。我想知道是否可以在不更改AWS控制台的情况下进行配置。

以下是我到目前为止尝试上传的内容:

enter image description here

在前端,要求用户提供铲斗名和他想要传递的文件名。此外,添加在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​​

0 个答案:

没有答案