Problem description
The x-oss-server-side-encryption-key-id header is empty in a server-side encryption request that uses Key Management Service (KMS).
Causes
This error occurs when a request includes the x-oss-server-side-encryption-key-id header for KMS-based server-side encryption but leaves the header value empty.
Examples
The following PutObject request triggers this error:
PUT /ObjectName HTTP/1.1
Content-Length: ContentLength
Content-Type: ContentType
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
x-oss-server-side-encryption : KMS
x-oss-server-side-encryption-key-id:
The request fails because the x-oss-server-side-encryption header is set to KMS, but the x-oss-server-side-encryption-key-id header has no value.
Solutions
To use a Bring-Your-Own-Key (BYOK) from KMS for server-side encryption, set the x-oss-server-side-encryption header to KMS and specify a valid Customer Master Key (CMK) ID for the x-oss-server-side-encryption-key-id header.
References
该文章对您有帮助吗?