Как определить, есть ли у S3 корзина публичного доступа с помощью aws-cli? - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть корзина, которая показывает «публичный доступ» в консоли, но когда я пытаюсь прочитать 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

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Ошибка, которую вы можете получить из-за того, что вы не обновили awscli.

Вы отправляете команду для обновления.

pip install --upgrade awscli

Та же ошибка возникала при запуске. Следует обновить и дать правильный результат.

0 голосов
/ 20 ноября 2018

Вы можете использовать aws s3api get-bucket-policy-status, чтобы узнать, какие сегменты были определены как имеющие публичный доступ:

aws s3api get-bucket-policy-status --bucket my-test-bucket-name
{
    "PolicyStatus": {
        "IsPublic": true
    }
}

Функция get-public-access-block относится к новым функциям, выпущенным на прошлой неделе [1], которые помогают защитить будущие сегменты от ошибочного создания в публичном доступе.

Для get-public-access-block и get-bucket-policy-status требуется более новая версия awscli, чем 1.15.83. Я использую версию с обоими этими командами 1.16.58.

[1] https://aws.amazon.com/blogs/aws/amazon-s3-block-public-access-another-layer-of-protection-for-your-accounts-and-buckets/

...