Psy*_*oic 4 amazon-s3 amazon-web-services
我有什么:几个旧的 s3 存储桶,每个存储桶包含 100 万个对象,并打开了服务器端加密。
问题:旧文件未加密。我不能说加密是什么时候打开的。所以,我需要找到所有未加密的文件。
我已经尝试过使用 解决方案awscli,但速度很慢 - 2 秒内 1 个请求。
我的解决方案:
s3_buckets="uploads tmp logs whatever "
for s3_bucket in $s3_buckets;
do
aws s3 ls s3://$s3_bucket --recursive \
| awk '{print $NF}' \
| ( while read object ;
do
object_status=$(aws s3api head-object --bucket $s3_bucket --key $object --query ServerSideEncryption --output text 2>&1)
if [ "$object_status" != "AES256" ]; then
echo "Unencrypted object $object in s3://$s3_bucket"; >> /tmp/body.tmp
objects_unencrypted=$((objects_unencrypted + 1))
fi
objects_count=$((objects_count + 1))
done
echo "Bucket $s3_bucket has $objects_count, where unencrypted $objects_unencrypted." >> /tmp/body.tmp )
done
Run Code Online (Sandbox Code Playgroud)
那么,也许有更好的解决方案?
是否可以创建Cloudwatch指标来显示未加密的字段?或任何其他人?
使用Amazon S3 清单。
清单列表包含 S3 存储桶中的对象列表,每个列出的对象的元数据包括:
| 归档时间: |
|
| 查看次数: |
2257 次 |
| 最近记录: |