From 1357c804d9cbe30b6b30f2e91bde63bd9d6e325f Mon Sep 17 00:00:00 2001 From: carnal0wnage Date: Mon, 12 Jun 2017 21:54:49 -0400 Subject: [PATCH] list s3 buckets for an account --- s3/s3.py | 21 +++++++++++++++++++++ s3_list_buckets_for_acct.py | 23 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 s3_list_buckets_for_acct.py diff --git a/s3/s3.py b/s3/s3.py index 7284a6e..f5b25b6 100644 --- a/s3/s3.py +++ b/s3/s3.py @@ -102,3 +102,24 @@ def get_s3object_acl(access_key, secret_key, bucket, myfile): print('%s : doesnt have s3 access' % AWS_ACCESS_KEY_ID) else: print "Unexpected error: %s" % e + +def get_s3objects_foraccount(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): + client = boto3.resource( + 's3', + aws_access_key_id=AWS_ACCESS_KEY_ID, + aws_secret_access_key=AWS_SECRET_ACCESS_KEY, + region_name='us-east-1' + ) + + try: + print('#### Trying to list s3 bucketsfor {} ####\n '.format(AWS_ACCESS_KEY_ID)) + for bucket in client.buckets.all(): + print(bucket.name) + + except botocore.exceptions.ClientError as e: + if e.response['Error']['Code'] == 'InvalidClientTokenId': + sys.exit("The AWS KEY IS INVALID. Exiting") + elif e.response['Error']['Code'] == 'NotSignedUp': + print('%s : doesnt have s3 access' % AWS_ACCESS_KEY_ID) + else: + print "Unexpected error: %s" % e diff --git a/s3_list_buckets_for_acct.py b/s3_list_buckets_for_acct.py new file mode 100644 index 0000000..111970c --- /dev/null +++ b/s3_list_buckets_for_acct.py @@ -0,0 +1,23 @@ +import boto3 +import botocore + +import json +import urllib +import logging +import sys,os +import pprint + +pp = pprint.PrettyPrinter(indent=5, width=80) + +from s3.s3 import * + +#insert AWS key, will figure out how to pull this in from a single file for all scripts + +AWS_ACCESS_KEY_ID = '' +AWS_SECRET_ACCESS_KEY ='' + + +#client = boto3.resource('s3') +#for bucket in client.buckets.all(): +# print(bucket.name) +get_s3objects_foraccount(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) \ No newline at end of file