Project

General

Profile

1
<!--
2
  * acontrol.html
3
  *
4
  *      Authors: Jivka Bojilova
5
  *    Copyright: 2000 Regents of the University of California and the
6
  *               National Center for Ecological Analysis and Synthesis
7
  *  For Details: http://www.nceas.ucsb.edu/
8
  *      Created: 2000 April 5
9
  *      Version: 0.01
10
  *    File Info: '$Id: acontrol.html 878 2001-12-18 18:11:42Z berkley $'
11
  * 
12
  * October Meeting SDSC, 2000
13
-->
14
<HTML>
15
<HEAD>
16
<TITLE>Metacat</TITLE>
17
<link rel="stylesheet" type="text/css" href="@docrooturl@default.css">
18
</HEAD> 
19
<BODY>
20
  <table width="100%">
21
    <tr>
22
      <td class="tablehead" colspan="2"><p class="label">Metacat User 
23
      Authentication and Access Control</p></td>
24
      <td class="tablehead" colspan="2" align="right">
25
        <a href="./xmlindex.html">Back</a> | <a href="./metacattour.html">Home</a> | 
26
        <a href="./metacatout.html">Next</a>
27
      </td>
28
    </tr>
29
  </table>
30
  <p><b>Authentication</b></p>
31
    <p>Metacat has a public interface for porting authentication 
32
      schemes to Metacat.  Currently LDAP scheme is implemented. 
33
      LDAP stands for Lightweight Directory Access Protocol. 
34
      It is optimized database for fast retrival of stored data:
35
      It is used by Metacat to store its users and their information. 
36
      The users can be organized in one or more groups.
37
    </p>
38
    <P> <img src="auth.gif"> 
39
    <P> <b>Access control in Metacat. </b></p>
40
    <ul>
41
      <li> Metacat users stored in the LDAP directory database are authenticated to use Metacat services and resources.</li>
42
      <li> A persistant session is assigned to an authenticated user.</li>
43
      <li> Metacat also allows document level access control via Access Control Lists (ACLs).</li>
44
    </ul>
45
  <!--<img src="acontrol.gif">-->
46
  <b>ACLs</b>
47
  <p>Metacat allows a user to set permissions for users or groups on individual documents by using
48
  a special XML file called an Access file.  The <a href="./packages.html">Package</a> file
49
  specifies which documents the Access file refers to. 
50
  These are the same documents the permissions are assigned for.
51
  A sample Access file looks like the following:</p>
52
  <pre>
53
    &lt;?xml version="1.0"?&gt;
54
    &lt;!DOCTYPE acl PUBLIC "-//NCEAS//eml-access-2.0//EN" "eml-access-2.0.dtd"&gt;
55
    &lt;acl authSystem="knb" order="allowFirst"&gt;
56
      &lt;identifier&gt;nceas.36.1&lt;/identifier&gt;
57
      &lt;allow&gt;
58
        &lt;principal&gt;jones&lt;/principal&gt;
59
        &lt;principal&gt;higgins&lt;/principal&gt;
60
        &lt;principal&gt;berkley&lt;/principal&gt;
61
        &lt;principal&gt;bojilova&lt;/principal&gt;
62
        &lt;permission&gt;read&lt;/permission&gt;
63
        &lt;duration&gt;
64
          &lt;startDate&gt;10/9/2000&lt;/startDate&gt;
65
          &lt;stopDate&gt;10/9/2001&lt;/stopDate&gt;
66
        &lt;/duration&gt;
67
        &lt;ticketCount&gt;100&lt;/ticketCount&gt;
68
      &lt;/allow&gt;
69
      &lt;allow&gt;
70
        &lt;principal&gt;bojilova&lt;/principal&gt;
71
        &lt;permission&gt;write&lt;/permission&gt;
72
        &lt;ticketCount&gt;10&lt;/ticketCount&gt;
73
      &lt;/allow&gt;
74
      &lt;allow&gt;
75
        &lt;principal&gt;reviewers&lt;/principal&gt;
76
        &lt;permission&gt;read&lt;/permission&gt;
77
        &lt;ticketCount&gt;5&lt;/ticketCount&gt;
78
      &lt;/allow&gt;
79
      &lt;allow&gt;
80
        &lt;principal&gt;blankman&lt;/principal&gt;
81
        &lt;permission&gt;all&lt;/permission&gt;
82
      &lt;/allow&gt;
83
      &lt;deny&gt;
84
        &lt;principal&gt;eddins&lt;/principal&gt;
85
        &lt;permission&gt;all&lt;/permission&gt;
86
      &lt;/deny&gt;
87
    &lt;/acl&gt;
88
  </pre>
89
  
90
  <p>This file is read into Metacat like any other XML file.  Like 
91
     <a href="./packages.html">Packages</a> the doctype is checked against
92
     the accessdoctype parameter in the <a href="./properties.html">Metacat
93
     Properties</a> file.  If the doctype matches, special postprocessing
94
     is performed on the document and the persmissions described in the file
95
     are applied to the specified document.
96
  </p>
97
  <p>The main tag &lt;acl&gt; has attributes 'order' and 'authSystem'.  
98
     Order refers to which permission type to process first, allow or deny.
99
     The allowed values are "allowFirst" and  "denyFirst".  The default is "allowFirst".
100
  </p>
101
  <p>The &lt;identifier&gt; tag specifies the document identifier for the Access file
102
     itself as stored in Metacat.
103
  </p>
104
  <p>Next are the permissions themselves.  An allow tag gives permissions to 
105
  the specified user(s) (&lt;principal&gt;) and a deny tag take the permissions
106
  away from the user(s).  A principal should be a registered user or group.
107
  A timed duration can be set on the permission after
108
  which the user(s) will no longer have the specified permission.  A ticket count
109
  can also be set.  This gives the user the number of accesses specified.  After
110
  the user has accessed the document that number of times, the permissions are 
111
  revoked. 
112
  </p>
113
    
114
  <br>
115
  <a href="./xmlindex.html">Back</a> | <a href="./metacattour.html">Home</a> | 
116
  <a href="./metacatout.html">Next</a>
117
</BODY>
118
</HTML>
119

    
(3-3/45)