Giter Club home page Giter Club logo

watchmen's Introduction

Watchmen

(AWS account compliance using centrally managed Config Rules)...


Overview...

Watchmen provides the framework to centralise the lambda functions used by AWS config rules into a single AWS account so that they can be managed easily and efficiently using automation.

Essentially we deploy our Watchmen stack to a dedicated AWS account. We then get our other AWS accounts (Citizens) to deploy a Citizen stack which provides Watchmen with a role that will allow us to deploy and manage config rules in their account. These config rules will be pointing to lambdas in the Watchmen account. When the config rule is trigged, Watchmen will run the lambda but will assume another role in the Citizen account so that it reports on resources in the Citizen accounts.


What is Watchmen?

Watchmen is an AWS CloudFormation stack comprising of:

  • Lambda functions written in Python that process AWS resources and determine if they are compliant or non-compliant based on certain rules logic.
  • Monitoring stack using CloudWatch to monitor the Lambda functions.
  • ElasticSearch stack to ingest the logs from the Lambda functions so they can be easily visualised and searched.
  • Reporting stack using additional lambda functions to report on the status of each Citizen's Config Rules and import into DynamoDB.
  • Citizen Update stack using a SNS topic and additional lambda function to manage the AWS Config rules in each Citizen account.
  • Other stuff that makes everything work (IAM roles, polices, lambda permissions, etc).

Citizens...

To enable the monitoring of a Citizen AWS account, we deploy a stack comprising of:

  • IAM roles that allow us to deploy config rules and query AWS Config for statuses of resources.
  • Config Rules that display in AWS Config whether resources are compliant or non-compliant.

Further Information

More detailed information is provided on our github wiki: https://github.com/iagcl/watchmen/wiki

watchmen's People

Contributors

adrianmkng avatar bhushan8805 avatar shrutikembhavi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

watchmen's Issues

Error deploying Watchmen

I'm trying to deploy Watchmen as per the instructions, but I'm getting this warning and this error:

/usr/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)
fatal error: An error occurred (NoSuchBucket) when calling the ListObjects operation: The specified bucket does not exist
make: *** [create-zips] Error 1
Makefile:77: recipe for target 'deploy-watchmen-core-in-docker' failed
make: *** [deploy-watchmen-core-in-docker] Error 2

I was under the impression that Watchmen would create the buckets for me, is this not correct? Also I'm not sure which bucket it's expecting to be there.

Billing code.

Hey guys, you have billing_code details set in yaml files in the watchmen_cloudformation still.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.