是的,可以创建阻止所有非加密上传,但允许雅典娜DB引擎写入非加密文件的S3存储桶策略。
在AWS的S3存储桶中,可以通过存储桶策略来控制对存储桶的访问权限。要实现阻止所有非加密上传的功能,可以使用存储桶策略中的条件语句来限制只允许加密文件的上传。
以下是一个示例的存储桶策略,可以实现该功能:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyNonEncryptedUploads",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::your-bucket-name/*",
"Condition": {
"StringNotEquals": {
"s3:x-amz-server-side-encryption": "aws:kms"
}
}
},
{
"Sid": "AllowAthenaDBEngine",
"Effect": "Allow",
"Principal": {
"Service": "athena.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
上述策略中,第一个Statement定义了一个Deny的规则,限制了所有用户(Principal为"*")在上传对象(Action为"s3:PutObject")时,必须满足条件(Condition):s3:x-amz-server-side-encryption的值必须为"aws:kms",即只允许加密上传。
第二个Statement定义了一个Allow的规则,允许Athena DB引擎(Principal为"athena.amazonaws.com")在存储桶中写入对象。
通过这样的存储桶策略,可以实现阻止非加密上传,但允许雅典娜DB引擎写入非加密文件的功能。
推荐的腾讯云相关产品是腾讯云对象存储(COS),它是一种安全、耐用且高扩展性的云端存储服务,适用于存储大量非结构化数据,如图片、音视频、备份和恢复数据等。您可以通过腾讯云COS的官方文档了解更多信息:腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云