【以下的问题经过翻译处理】 尝试创建 Amazon Web Services - S3 存储桶策略,但在运行脚本时出现以下错误。我的访问到底在哪里被拒绝?这个问题是否与我如何设置 aws configure 有关
追溯(最近一次溯源):
File "C:\Users*****\githubb\aws\s3operations.py", line 40, in <module>
print(create_bucket_policy())
File "C:\Users\Patrick\githubb\aws\s3operations.py", line 36, in create_bucket_policy
Policy=policy_string
File "C:\Users\Patrick\Python36\lib\site-packages\botocore\client.py", line 357, in _api_call
return self._make_api_call(operation_name, kwargs)
File "C:\Users\Patrick\Python36\lib\site-packages\botocore\client.py", line 661, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occur
red (AccessDenied) when calling the PutBucketPolicy operation: Access Denied
以下是我的脚本:
import boto3
import json
BUCKET_NAME ='patricksbucket'
def s3_client():
s3 = boto3.client('s3')
""":type : pyboto3.s3"""
return s3
def create_bucket(bucket_name):
return s3_client().create_bucket(
Bucket=bucket_name,
CreateBucketConfiguration={
'LocationConstraint': 'us-east-2'
}
)
def create_bucket_policy():
bucket_policy = {
"Vesrion": "2012-10-17",
"Statement":[
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "",
"Action":["s3:"],
"Resource":["arn:aws:s3:::patricksbucket/*"]
}
]
}
policy_string = json.dumps(bucket_policy)
return s3_client().put_bucket_policy(
Bucket=BUCKET_NAME,
Policy=policy_string
)