我有一个在控制台中显示“公共(public)访问”的存储桶,但是当我尝试读取 aws s3api get-public-access-block 时,出现错误:
$ aws s3api get-public-access-block --bucket my-test-bucket-name
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:
aws help
aws <command> help
aws <command> <subcommand> help
aws: error: argument operation: Invalid choice, valid choices are:
abort-multipart-upload | complete-multipart-upload
copy-object | create-bucket...
我正在运行 aws-cli 1.15.83:
$ aws --version
aws-cli/1.15.83 Python/2.7.14 Linux/4.14.77-70.59.amzn1.x86_64 botocore/1.10.82
最佳答案
您可以使用 aws s3api get-bucket-policy-status
找出哪些存储桶已被标识为具有公共(public)访问权限:
aws s3api get-bucket-policy-status --bucket my-test-bucket-name
{
"PolicyStatus": {
"IsPublic": true
}
}
get-public-access-block
函数与上周发布的新功能相关 [1],有助于防止 future 的存储桶被错误地创建为具有公共(public)访问权限。
get-public-access-block
和 get-bucket-policy-status
都需要高于 1.15.83 的 awscli 版本。我使用的包含这两个命令的版本是 1.16.58。
关于amazon-s3 - 如何使用 aws-cli 确定 S3 存储桶是否具有公共(public)访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53383674/