config stuff
This commit is contained in:
1
config/__init__.py
Normal file
1
config/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
BIN
config/__init__.pyc
Normal file
BIN
config/__init__.pyc
Normal file
Binary file not shown.
33
config/config.py
Normal file
33
config/config.py
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
'''
|
||||||
|
Config Library
|
||||||
|
'''
|
||||||
|
|
||||||
|
import boto3
|
||||||
|
import botocore
|
||||||
|
import pprint
|
||||||
|
|
||||||
|
pp = pprint.PrettyPrinter(indent=5, width=80)
|
||||||
|
|
||||||
|
#from http://docs.aws.amazon.com/general/latest/gr/rande.html
|
||||||
|
regions = ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', ]
|
||||||
|
|
||||||
|
|
||||||
|
def describe_configuration_recorders(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, region):
|
||||||
|
response = []
|
||||||
|
try:
|
||||||
|
client = boto3.client("config", aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY,region_name=region)
|
||||||
|
|
||||||
|
response = client.describe_configuration_recorders()
|
||||||
|
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'] == 'AccessDenied':
|
||||||
|
print('%s : does not have config access. Did you check first?' % AWS_ACCESS_KEY_ID)
|
||||||
|
pass
|
||||||
|
elif e.response['Error']['Code'] == 'AccessDeniedException':
|
||||||
|
print('%s : does not have config access. Did you check first?' % AWS_ACCESS_KEY_ID)
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
print "Unexpected error: %s" % e
|
||||||
|
|
||||||
|
return response
|
||||||
BIN
config/config.pyc
Normal file
BIN
config/config.pyc
Normal file
Binary file not shown.
50
logging_list_monitoring_configuration.py
Normal file
50
logging_list_monitoring_configuration.py
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
'''
|
||||||
|
list config and other logging info
|
||||||
|
port of https://gist.github.com/cktricky/f19e8d55ea5dcb1fdade6ede588c6576
|
||||||
|
'''
|
||||||
|
|
||||||
|
from config.config import *
|
||||||
|
|
||||||
|
#from http://docs.aws.amazon.com/general/latest/gr/rande.html
|
||||||
|
regions = ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', ]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def print_section_header_and_footer(text, end=False):
|
||||||
|
print("-" * 50)
|
||||||
|
print(text)
|
||||||
|
print("-" * 50)
|
||||||
|
|
||||||
|
if end:
|
||||||
|
print("\n\n")
|
||||||
|
|
||||||
|
def print_config_text(text):
|
||||||
|
print("#" * len(text))
|
||||||
|
|
||||||
|
|
||||||
|
print_section_header_and_footer("BEGINNING OF CONFIG SERVICE REVIEW")
|
||||||
|
|
||||||
|
for region in regions:
|
||||||
|
response = describe_configuration_recorders(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, region)
|
||||||
|
|
||||||
|
config_service_text = "Config Service Recorders"
|
||||||
|
print_config_text(config_service_text)
|
||||||
|
print(config_service_text)
|
||||||
|
print("Region:" + region)
|
||||||
|
print_config_text(config_service_text)
|
||||||
|
|
||||||
|
print response
|
||||||
|
print len(response['ConfigurationRecorders'])
|
||||||
|
|
||||||
|
if len(response['ConfigurationRecorders']) <= 0:
|
||||||
|
print("NO CONFIGURATION DETECTED")
|
||||||
|
else:
|
||||||
|
for group in response['ConfigurationRecorders']:
|
||||||
|
pp.pprint(group['recordingGroup'])
|
||||||
|
|
||||||
|
print_section_header_and_footer("END OF CONFIG SERVICE REVIEW", True)
|
||||||
Reference in New Issue
Block a user