gessnerfl / audited-sql-console Goto Github PK
View Code? Open in Web Editor NEWWeb application to access SQL database with audit log and approval process
License: Apache License 2.0
Web application to access SQL database with audit log and approval process
License: Apache License 2.0
As a auditor
I want to be able to brows all db requests and the executed queries
So that I can check which statements have been executed
As a user
I want to be able to run SQL statements in the context in the context of a given request
So that I can perform the needed operations on the DB
As a user
I want to be able request access to a database
So that I can run queries against the requested database
The user interface of the Audited SQL Console should be implemented with Angular with TypeScript. The build should be integrated seamlessly into the Gradle build.
As a system operator
I want that all sensitive data such as the database connection passwords are stored encrypted
So that the sensitive data cannot be read by unauthorized users.
The software has to be able to connect to different database endpoints. Therefor the username and password of the given system is needed so that the connection can be established.
However such sensitive data should be protected from unauthorized access. Therefor the data should be stored encrypted in the database.
For the en/decryption an asynchronous encryption algorithm should be used. The key material has to be configured in the application. The password of the key material has to be entered once after system startup and should be stored in memory.
h1.Story
As a engineer
I want to implement the software with an microservices architecture
So that we can easily extend new features by adding new services
h1.Technical Details
With the requirement of full audit log and the idea of implementing this with event sourcing microservices as an design and architecture methodology fits perfectly for this project.
As security is needed to work between all services we have to migrate the existing login with OAuth2
As a approver
I want to be able to approve or reject DB Requests
So that I can grant or reject access to the database
As a developer
I want to get continues integration including code coverage
So that I get fast feedback when committing changes
As a auditor
I expect that all operations in system a stored as an event
So that I can trace all changes made in the system
The overall system should be implemented with the methodology. Each change should be reflected in the event store. This story is about building the event store which is capable to hold all system events.
The events should be stored in Cassandra. Event listeners should be notified when the event has been persisted.
As a user
I want to be able to login to the application
So that I can create DB access requests or to approve DB access request
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.