Analysieren Sie das S3 CloudTrail-Protokoll mit Boto

zunaechst

Ich wollte Boto (Python SDK von AWS) verwenden, um das Protokoll von CloudTrail in S3 zu analysieren, aber es gab einige süchtig machende Punkte und ein Beispiel des Anfangs, das für mich sehr hilfreich wäre. Ich konnte den Code nicht gut finden, daher werde ich den Code als Referenz auf die Rückseite der Broschüre setzen.

Wo ich süchtig wurde

Darüber hinaus ähnelt das CloudTrail-Protokoll Die Verwendung von Loggly erleichtert die Analyse.

Über Python-Code

Elemente, die einzeln eingestellt werden müssen

"aws_access_key_id", "aws_secret_access_key", "target_path", "proxy", "proxy_port" müssen einzeln festgelegt werden.

Ergänzung

Umriss des Codeflusses

Der Verarbeitungsablauf ist wie folgt.


import boto.s3.connection, gzip, StringIO, json

aws_access_key_id='AKKBUGOIU4434DDTT'
aws_secret_access_key='78oiupoiuh7++REugoiusGSEE'
target_bucket = 'your-backet-name'
target_path = 'CroudTrail/AWSLogs/1234567899999888/CloudTrail/us-west-2/2015/07'

def main():
  s3Instance = boto.s3.connection.S3Connection \
    (aws_access_key_id, aws_secret_access_key, proxy='your.proxy.server.com', proxy_port=8080)
  s3Bucket   = s3Instance.get_bucket(target_bucket)
  bucketList = s3Bucket.list(prefix=target_path)

  for count, itemOne in enumerate(bucketList):
    s3BucketKey = s3Bucket.get_key(itemOne.name)
    buffer_gz = s3BucketKey.get_contents_as_string()
    stringBuffer = StringIO.StringIO(buffer_gz)
    buffer_text = gzip.GzipFile(fileobj=stringBuffer)

    try:
      responseJSON = json.loads(buffer_text.read())
    except Exception, e:
      print e
    else:
      for count, itemTwo in enumerate(responseJSON['Records']):
        if itemTwo['eventSource'] == 'rds.amazonaws.com':
          print json.dumps(itemTwo, separators=(',', ':'), indent=2)
          print 'Event name = %s' % (itemTwo['eventName'])
          print '================================='

    stringBuffer.close()
    buffer_text.close()

if __name__ == '__main__':
  main()

Recommended Posts

Analysieren Sie das S3 CloudTrail-Protokoll mit Boto
Verwenden Sie boto, um die Datei von S3 herunterzuladen.
S3 Uploader mit Boto
[S3] CRUD mit S3 unter Verwendung von Python [Python]
S3-Betrieb mit Python Boto3