in scripts/confirm_log_buckets_nodelete.py [0:0]
def validate_deny_delete_object(deny_statements, bucket):
valid_resource = 'arn:aws:s3:::%s/*' % bucket
for statement in deny_statements:
if statement['Resource'] != valid_resource or statement['Principal'] != '*':
continue
if type(statement['Action']) is str:
action = statement['Action']
if action == '*' or action[-1] in 's3:DeleteObject':
return 'COMPLIANT'
else:
for action in statement['Action']:
if action == '*' or action[-1] in 's3:DeleteObject':
return 'COMPLIANT'
return 'NON_COMPLIANT'