我正在尝试使用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完全支持此功能吗?