= ABAC = [[TOC]] The ABAC project has designed and implemented tools for using Attribute-Based Access Control, a scalable authorization system based on formal logic. It maps principals to attributes and uses the attribute to make an authorization decision, e.g., if user1 has the login attribute the login program will alllow them to log in. This library, libabac, is a base on which to build those tools. It is in use in the [http://fedd.deterlab.net DETER federation system] and being integrated with the [http://geni.net GENI network testbed]. If you are new to ABAC, you may find the [http://groups.geni.net/geni/wiki/TIEDABACModel introductory material] from our [http://groups.geni.net/geni/wiki/TIED TIED project] helpful. That material summarizes the power and semantics of ABAC and links to [http://groups.geni.net/geni/wiki/TIEDABACDemo examples of ABAC policy] illustrated using an early example of [CrudgeDocs the Crudge ABAC policy browser]. The latest ABAC RT0 version is '''ABAC 0.1.4'''. Jump down to [#Source Source] to download it. == What's Included == The core libabac distribution includes: * libabac, a linkable C/C++ library * Perl and Python bindings to libabac * A standalone java implementation * creddy, a command line credential management tool These ABAC tools use libabac * [CrudgeDocs crudge] a visual editor for ABAC policies and proofs * [http://abac.deterlab.net/java/crudge.jnlp webstart link] * [CredPrinterDocs credential printer] an XMLRPC service to convert credentials to a text representation = Getting started: Installing libabac = Installing libabac is a straightforward {{{configure}}}, {{{make}}}, {{{make install}}} sequence. There are a few things to be careful of depending on your operating system. == Software Dependencies == Libabac depends on openssl and the [http://www.aleksey.com/xmlsec/ xmlsec1 digital signature library]. Most unix-like operating systems have openssl installed and have xmlsec1 as a standard package. The perl and python bingings are generated by [http://www.swig.org/ swig] 1.3, and the build system uses automake and some autoconf macros. To set up Ubuntu for building libabac: {{{ $ sudo apt-get -y install autoconf-archive automake g++ git-core libtool python-dev swig libxmlsec1-dev }}} == News == See the [source:/doc/ChangeLog@mei_rt0 ChangeLog] for details about each release * 2013-05-XX: ABAC 0.1.4 released * 2011-04-11: Crudge 1.0 released * 2011-03-30: ABAC 0.1.3 released * 2010-10-01: ABAC 0.1.2 released * ~~2010-09-17~~ 2010-09-20: ABAC 0.1.1 released * '''Update:''' We fixed a one-line bug in creddy. If you downloaded this over the weekend, please fetch it again. == Source == Grab the latest tarball from http://abac.deterlab.net/src/abac-0.1.4.tgz ([http://abac.deterlab.net/src/abac-0.1.4.tgz.asc sig]/[GpgKey key]) Older versions available from http://abac.deterlab.net/src/ Browse the source using Trac's [/browser internal browser]. == Installation and Documentation == * [source:/doc/dependencies@mei_rt0 Software dependencies] * [wiki:InstallRT0 Installation instructions] * [wiki:DocumentationRT0 Documentation] * [wiki:DocumentationOld Old Documentation] == git / mailing list == Available via anonymous git: (RT0 with Java binding) {{{ git clone git://abac.deterlab.net/abac.git }}} Latest available via anonymous git: (RT0) {{{ git clone -b mei_rt0 git://abac.deterlab.net/abac.git }}} [http://lists.deterlab.net/listinfo/abac-dev dev mailing list]: If you're using anything out of git, you should be on it. It's low-volume, I promise! == Who == * Ted Faber faber@ISI.EDU * Mei-Hui Su mei@ISI.EDU * John Wroclawski jtw@ISI.EDU * Steve Schwab schwab@ISI.EDU