【发布时间】:2018-07-02 09:37:47
【问题描述】:
当对象在服务器端加密时,我无法设置跨区域复制。我正在使用 awscli 进行设置。这就是我所做的。
跨区域复制角色 IAM 策略如下所示:
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:GetReplicationConfiguration",
"s3:ListBucket"
],
"Resource":[
"arn:aws:s3:::source-bucket"
]
},
{
"Effect":"Allow",
"Action":[
"s3:GetObjectVersion",
"s3:GetObjectVersionAcl",
"s3:GetObjectVersionTagging"
],
"Resource":[
"arn:aws:s3:::source-bucket/*"
]
},
{
"Effect":"Allow",
"Action":[
"s3:ReplicateObject",
"s3:ReplicateDelete",
"s3:ReplicateTags"
],
"Resource":"arn:aws:s3:::destination-bucket/*"
}
]
}
这是我的复制配置文件的样子:
{
"Role": "arn:aws:iam::1234567890:role/replication-role",
"Rules": [
{
"ID": "abcd",
"Prefix": "",
"Status": "Enabled",
"SourceSelectionCriteria": {
"SseKmsEncryptedObjects": {
"Status": "Enabled"
}
},
"Destination": {
"Bucket": "arn:aws:s3:::destinationbucket",
"EncryptionConfiguration": {
"ReplicaKmsKeyID": "arn:aws:kms:us-west-2:1234567890:key/849b779d-bdc3-4190-b285-6006657a578c"
}
}
}
]
}
这就是我的 cli 命令的样子:
aws s3api put-bucket-replication --bucket "sourcebucket" --replication-configuration file://./replicationconfigfile.json
当我在运行 cli 命令后转到 S3 存储桶时,我可以看到使用 KMS-Encrypted Object 创建的复制规则为 replicate 但是当我单击 edit 查看详细信息时,它没有任何 KMS已选择键。
--------更新-----
如果我删除 cli 创建的规则并使用控制台设置它,它会选择向导中的所有 kms 键。所以问题是为什么当我使用 cli 时它没有在源区域中选择 kms 键? 我在这里错过了什么?
【问题讨论】:
标签: amazon-web-services amazon-s3 replication aws-kms