Changes between Initial Version and Version 1 of NewAPI


Ignore:
Timestamp:
Jun 18, 2013 1:57:29 PM (11 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewAPI

    v1 v1  
     1[[TOC]]
     2
     3= DETER Testbed API =
     4
     5This is the beginning of the living document that will document the DETER testbed API>
     6
     7== User Features ==
     8
     9A '''user''' is a researcher who uses the DETER testbed.  They request testbed services and allocate testbed resources.  Each call on the API is performed by a user.  A user is identified by a string unique to DETER, teh username.
     10
     11=== User Meta-data ===
     12
     13In addition to the user identifier DETER keeps meta-data about all users.  Currently that meta-data consists of:
     14
     15 * Projects the user is in (see below)
     16 * Experiments the user owns (see below)
     17 * A password to authenticate the user
     18 * A valid e-mail address for communication and password resetting
     19 * Resource access information, e.g.,
     20   * ssh public keys
     21   * windows authentication credentials
     22 * General metadata, e.g,
     23   * Real name
     24   * Affiliation
     25   * Phone number
     26   * Address
     27
     28The API provides an authenticated user (see below) with several interfaces to query and modify their profile information.
     29
     30In the API each element of profile data is represented as a structure with the following data in it:
     31
     32 * name of the element
     33 * type of the element
     34  * string
     35  * integer
     36  * double
     37  * binary/opaque
     38  * lists of any of the above
     39 * a flag set if the element is optional
     40 * a modification type: elements may be read/write, read-only (e.g., username) or write-only (e.g., password)
     41 * a brief description of the field, intended to be presented by a web interface or other third party program
     42
     43=== Authenticating as a User ===
     44
     45A user represnts themself to the testbed by presenting proof that they hold a public key, for example through an SSL connection.  The testbed determines what operations a user can carry out based on an ABAC-encoded policy that grants rights to users and binds keys to users.  A user is issued a public key periodically by DETER, but also can request a short lived temporary key at any time by authenticating against a shared password.