Боюсь, что нет лучшего решения, чем перечислять все файлы и проверять шифрование один за другим.(см. также https://github.com/aws/aws-sdk-js/issues/1778)
Нет метрики Cloudwatch о шифровании. Список метрик дан в https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html
При этом, вы можете ускорить процесснемного, написав скрипт Python или нод, чтобы сделать это для вас. Он будет работать быстрее, чем ваш скрипт оболочки выше, потому что ему не нужно порождать процесс (и полное время выполнения Python) для каждого объекта.
URL выше дает пример в Node. То же относится и к Python.
Еще один способ ускорить процесс - запустить несколько сценариев параллельно, каждая из которых обрабатывает часть пространства имен. Предполагая, что имена ключей вашего объекта распределены равномерно(первая буква ключа объекта - [az], а первая буква вашего ключа объекта - равномерная): вы можете создать 26 сценариев, каждый из которых содержит одну букву (все ключи начинаются с «a», все ключи начинаются с «b» и т. д.)и запустить эти сценарии параллельно. Это позволит использовать преимущества массивного параллелизма S3. Пример буквы можно заменить на любойили подходит для вашего варианта использования.
Чтобы минимизировать задержку между вашим сценарием и S3, я бы запустил сценарий на небольшом экземпляре EC2, работающем в том же регионе, что и ваш сегмент.