Skip to content

Hello World Application for Magen Data Leak Prevention Software

License

Notifications You must be signed in to change notification settings

magengit/magen-hwa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Magen Asset Repository Service ("Hello World Application")

Build Status codecov Code Health

Magen HWA is a web server app that demonstrates the capabilities and interoperation of the various Magen services. The "onenode" orchestrator included in the distribution can be used to stand up HWA, the four Magen services, and a mongod instance as 6 cooperating containers. The user can first use the HWA web interface to "log in", with the operation handled through the Magen ID Service. The user can then use HWA to ingest files, with the operation handled through the Magen ID Service and with the ingested asset encrypted using a key provided by the Magen Key Service. The user can then use HWA to try to access (view or download) a previously ingested file, with the access attempt evaluated by the Magen Policy Service. Finally, HWA provides detailed documentation through the web interface.

Policies are managed (e.g. created) through the Magen Policy Service ReST API, driven e.g. from Postman using the magen-policy-specific Postman collections included in the distribution. Without creating an appropriate policy, attempts to access ingestion assets will fail.

Current version: 1.0a3

Git clone

All of Magen services depend on an operations git submodule magen_helper. When cloning this repo, make sure to provide --recursive flag or after the clone execute a command to update magen-helpers git submodule:

git submodule update --init --recursive

Demo

To set up the demo "Hello, World" App, please see Readme.

HWA Details

For This Service there are available make commands. Makefile is located under hwa/

Make Default Target: make default. Here is the list of available targets

default:
	@echo 'Makefile for Magen HWA'
	@echo
	@echo 'Usage:'
	@echo '	make clean    		:Remove packages from system and pyc files'
	@echo '	make test     		:Run the test suite'
	@echo '	make package  		:Create Python wheel package'
	@echo '	make install  		:Install Python wheel package'
	@echo '	make all      		:clean->package->install'
	@echo '	make list     		:List of All Magen Dependencies'
	@echo '	make build_docker 	:Pull Base Docker Image and Current Image'
	@echo '	make run_docker   	:Build and Run required Docker containers with mounted source'
	@echo '	make runpkg_docker	:Build and Run required Docker containers with created wheel'
	@echo '	make test_docker  	:Build, Start and Run tests inside main Docker container interactively'
	@echo '	make stop_docker  	:Stop and Remove All running Docker containers'
	@echo '	make clean_docker 	:Remove Docker unused images'
	@echo '	make rm_docker    	:Remove All Docker images if no containers running'
	@echo '	make doc		:Generate Sphinx API docs'
	@echo
	@echo

Requirements: MacOS X

  1. python3 -V: Python 3.5.2 (>=3.4)
  2. pip3 -V: pip 9.0.1
  3. make -v: GNU Make 3.81
  4. docker -v: Docker version 17.03.0-ce, build 60ccb22
  5. docker-compose -v: docker-compose version 1.11.2, build dfed245
  6. Make sure you have correct rights to clone Cisco-Magen github organization

Requirements: AWS EC2 Ubuntu

  1. python3 -V: Python 3.5.2
  2. pip3 -V: pip 9.0.1
  3. make -v: GNU Make 4.1
  4. docker -v: Docker version 17.03.0-ce, build 60ccb22
  5. docker-compose -v: docker-compose version 1.11.2, build dfed245
  6. Make sure AWS user and root have correct rights to Cisco-Magen github organization

Adopt this Infrastructure

  1. get magen-helper submodule to the repo following instructions in submodule Readme
  2. follow the structure in docker_ks to create docker-compose.yml and Dockerfile files
  3. use Makefile as an example for building make automation

Targets

  1. make all -> Install Magen-Core dependencies, clean, package and install hwa package
  2. make test -> run hwa tests