将KMS加密上下文与适用于JavaScript的AWS S3 SDK结合使用

时间:2018-11-19 19:54:36

标签: javascript amazon-web-services encryption amazon-s3

我正在尝试使用AWS:KMS机制使用S3 SSE实现涉及文档加密的POC。 https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html文档指出,可以同时指定KMS密钥ID和加密上下文。

但是,JavaScript(https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property)中的putObject函数仅支持KMS Key Id参数。实际上,我遍历整个JS AWS-SDK以获取对x-amz-server-side-encryption-context的引用,但在任何地方都找不到。整个SDK不支持该标头。

这是我的代码:

     const s3Params = {
        Bucket: S3_BUCKET,
        Key: objectID,
        ContentType: 'application/gzip',
        Body: objectString,
        Expires: new Date(expire * 1000),
        ServerSideEncryption: 'aws:kms',
        SSEKMSKeyId: 'My KMS Key ID'
    };
    await s3.putObject(s3Params).promise();

我使用的功能正确吗? JavaScript SDK完全支持此功能吗?

0 个答案:

没有答案