Changes between Version 20 and Version 21 of WikiStart


Ignore:
Timestamp:
Jul 16, 2013 11:42:27 AM (11 years ago)
Author:
Mei
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v20 v21  
    77If 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].
    88
    9 The latest ABAC RT0 version is [http://abac.deterlab.net/src/abac-0.1.4.tar.gz ABAC 0.1.4] ([http://abac.deterlab.net/src/abac-0.1.4.tar.gz.asc signature]).
     9The latest ABAC RT0 version is [http://abac.deterlab.net/src/abac-0.1.5.tar.gz ABAC 0.1.5] ([http://abac.deterlab.net/src/abac-0.1.5.tar.gz.asc signature]).
    1010
    1111== What's Included ==
     
    6868=== Installation ===
    6969
    70 Then get the [http://abac.deterlab.net/src/abac-0.1.4.tar.gz source], untar it, change to the {{{abac-0.1.4}}} directory and do the standard install sequence:
     70Then get the [http://abac.deterlab.net/src/abac-0.1.5.tar.gz source], untar it, change to the {{{abac-0.1.5}}} directory and do the standard install sequence:
    7171
    7272{{{
     
    7777}}}
    7878
    79 To confirm that your install succeeded:
    80 
    81 {{{
    82 $ cd examples
    83 $ make
     79To confirm that your build succeeded:
     80
     81{{{
     82$ make testing
    8483}}}
    8584
     
    8887=== Tracking Development ===
    8988
    90 Current released [http://abac.deterlab.net/src/abac-0.1.4.tar.gz source] [http://abac.deterlab.net/src/abac-0.1.4.tar.gz.asc signature]
     89Current released [http://abac.deterlab.net/src/abac-0.1.5.tar.gz source] [http://abac.deterlab.net/src/abac-0.1.5.tar.gz.asc signature]
    9190
    9291If you would like to track the libabac development, you can pull code from out publically available git repository:
     
    101100
    102101See the [source:/doc/ChangeLog ChangeLog] for details about each release
     102 * 2013-07-17: ABAC 0.1.5 released
    103103 * 2013-05-20: ABAC 0.1.4 released
    104104 * 2011-04-11: Crudge 1.0 released
     
    114114Libabac allows developers to import signed ABAC statements about principals and attributes and prove that certain principals have those attributes ([http://groups.geni.net/geni/wiki/TIEDABACModel more detail about ABAC logic]).  The basic structures that libabac uses to support those operations are identities, attributes, and a context for those.
    115115
    116 The [/browser/doc/API?tag=0.1.4 API document] lists all the interfaces to the library, but this section is intended to impart some meaning to the various structures.  The java interface is slightly different in detail, but uses the same constructs.  These examples use python so that the interested user can basically type along with the descriptions.
     116The [/browser/doc/API?tag=0.1.5 API document] lists all the interfaces to the library, but this section is intended to impart some meaning to the various structures.  The java interface is slightly different in detail, but uses the same constructs.  These examples use python so that the interested user can basically type along with the descriptions.
    117117
    118118Our native java implementation, [JavaSupport jabac] follows the same API, but differs in some details.  Full [http://abac.deterlab.net/javadoc/index.html javadocs] are available for jabac, and the examples below are easily translated into that interface.
     
    276276=== Credentials and Roles ===
    277277
    278 Credentials are the abstraction of ABAC statements and Roles are the abstraction of the terms of an ABAC statement.  A Credential is made up of two Roles, a head and a tail that make the two sides of the ABAC statement.  There are a set of  accessors to parse the contents of a role, described in the [/browser/doc/API?tag=0.1.4 API docs], and roles are primarily of interest in printing and exploring the proof.
     278Credentials are the abstraction of ABAC statements and Roles are the abstraction of the terms of an ABAC statement.  A Credential is made up of two Roles, a head and a tail that make the two sides of the ABAC statement.  There are a set of  accessors to parse the contents of a role, described in the [/browser/doc/API?tag=0.1.5 API docs], and roles are primarily of interest in printing and exploring the proof.
    279279
    280280Credentials are useful in communicating proof contents outside the program.  In addition to {{{head}}} and {{{tail}}} accessors that access the Roles, a Credential has a {{{attribute_cert()}}} method that returns the exportable content of the assertion and an {{{issuer_cert()}}} that returns the issuer's X.509 certificate (sans private key).  These outputs are chunks, useful for writing to files or importing into other contexts.  The following code prints the proof of our earlier successful question and saves it to files.  This is not exemplary python file handling, but the point is to see the accessors:
     
    297297== Next Steps ==
    298298
    299 In addition to the [/browser/doc/API?tag=0.1.4 API description] the code for the [CredPrinterDocs credential printer] is [/browser/cred_printer available].  It is a fairly complete example of using python and libabac.
     299In addition to the [/browser/doc/API?tag=0.1.5 API description] the code for the [CredPrinterDocs credential printer] is [/browser/cred_printer available].  It is a fairly complete example of using python and libabac.
    300300
    301301There are [NewStuff new features] being worked on in the git repository.