问题描述
用户在服务端KMS使用自带密钥BYOK数据加密场景下,在请求header字段x-oss-server-side-encryption-key-id
携带的CMK ID是一个无效的CMK ID。
问题原因
用户在服务端KMS使用自带密钥BYOK数据加密场景下,需要在OSS上传数据过程中,在header字段x-oss-server-side-encryption-key-id
携带的CMK ID需要在阿里云KMS服务中查询到对应信息,否则视为无效CMK ID。如果使用了无需的CMK ID,OSS服务端将返回该无效错误码。
问题示例
例如,您在使用服务端KMS进行加密时,采用自带密钥BYOK方式,将密钥以及数据上传到KMS服务生成一个CMK ID,用户可以通过在OSS数据上传的相关接口(例如PutObject、AppendObject、InitMultipart等),将x-oss-server-side-encryption
设置KMS的同时,如果采用BYOK方式对上传数据,则需要在header携带x-oss-server-side-encryption-key-id
字段中设置可用的CMK ID。
如果设置的CMK ID无法在阿里云KMS服务中查询到有效信息,将报错。
解决方案
在使用服务端使用KMS自带BYOK方式,对数据进行服务端加密上传时,除了在header中将x-oss-server-side-encryption
填充为KMS,在header字段x-oss-server-side-encryption-key-id
填充的CMK ID必须是在阿里云KMS生成的有效CMK ID。
相关文档
文档内容是否对您有帮助?