首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将KMS加密备份从S3恢复到RDS实例

将KMS加密备份从S3恢复到RDS实例
EN

Stack Overflow用户
提问于 2018-07-11 17:50:44
回答 1查看 2.3K关注 0票数 3

我正在尝试从一个非AWS实例备份一个数据库,推送到S3,然后在一个RDS实例上恢复该数据库。我已经成功地使用服务器端加密将文件推送到S3,但是在试图恢复RDS实例上的上述数据库时,我遇到了一个问题。

这是我正在犯的错误:

对象元数据(x-amz-key)不完整,无法解密给定的S3对象.

下面是我使用(删除私有信息)将对象写入S3并在RDS上恢复的代码:

Powershell

代码语言:javascript
运行
复制
Write-S3Object -BucketName my-S3-bucket -Key "my_test_database.bak" -File C:\somepath\my_test_database.bak -ServerSideEncryption aws:kms -ServerSideEncryptionKeyManagementServiceKeyId "abcde012-abcd-0123-ef89-9876543210cd" -ProfileName default

Server (在RDS实例上):

代码语言:javascript
运行
复制
EXEC [msdb].[dbo].[rds_restore_database] @restore_db_name = 'my_test_database',
    @S3_arn_to_restore_from = N'arn:aws:s3:::my-S3-bucket/my_test_database.bak',
    @KMS_master_key_arn = N'arn:aws:kms:region:0123456789:key/abcde012-abcd-0123-ef89-9876543210cd';

我在想,在设置IAM或生成加密密钥时,我是否可能错过了什么。据我所知,我的推到S3和还原数据库的代码与AWS文档是相同的。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-11 18:47:59

对于存储在桶中的对象,AWS支持两种类型的加密:服务器端加密(SSE)和客户端加密(CSE)。如果计划使用加密的Server还原选项,则备份文件必须是客户端加密的

在简单地将SQL备份上载到配置为存储桶的SSE的S3桶中时,尝试从该备份文件恢复将失败,AWS服务器实例将引发异常:“对象元数据(x-amz-key)不完整,无法解密给定的S3对象.”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51291577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档