Changes between Version 8 and Version 9 of FeddGettingStarted


Ignore:
Timestamp:
Mar 29, 2012 9:01:41 PM (12 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FeddGettingStarted

    v8 v9  
    190190== Configuring the Access Controller ==
    191191
    192 The access controller needs a similar set of files configured, but there are a couple key differences.  The configuration file looks like:
     192The access controller needs a similar set of files configured, but there are a couple key differences. For exposition, call the configuration file {{{/usr/local/etc/fedd/access/access.conf}}}.
     193
     194The configuration file looks like:
    193195
    194196{{{
     
    257259
    258260}}}
     261
     262A copy is [attachnemnt:access.conf attached].
     263
     264An X.509 identity and ssh identity are required, and should be protected using proper file system protections.
     265
     266Again, we configure the ABAC credentials in 2 steps from the existing DETER database.  The system will map from an ABAC attribute to a user and project in which to create the federated experiment.  The access controller makes allocations as a user through two mechanisms
     267
     268 * The XMLRPC actions to manipulate DETER experiments are taken with a copy of the DETER user's SSL certificate issued by DETER
     269   * Copies of these certificates are placed under the access controller's home directory, protected by the file system
     270 * Additional software and data is moved into federated experiments using the access controller's ssh identity to log in as the user in question.
     271
     272The analogue {{{to exp_access.db.py}}} for DETER access controllers is {{{deter_exp_access_db.py}}}.  It takes the same selection praameters as {{{to exp_access.db.py}}} and two others:
     273
     274 * --testbed takes the X.509 certificate of this access controller.  This is used to get the fedid of the access controller.
     275 * --cert-dir is the pathname under the access controller's home in which copies of users' X.509 identities will be stored.
     276
     277This script is run on boss, so copy the access controller's certificate to boss and run something like:
     278
     279{{{
     280deter_exp_access_db.py --testbed cert.pem --cert-dir deter_certs
     281}}}
     282
     283and capture it to a file named {{{deter_access}}}.
     284
     285Now we need to gather the users' X.509 identities.  The following is puts them all in deter_certs in the current directory:
     286
     287{{{
     288db_to_certs.py --cert-dir deter_certs
     289}}}
     290
     291Make a tar archive of that directory and copy it back to users.  The certificate copies are all read-only and only accessible to the user who ran the script.  If the access controller will be running as another user, you will have to change their owners when you install them on users.
     292
     293Untar the certificates into {{{/usr/local/etc/fedd/access/deter_certs}}} and set permissions appropriately.
     294
     295Now to convert all this to ABAC, run the following in {{{/usr/local/etc/fedd/access}}}:
     296
     297{{{
     298access_to_abac.py --cert=fedd.pem --dir=/usr/local/etc/fedd/access/abac --type=emulab --mapfile=deter_abac_map deter_access
     299}}}
     300
     301Note that the parameter to {{{--mapfile}}} must be the filename given as {{{access_db:}}} in the {{{access.conf}}} file.
     302
     303At this point the access controller can be run as:
     304
     305{{{fedd.py --config=/usr/local/etc/fedd/access/access.conf --debug}}}
     306
     307It will also take the {{{--logfile}}} parameter.