Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.
Transcript of Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.
![Page 1: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/1.jpg)
Role Based VO Authorization Services
Ian Fisk
Gabriele Carcassi
July 20, 2005
![Page 2: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/2.jpg)
Definition
• Role based VO authorization: an authorization decision based on an extended credential provided by the VO server that allows a user to have different sessions in which he obtains different privileges
![Page 3: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/3.jpg)
Use case
• A VO compiles a list of users that can use data production resources
• When acting as data production coordinator, the user gets a “token” from the VO, that states he is authorized to act in that role
• The user presents that token to the site when submitting a job or initiating a file transfer
• The services maps the user to a different account based on the role
• The different account allows access to restricted resources or a different class of service (i.e. file access, higher queue priorities, special pool of machines, …)
![Page 4: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/4.jpg)
Example: USATLAS at BNL• /atlas/usatlas/Role=production: few people (currently ~7) coordinate the
data production– run under the same account ‘usatlas1’ (allows to start/stop each other jobs)– ‘usatlas1’ have a very high priority on the farm
• /atlas/usatlas/Role=software: very few people (~3) that need to install remove software and debug applications
– special account ‘usatlas2’, write on NFS with group readable access (rest of atlas can run applications, but not modify them)
– highest priority, but on very few machines (~3) to be able to “skip” the queue (i.e. install/debug won’t wait in queue anymore)
• /atlas/usatlas: all analysis users (~90)– assigned an account from the pool (i.e. grid001): allows auditing for the site
• /atlas/lcg1: “international atlas” (~150)– Assigned an account from the pool with different gid (allows the batch system to
differentiate between ATLAS and USATLAS to set policy accordingly)• Rest of OSG
– Assigned an account from the pool, gid different for each VO– UNIX Group read/write == VO read/write
![Page 5: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/5.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
0
The user, member of VO “foo”, wants to submit a job with a role “bar” to the gatekeeper of site “X”.
![Page 6: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/6.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
1
The user run “voms-proxy-init –voms foo:/foo/Role=bar”, to generate his VO authorized proxy.
![Page 7: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/7.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
2
Voms-proxy-init creates a normal user proxy, and then sends it to the foo VO VOMS server.
![Page 8: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/8.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
3
The VOMS server returns the VOMS proxy, signed by the VO, that authorizes the user to act as “bar”.
![Page 9: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/9.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
4
The user submits the job to site X
![Page 10: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/10.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
5
The gatekeeper, through the globus call-out, delegates the PRIMA module to decide what local user account to should be used for the given GRID credential.
![Page 11: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/11.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
6
Prima extracts the Proxy information and sends a message to asks GUMS which local account should be used. (The message is a SAML authorization request)
![Page 12: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/12.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
7
GUMS consults its configuration, the local copy it keeps of the different database, and determines that the corresponding credential should be mapped to “foobar1”. GUMS returns a message, a SAML successful response with the obligation account=“foobar1”
![Page 13: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/13.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
8
PRIMA interprets the response, and return the account “foobar1” to the gatekeeper.
![Page 14: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/14.jpg)
An example
User
voms-proxy-init
gums-host
VOMS
siteGUMSServer
Gatekeeper
grid3-user…txt
PRIMA
Submission site
Execution site
VOs
9
The gatekeeper sets the uid to “foobar1” and submits the job.
Note: a cron jobs on the gatekeeper contact GUMS to retrieve the inverse map needed for accounting.
![Page 15: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/15.jpg)
Components: VOMS
• A VO service (one per VO) that provides extended proxies with signed group and role membership
• Vincenzo Ciaschini, INFN - Karoly Lorentey, et al
• Part of OSG 0.2.1 distribution, used in production
![Page 16: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/16.jpg)
Components: PRIMA
• The gatekeeper callout module that is able to contact a site Authorization service to retrieve the mapping
• Markus Lorch, VT
• Part of OSG 0.2.1 distribution, used in production
![Page 17: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/17.jpg)
Components: GUMS
• A site Authorization service that manages site-wide mappings
• Gabriele Carcassi, BNL
• Part of OSG 0.2.1 distribution, used in production
![Page 18: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/18.jpg)
Components: VOMRS
• A VO service that manages the VO Registration process, and feeds the list of currently approved members to VOMS
• FNAL team
• Used in production
![Page 19: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/19.jpg)
Storage AuthZ
siteGUMSServer
Gatekeeper
GRAMgridFTP
PRIMA
Execution site
SRM/dCache
gPLAZMAStorage
AuthorizationService
![Page 20: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/20.jpg)
Components: Storage AuthZ
• An authorization service that provides the extra authorization attributes required by dCache (contacts GUMS to retrieve the mapping)
• Markus Lorch, VT
• Prototype
![Page 21: Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.](https://reader030.fdocuments.us/reader030/viewer/2022032703/56649f525503460f94c76447/html5/thumbnails/21.jpg)
Components: gPLAZMA
• The dCache Authorization infrastructure, which is able to contact the Storage Authorization Service
• Abhishek Singh Rana, UCSD et al.
• Distributed as part of dCache, Beta quality, in production at Fermi in a couple of months (probably less)