Provided by: lcmaps-plugins-jobrep_1.5.3-2_amd64 bug

NAME

       lcmaps_jobrep.mod - jobrepository LCMAPS plug-in

SYNOPSIS

       lcmaps_jobrep.mod   [--test]   --dsn  <Database Service Name>  --username  <database user>
       --password <database password>

DESCRIPTION

       The LCMAPS Jobrepository plug-in stores credentials and  the  resulting  account  mappings
       into  a relational database. This plugin will link up all the known in-process information
       from  LCMAPS  core  memory  and  stores  it  in  a  database.  This  plug-in   uses   ODBC
       (http://en.wikipedia.org/wiki/ODBC) to connect to the database.

       The  current state of the mappings between various credentials and Unix accounts is stored
       in an open database on disk, but this information can change over time  through  (regular)
       system  administrative interventions. This state is now preserved in a relational database
       with the added benefit of being accessible by other systems, e.g. GridSAFE and build-up an
       easy to backup historic view on the mapping state.

       Quite some systems seem to dig up data by trawling log files, e.g. to construct accounting
       data records. This method is subjected to the settings of the  sub-systems  which  control
       the  format  of the log file output. Log trawling tools are interacting with the log files
       as a glorified API. This lowers the ability for tools, e.g. LCMAPS,  to  alter  their  log
       output.  By  offering  the  LCMAPS  Jobrepository plug-in as an alternative with the added
       benefit of offering the data in a structured fine-grained database with the ability of  an
       historic view the intend is to avoid the need and/or requirement for log file trawling.

DATABASE SCHEMA EXTENSIONS

       The  schema  can  be  used  to  link  up account mapping and/or credential mapping results
       originating from other credential types and link up more fine  grained  details  from  the
       specific  work  environment,  i.e.  a  Gatekeeper and GridFTPd will be able to add service
       specific information together with the mapping results.

FUTURE

       The LCMAPS Jobrepository plug-in is currently limited to MySQL  and  MariaDB  despite  its
       usage of the ODBC database interface. The intend is to remove this limitation and make the
       plug-in work with other database, e.g. PostgreSQL, Oracle and SQLite.

OPTIONS

       --test When enabled the plug-in will only test if the connection to the  database  can  be
              established  through the ODBC coupling. The test will verify the correctness of the
              DSN, Username and Password combination. The plug-in will announce an LCMAPS SUCCESS
              when  the  connection  was  established,  and  a  FAILURE  when  it was not able to
              establish the connection.

       --dsn <Database Service Name>
              This will select the Data Source Name (DSN) that has been set in a  odbc.ini  file.
              Use  the  odbc.ini  file to configure the database driver, server/host, port number
              and database name. See below for an example odbc.ini file.

       --username <database username>
              Specifies the database username that the LCMAPS module must use to authorize itself
              with the database.

       --password <database password>
              Specifies the database password that the LCMAPS module must use to authorize itself
              with. You can omit the setting if you set the password in the odbc.ini file.

              WARNING: Be careful to assess the read permissions on  the  lcmaps.db  file  to  be
              exclusive  to the service using this file, i.e. it's probably best to make the file
              exclusive to root:root.

RETURN VALUES

       LCMAPS_MOD_SUCCESS
              Success.

       LCMAPS_MOD_FAIL
              Failure.

EXAMPLES

       Notice the --dsn <value> matches the DSN shown in the .ini  section  header.  Also  notice
       that  the  posix_enf plug-in is executed after the jobrep plug-in. The motivation is to be
       able to use privilege separation and with that protect the database password.

       Example lcmaps.db
              jobrep      = "lcmaps_jobrep.mod"
                            "--dsn MySQL-test"
                            "--username root"
                            "--password worteltjes"

              example_plugin_policy:
              verifyproxy -> vomslocalgroup
              vomslocalgroup -> vomspoolaccount
              vomspoolaccount -> tracking_groupid
              tracking_groupid -> jobrep
              jobrep -> posix_enf

       Example /etc/odbc.ini file:
              [MySQL-test]
              Description = MySQL test database
              Driver      = MySQL
              SERVER      = 127.0.0.1
              PORT        = 3306
              DATABASE    = jobrepository

SUPPORTED INSTALLATIONS

       Tested front-end tools and services
              gLExec
              globus-gridftp-server
              globus-gatekeeper

       Likely to work
              SCAS
              lcmaps-rest (only the Full-SSL interface)
              gsi-openssh-server

       Front-ends that will likely NOT work
              WMProxy
              StoRM backend

LIMITATIONS

       The front-ends which do not  use  an  LCMAPS  interface  that  provides  certificates  can
       currently  not  be  supported.  It is a requirement for the 1.5 version to be able to work
       from a certificate chain.

BUGS

       Please report any errors to the Nikhef Grid Middleware  Security  Team  <grid-mw-security-
       support@nikhef.nl>.

SEE ALSO

       lcmaps(8), lcmaps_jobrep.mod(8), mysql(1).
       More  information  can be found on-line at https://wiki.nikhef.nl/grid/Site_Access_Control
       the Nikhef Wiki on Site Access Control and https://wiki.nikhef.nl/grid/LCMAPS  the  Nikhef
       Wiki on LCMAPS and other plug-ins.

AUTHOR

       The  Jobrepository  and  the  LCMAPS  plug-ins  were written by the Nikhef Grid Middleware
       Security Team <grid-mw-security@nikhef.nl>.