Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of...
-
Upload
ferdinand-joseph -
Category
Documents
-
view
212 -
download
0
Transcript of Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of...
![Page 1: Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of Manchester mcnab@hep.man.ac.uk.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e265503460f94b155ce/html5/thumbnails/1.jpg)
Andrew McNab - GACL - 16 Dec 2003
Grid Access Control Language
Andrew McNab, University of Manchester
![Page 2: Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of Manchester mcnab@hep.man.ac.uk.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e265503460f94b155ce/html5/thumbnails/2.jpg)
Andrew McNab - GACL - 16 Dec 2003GridPP / EDG / WP6
Current GACL’s
When building GridSite, SlashGrid and the EDG Storage Element, we needed a simple ACL format to use for prototyping.
Wanted to support multiple credential types individuals (X.509/GSI identities)
groups from VO-LDAP list-publishing services
groups/roles from VOMS attribute certificate services
Currently use per-directory XML ACL in file .gacl As a file, this can be stored in directories, copied via unmodified
https or gsiftp channels and easily manipulated by scripts and applications.
We aimed for simplicity since we wanted to use it for fileservers and filesystems, and we care about performance.
![Page 3: Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of Manchester mcnab@hep.man.ac.uk.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e265503460f94b155ce/html5/thumbnails/3.jpg)
Andrew McNab - GACL - 16 Dec 2003GridPP / EDG / WP6
GACL example
<gacl version=“0.0.1”>
<entry>
<person> <dn>/O=Grid/CN=Andrew</dn> </person>
<allow><read/><list/><write/></allow> <deny><admin/></deny>
</entry></gacl>
![Page 4: Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of Manchester mcnab@hep.man.ac.uk.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e265503460f94b155ce/html5/thumbnails/4.jpg)
Andrew McNab - GACL - 16 Dec 2003GridPP / EDG / WP6
GACL example
<gacl version=“0.0.1”>
<entry>
<person> <dn>/O=Grid/CN=Andrew</dn> </person>
<allow><read/><list/><write/></allow> <deny><admin/></deny>
</entry></gacl>
Credential:AND’d inside this entry if more than one present
Permissions:deny wins over allow
Entry: container forcredentials and permissions
If multipleentries, resultingpermissions are
OR’d
![Page 5: Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of Manchester mcnab@hep.man.ac.uk.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e265503460f94b155ce/html5/thumbnails/5.jpg)
Andrew McNab - GACL - 16 Dec 2003GridPP / EDG / WP6
Currently supported credential types Any user or authenticated user (cf AFS)
<any-user/> or <auth-user/>
Person - full certificate or original issuer of GSI proxy <person><dn>/O=Grid/CN=Mr Grid Person</dn></person>
VOMS - fully qualified attribute names from VOMS certificate <voms><fqan>/vo.name/group/subgroup/Role=X</fqan></voms>
DN List - text lists of DNs, pulled by something outside GACL <dn-list><url>https://www.vo.name/dn-lists/group</url></dn-list>
<dn-list><url>ldap://ldap.vo.name/ou=group,dc=vo,dc=name</url></dn-list>
<dn-list><url>vomss://vo.name/voms-admin-vo?/group</url></dn-list>
DNS - application must supply remote host name of request/user <dns><hostname>host*.domain.name</hostname></dns>
![Page 6: Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of Manchester mcnab@hep.man.ac.uk.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e265503460f94b155ce/html5/thumbnails/6.jpg)
Andrew McNab - GACL - 16 Dec 2003GridPP / EDG / WP6
GACL library
XML ACL format not finalised but several products wanted to use it: GridSite; SlashGrid; and EDG Storage Element.
ACL will almost certainly change again in the future; and (hopefully) will need to understand XACML policies emerging from GGF.
Insulate ourselves from this by putting ACL handling functions into a standalone library, and make this understand the current XML.
Handles read/list/write ACL’s in a reasonably general and OO way packs C structs and linked lists with their contents
provides access functions to manipulate the structs as types/objects
Build up ACL objects and User objects out of credential, permission and entry objects.
Then compare User to ACL to get user permissions for this context.
![Page 7: Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of Manchester mcnab@hep.man.ac.uk.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e265503460f94b155ce/html5/thumbnails/7.jpg)
Andrew McNab - GACL - 16 Dec 2003GridPP / EDG / WP6
EDG Middleware using GACL
WP1 GACL is used to specify the access policies for data in Logging and
Bookkeeping service.
WP4 LCAS VOMS plugin compares VOMS attribute assertions against GACL
policy written by site.
WP5 GACL integrated into Storage Element for access control of files.
GridSite (HTTPS) and SlashGrid (filesystems) GACL is the basis of read/write file access to files.
After 0.9.2, GACL library became GridSite library (now with http and x509 utility functions.)
![Page 8: Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of Manchester mcnab@hep.man.ac.uk.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e265503460f94b155ce/html5/thumbnails/8.jpg)
Andrew McNab - GACL - 16 Dec 2003GridPP / EDG / WP6
mod_ssl: plainHTTPS > env vars
mod_gridsite: GACL access control + GACL > env vars
mod_gridsite:.html headersand footers
.shtml,mod_perlCGI, PHP
mod_jk:JSP withTomcat
HTTP
grst-admin.cgi: page editing,file upload, ACL editing etc.
mod_gridsite:file PUT
and DELETE
GridSite / Apache
Architecture
mod_gridsite: GSI / VOMS OpenSSL callback wrappers
![Page 9: Andrew McNab - GACL - 16 Dec 2003 Grid Access Control Language Andrew McNab, University of Manchester mcnab@hep.man.ac.uk.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e265503460f94b155ce/html5/thumbnails/9.jpg)
Andrew McNab - GACL - 16 Dec 2003GridPP / EDG / WP6
Summary
GACL provides a simple way of describing resource access policies in XML.
GACL supports both pull (LDAP/HTTP) and push (VOMS) authorization models.
GACL library provides API for handling Grid ACL’s.
GACL is being used by EDG WP1 (L&B), WP4 (LCAS), WP5 (SE) and WP6 (GridSite)
Further work on GACL as part of GridSite library
For more information, see http://www.gridpp.ac.uk/gridsite/ - overview, CVS/LXR
http://savannah.cern.ch/projects/gridsite/ - bug tracker, news