Skip to content

devdattakulkarni/KVAC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

K-VAC
------

K-VAC is an access control library for key-value stores.
K-VAC supports specification and enforcement of access control policies for 
key-value stores at different levels of resource hierarchy, such as 
groups of rows, specific rows, or specific columns. The policies 
can be based on the content of rows and columns, and they may also include
context information, such as user location and time of the day.

Details about the K-VAC model can be found in the document kvac-model.pdf included in the docs/ directory.

Here you will find K-VAC's bindings for Cassandra, HBase, and MongoDB.

K-VAC policies are represented in XML.
Here we present K-VAC policies for two different applications 
(a patient information system and a social sharing application).
The policy files for these two applications are available at the following locations:
- src/main/resources/PatientInfoSystemPolicy.xml
- src/main/resources/SocialShareAppPolicy.xml

With each policy definition we give the description of what that policy does.

Running Instructions:
----------------------
- Start Cassandra
  - Go to directory where you have downloaded Cassandra
  - Execute ./bin/cassandra
  - Go to Cassandra CLI (./cassandra-cli)
  - Connect to the cassandra cluster
  - Create following keyspaces:
    - PatientInfoSystem: create keyspace PatientInfoSystem
    - SocialShare: create keyspace SocialShare
  - Run tests from CassandraAccessorTest
  
- Start HBase
  - Go to directory where you have downloaded HBase
  - Execute ./bin/start-hbase.sh
  - Run tests from HBaseAccessorTest
    
- Start MongoDB Database Server process
  - Go to directory where you have downloaded MongoDB
  - Execute ./bin/mongod from command line
    - You may not be able to execute above command if the prior run of the process 
      was not cleanly shut-down. In such a scenario, you can delete the /data/db/mongod.lock file
      and then run mongod.
  - Run tests from MongoDBAccessorTest
      

KVAC library has been designed and tested with 
- Casssandra version  apache-cassandra-0.8.6
- HBase version hbase-0.92.0
- MongoDB version mongodb-osx-i386-2.0.1


Cassandra-KVAC
---------------

To compare and contrast the library based approach of KVAC presented here, 
I have also modified the Cassandra system to perform access control using KVAC.
This modified version of Cassandra can be found at:

https://github.com/devdattakulkarni/Cassandra-KVAC






About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages