AWS - S3 - 创建存储桶策略 - 错误:访问被拒绝

0

【以下的问题经过翻译处理】 尝试创建 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
)

profile picture
전문가
질문됨 5달 전39회 조회
1개 답변
0

【以下的回答经过翻译处理】 它可能由于多种原因而发生,但主要与您的凭据或策略有关。无论如何,您只需遵循权限规范,如我在您的代码中看到的那样,说明如何使用通配符授予所有内容

来自 Amazon Docs 的示例可以说明问题

"Action": "*"  
"Action": "s3:*"  

除上述原因外,另一个原因是您的凭据。例如,如果您使用 AWS CLI

$ aws configure  
AWS Access Key ID \[None]: AKIAIOSFODNN7EXAMPLE  
AWS Secret Access Key \[None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY  
Default region name \[None]: us-west-2  
Default output format \[None]: json

profile picture
전문가
답변함 5달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인