Hi
First off I am communicating with AWS with python boto3(Pycharm),So my question is i have created
8 buckets in which 4 buckets Read access and other 4 are Write access problem while executing i can all the buckets which Read and Write my task is to show only Read access and write access in other programme kindly help me out to sort this problem.
------->>>Here is the code what i wrote------------------>:
First off I am communicating with AWS with python boto3(Pycharm),So my question is i have created
8 buckets in which 4 buckets Read access and other 4 are Write access problem while executing i can all the buckets which Read and Write my task is to show only Read access and write access in other programme kindly help me out to sort this problem.
------->>>Here is the code what i wrote------------------>:
s3_bucket_public_read_prohibited(self):
result = True
failReason = ""
control = "4.2"
description = "No Public read access for S3 Buckets"
scored = False
offenders = []
s3_client = boto3.client('s3')
buckets = s3_client.list_buckets()
public_access = False
for bucket in buckets['Buckets']:
print(bucket)
acl_bucket = s3_client.get_bucket_acl(Bucket=bucket['Name'])
print(yaml.dump(acl_bucket))
for grantee in acl_bucket['Grants']:
if len(grantee['Grantee']) > 0:
print(grantee['Grantee'])
for uri in (grantee['Grantee'].keys()):
if uri == 'URI':
if grantee['Grantee']['URI'] == 'http://acs.amazonaws.com/groups/global/AllUsers':
public_access = True
print(public_access)
if public_access == True:
offenders.append(bucket['Name'])
public_access = False
if len(offenders) > 0:
result = False
failReason = "These S3 Buckets available with Public Read Access"
return {'Result': result, 'failReason': failReason, 'Offenders': offenders, 'ScoredControl': scored,'Description': description, 'ControlId': control}
