gplazma2 plugins and configuration karsten schwank
play

gPlazma2: Plugins and Configuration Karsten Schwank Zeuthen, - PowerPoint PPT Presentation

gPlazma2: Plugins and Configuration Karsten Schwank Zeuthen, 17.4.2012 Overview Basics Plugins Migrating from v1 to v2 Introducing Argus Introducing Kerberos Examples The WLCG Case Using Kerberos and NIS


  1. gPlazma2: Plugins and Configuration Karsten Schwank Zeuthen, 17.4.2012

  2. Overview ● Basics ● Plugins ● Migrating from v1 to v2 ● Introducing Argus ● Introducing Kerberos ● Examples ● The WLCG Case ● Using Kerberos and NIS ● Summary Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 2

  3. Basics Authorization with gPlazma2 is ● A 4 step process ● Authenticate – “Who are we talking to?” ● Map – “How does the authenticated user fit into our site?” ● Account – “Is the account currently banned?” ● Session – “What is the user allowed to access?” Configuration of gPlazma2 is ● Done via the file /etc/dcache/gplazma.conf Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 3

  4. Step 1: Authentication (auth) Who are we talking to? ● Pin “Principals” to the subject ● Plugins: ● KPWD – dCache's own file based mechanism ● VOMS – Virtual Organization Membership Service ● X509 – X.509 certificate extractor ● JAAS – Java Authentication and Authorization Service ● XACML – Use a XACML server (e.g., GUMS) ● gPlazma1 – Use old gPlazma Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 4

  5. auth:kpwd ● KPWD gplazma.kpwd.file [/etc/dcache/dcache.kpwd] login behrmann read-write 1000 1000 /foo /bar / /O=Grid/O=NorduGrid/OU=ndgf.org/CN=Gerd Behrmann behrmann@ndgf.org passwd behrmann aec59c36 read-write 1000 1000 / / kpwd Principal Username+Password Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 5

  6. auth:x509 ● X.509 certificate extractor X.509 chain DN Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 6

  7. auth:voms ● Virtual Organization Membership Service gplazma.vomsdir.ca [/etc/grid-security/certificates] gplazma.vomsdir.dir [/etc/grid-security/vomsdir] X.509 chain FQAN Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 7

  8. auth:xacml ● XACML gplazma.xacml.client.type gplazma.xacml.service.url gplazma.vomsdir.dir [/etc/grid-security/certificates] gplazma.vomsdir.ca [/etc/grid-security/certificates] gplazma.voms.validate X.509 chain Username Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 8

  9. auth:jaas ● Java Authentication and Authorization Service gplazma.jaas.name Username+Password Username Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 9

  10. auth:gplazma1 ● Use gPlazma1 as a plugin gplazma.legacy.config [/etc/dcache/dcachesrm-gplazma.policy] gPlazma1 supported gPlazma1 supported User information credentials Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 10

  11. Step 2: Mapping (map) How does the authenticated user fit in our site? ● Use the “principals” from auth step to assign a local name to the subject ● Plugins: ● KPWD: dCache's file based solution ● KRB5: Kerberos ● NSSwitch: Username and Groupname ● NIS: Network Information System ● AuthzDB: Local file based solution ● GridMap: Local file based solution ● VoRoleMap: Local file based solution ● gPlazma1 Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 11

  12. map:kpwd ● KPWD gplazma.kpwd.file [/etc/dcache/dcache.kpwd] mapping "/O=Grid/O=NorduGrid/OU=ndgf.org/CN=Gerd Behrmann" behrmann Username DN/Kerberos Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 12

  13. map:krb5 ● Kerberos Username Kerberos Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 13

  14. map:gridmap ● GridMap gplazma.gridmap.file [/etc/grid-security/grid-mapfile] "/O=GermanGrid/OU=DESY/CN=Tigran Mkrtchyan" tigran Username DN Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 14

  15. map:vorolemap ● VoRolemap gplazma.vorolemap.file [/etc/grid-security/grid-vorolemap] "/O=GermanGrid/OU=DESY/CN=Tigran Mkrtchyan" "/dteam" tigran Username DN+FQAN Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 15

  16. map:nsswitch ● NSSwitch /etc/nsswitch.conf UID+GID Username Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 16

  17. map:nis ● NIS gplazma.nis.server [niserv.domain.com] gplazma.nis.domain [domain.com] UID+GID Username Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 17

  18. map:authzdb ● AuthzDB gplazma.authzdb.file [/etc/grid-security/storage-authzdb] authorize behrmann read-write 1000 1000 / /data/ /data/ UID+GID Username Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 18

  19. map:gplazma1 ● gPlazma1 gplazma.legacy.config [/etc/dcache/dcachesrm-gplazma.policy] More gPlazma1 gPlazma1 supported User information user information Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 19

  20. Step 3: Account Is the account currently banned? ● Check if we have any reason not to allow the user to access our system ● Plugins: ● KPWD: dCache's file based solution ● Argus: a hierarchical centralized authentication and authorization service Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 20

  21. account:kpwd ● KPWD gplazma.kpwd.file [/etc/dcache/dcache.kpwd] passwd behrmann # read-write 1000 1000 / / Banned? Username Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 21

  22. account:argus ● Argus gplazma.argus.hostcert [/etc/grid-security/hostcert.pem] gplazma.argus.hostkey [/etc/grid-security/hostkey.pem] gplazma.argus.ca [/etc/grid-security/certificates] gplazma.argus.endpoint [https://localhost:8154/authz] Banned? DN Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 22

  23. Step 4: Session What is the user allowed to access? ● Use the local name to assign home and root directory. ● Plugins: ● KPWD: dCache's file based solution ● NIS: Network Information System ● NSSwitch: Name Service Switch ● AuthzDB: Local file based solution ● gPlazma1: Use old gPlazma as plugin Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 23

  24. session:kpwd ● KPWD gplazma.kpwd.file [/etc/dcache/dcache.kpwd] login behrmann read-write 1000 1000 /home /root / /O=Grid/O=NorduGrid/OU=ndgf.org/CN=Gerd Behrmann behrmann@ndgf.org passwd behrmann aec59c36 read-write 1000 1000 / / Home+Root+RO/RW Username Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 24

  25. session:nis ● NIS gplazma.nis.server [niserv.domain.com] gplazma.nis.domain [domain.com] Home+Root Username Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 25

  26. session:nsswitch ● NSSwitch /etc/nsswitch.conf Home+Root UID+GID Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 26

  27. session:authzdb ● AuthzDB gplazma.authzdb.file [/etc/grid-security/storage-authzdb] authorize behrmann read-write 1000 1000 / /data/ /data / Home+Root+RW/RO Username Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 27

  28. session:gplazma1 ● gPlazma1 gplazma.legacy.config [/etc/dcache/dcachesrm-gplazma.policy] Home+Root+RW/RO More gPlazma1 user information Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 28

  29. Moving from v1 to v2 Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 29

  30. → v1 v2 plugins gPlazma v1 gPlazma v2 plugins, for each phases plugin Auth Map Account Session kpwd opt: x509, suf: kpwd req: kpwd suf: kpwd opt: kpwd grid-mapfile opt: x509 opt: gridmap, req: gridmap suf: authzdb suf: authzdb gplazmalite- opt: x509, opt: vorolemap, req: vorolemap suf: authzdb vorole-mapping opt: voms suf: authzdb xacml-vo- opt: xacml suf: authzdb req: authzdb suf: authzdb mapping Key: opt = optional, suf = sufficient, req = requisite Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 30

  31. → v1 v2: example ● Top part of gPlazma v1 config file Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 31

  32. → v1 v2: example ● Ignore plugins that are switched off Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 32

  33. → v1 v2: example ● Consider the remaining plugins in their execution order Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 33

  34. ● Use table to build initial gPlazma2 configuration Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 34

  35. → v1 v2: example ● Notice that there are some duplicates Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 35

  36. → v1 v2: example ● Adjust configuration to remove duplication Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 36

  37. Commercials Argus Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 37

  38. Introducing Argus ● Centralized Policies Policy Administration ● Hierarchical Distribution poll ● Authentication Policy Decision ● Authorization request Policy Enforcement subject,action resource Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 38

  39. Commercials End See now: The standard case feat. Argus Gplazma2: Plugins and Configuration | Karsten Schwank | 17.4.2012 | Page 40

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend