在AWS上列出已加密和未加密的已附加磁盘的最简单方法

47次阅读
没有评论

问题描述

一名审计员要求我们提供证据,证明我们在AWS EC2 VPC上的所有磁盘都已加密。我想要一种列出所有磁盘及其是否已加密的方式。我知道可以使用AWS API(或CLI)来构建报告,但我希望能够找到比那更简单的方法,最好是在控制台上操作。

解决方案

请注意以下操作可能因版本差异而有所不同,以及在执行操作前进行备份。

方案1

要获取未加密卷的数量,您可以运行以下命令:

aws ec2 describe-volumes --region <您的区域> --filter "Name=encrypted,Values=false" --query "length(Volumes[])"

在此命令中,length函数将返回数组Volumes的长度,通过选择操作符[]展平(更多详细信息请参阅JMESPath文档)。由于我们对未加密卷进行过滤(--filter "Name=encrypted,Values=false"),这将向审计员证明未加密卷的数量为0。
同样的过滤器也可以在控制台中使用,转到EC2页面下的“弹性块存储”=>“卷”,在“Encrypted”处选择“Not Encrypted”以仅查看未加密的卷。您还可以添加Attachment Status : Attached以仅列出已附加的卷。

方案2

从文档中您可以运行类似以下的命令,根据您使用的区域进行调整,然后搜索JSON输出中的名为“encrypted”的字段。

aws ec2 describe-volumes --region us-east-1

在方案1中,我们使用AWS CLI运行describe-volumes命令,并在--filter参数中指定了Name=encrypted,Values=false以获取未加密卷的数量。然后,通过查询操作length(Volumes[])来获得未加密卷的数量。这将帮助您向审计员证明未加密卷的数量为0。

方案2中,我们展示了如何使用AWS CLI运行describe-volumes命令,以获取有关卷的信息,然后您可以在输出的JSON中查找名为“encrypted”的字段,以判断卷是否已加密。

以上是在AWS上列出已加密和未加密的已附加磁盘的两种最简单的方法,您可以根据您的偏好和情况选择其中之一来满足您的审计需求。

正文完