AWS CLI 列出所有 S3 存储桶的加密状态

TIM*_*144 2 amazon-s3 amazon-web-services aws-cli

我的帐户有几百个存储桶,我需要能够显示所有这些存储桶的加密状态。我希望能够通过 CLI 执行此操作,我看到有一个命令“get-bucket-encryption”操作,但我无法弄清楚如何针对所有存储桶运行此操作,而不仅仅是针对特定存储桶。

Mar*_*cin 6

您可以在list-buckets的结果上循环运行它。

例如:

for bucket_name in $(aws s3api list-buckets --query "Buckets[].Name" --output text); do

    echo ${bucket_name}
    
    encryption_info=$(aws s3api get-bucket-encryption \
        --bucket ${bucket_name} 2>/dev/null)
        
    if [[ $? != 0 ]]; then
        echo " - no-encryption"
    else
        echo " - ${encryption_info}"
    fi
done
Run Code Online (Sandbox Code Playgroud)

如果bucket没有加密get-bucket-encryption返回错误,那么我在上面假设任何错误都意味着没有加密。