gpt4 book ai didi

amazon-s3 - 配置源 KMS key 以复制加密对象

转载 作者:行者123 更新时间:2023-12-04 01:36:36 25 4
gpt4 key购买 nike

我正在尝试将加密对象复制到不同区域的 S3 存储桶。执行此操作时,我需要指定一个或多个 KMS key 以用于解密源对象。

我正在使用以下 Terraform 脚本:

replication_configuration {
role = "${aws_iam_role.replication.arn}"

rules {
id = "${var.service}"
prefix = "${var.replication_bucket_prefix}"
status = "Enabled"

destination {
bucket = "${aws_s3_bucket.replication_bucket.arn}"
storage_class = "STANDARD"
replica_kms_key_id = "xxxxx"
}

source_selection_criteria {
sse_kms_encrypted_objects {
enabled = true
}
}
}
}

此脚本有效(适用),但在 AWS 控制台中 checkin 时,未为源对象选择 KMS key 。

查看配置,我看不到任何地方可以指定这些键。 replica_kms_key_id是指定用于加密目标存储桶中的对象的 KMS key 。

最佳答案

我在尝试使用 terraform 实现 KMS 加密跨区域、跨帐户复制时遇到了同样的问题。

在某些时候,我注意到配置中缺少源 KMS key (就像您所做的那样)并通过 S3 Web 界面添加了它。这样做之后,AWS 创建了另一个策略(没有在任何地方提及它;一天后我在做其他事情时发现了它)称为类似 crr-$SOURCE_BUCKET_NAME-to-$TARGET_BUCKET_NAME 的内容。并将其附加到复制角色。在检查了这条规则后,我意识到这是拼图的缺失部分。

这是政策的重要部分:

{
"Action": [
"kms:Decrypt"
],
"Effect": "Allow",
"Condition": {
"StringLike": {
"kms:ViaService": "s3.${var.source_bucket_region}.amazonaws.com",
"kms:EncryptionContext:aws:s3:arn": [
"arn:aws:s3:::${var.source_bucket_name}/*"
]
}
},
"Resource": [
"${var.source_kms_key_arn}"
]
},
${var.source_kms_key_arn}是您的源 KMS key arn。

PS:这个问题让我抓狂了! (╯°□°)╯︵ ┻━┻

关于amazon-s3 - 配置源 KMS key 以复制加密对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49425791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com