получить ошибку при использовании client.get_bucket_policy_status из бэкета S3 - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь получить статус политики для корзины S3 с помощью следующего сценария

import boto3

regionNameArg = 'us-east-1'
awsAccessKeyId = 'XXX'
awsSecretAccessKey = 'XXX'

# Create an S3 client
client = boto3.client(service_name='s3',
                      region_name=regionNameArg,
                      aws_access_key_id=awsAccessKeyId,
                      aws_secret_access_key=awsSecretAccessKey)

# Call S3 to list current buckets
response = client.list_buckets()
print(response)

# Get a list of all bucket names from the response
buckets = [bucket['Name'] for bucket in response['Buckets']]
for S3Bucket in buckets:
    publicstatus1=client.get_public_access_block(Bucket='S3Bucket')
    print(publicstatus1)
    publicstatus = client.get_bucket_policy_status(Bucket='S3Bucket')
    print (publicstatus)

Я добавляю полные права доступа для пользователя в этой корзине S3, но все равно получаю ошибку

botocore.exceptions.ClientError: An error occurred (AllAccessDisabled) when calling the GetPublicAccessBlock operation: All access to this object has been disabled

Есть идеи, что может быть причиной? предлагаемое решение? Спасибо

1 Ответ

0 голосов
/ 27 января 2020

Полагаю, S3Bucket воспринимается как строка, так как он указан в кавычках

...