Difference between revisions of "Config oidc-agent"

From Public PIC Wiki
Jump to navigation Jump to search
(Created page with "En aquest apartat indicarem els paràmetres i canvis que cal definir per a permetre l'utilització de l'oidc a dCache. Posem com a exemple l'entorn de dev. Per a realitzar la...")
 
 
Line 1: Line 1:
En aquest apartat indicarem els paràmetres i canvis que cal definir per a permetre l'utilització de l'oidc a dCache. Posem com a exemple l'entorn de dev.
+
==Introducció==
 +
Per treballar amb l'OpenID Connect és necessari tenir localment un oidc-agent configurat per a que pugui demanar/generar un token amb el que accedir a la door o l'endpoint que sigui.
  
Per a realitzar la configuració s'ha seguit la presentació que es va fer en un mini-workshop sobre dCache i OIDC, concretament el document '''dCache_OIDC_setup.pdf'''
+
A continuació es mostrarà com a exemple la configuració d'un ubuntu i algunes proves realitzades.
  
== Canvis a gPlazma.conf ==
+
==Instal·lació agent==
 +
La instal·lació es pot fer a partir d'un paquet rpm (si tenim CentOS7), a podem compilar el paquet des del codi font en altres casos.
  
Autenticació: Afegir la línia
+
En la documentació següent del oidc-agent, hi ha els passos per a configurar els diferents clients (Linux i MacOS):
auth  optional    oidc
 
  
Maping: afegir els fitxers multimap.
+
[https://indigo-dc.gitbook.io/oidc-agent/installation https://indigo-dc.gitbook.io/oidc-agent/installation]
  
map optional multimap gplazma.multimap.file=/etc/dcache/multimap-id-to-group+gid.conf
+
Per a la instal·lació de clients Linux el link a seguir és:
map optional multimap gplazma.multimap.file=/etc/dcache/multimap-id-to-username.conf
 
map sufficient multimap gplazma.multimap.file=/etc/dcache/multimap-username-to-uid+gid.conf
 
map sufficient multimap gplazma.multimap.file=/etc/dcache/multimap-groupname-to-username+uid.conf
 
  
NOTA: En la presentació del mini workshop dèien d'esborrar el grid-vorolemap, però nosaltres no l'hem esborrat i així segueixen funcionant els mapejos anteriors.
+
[https://indigo-dc.gitbook.io/oidc-agent/installation/install https://indigo-dc.gitbook.io/oidc-agent/installation/install]
  
== Creació fitxers mapeig ==
+
=== Repositoris ===
=== multimap-id-to-group+gid.conf ===
+
Del següent repositoris ens podem descarregar el paquets, o el source:
fqan:/escape    group:escape    gid:50023
 
oidcgrp:/escape  group:escape    gid:50023
 
fqan:/dteam      group:dteam      gid:46003
 
oidcgrp:/dteam  group:dteam      gid:46003
 
  
=== multimap-id-to-username.conf ===
+
==== CentOS7 ====
"dn:/DC=org/DC=terena/DC=tcs/C=ES/O=Port dInformacio Cientifica/CN=Elena Planas eplanas@pic.es"      username:dteam001
+
[https://github.com/indigo-dc/oidc-agent/releases https://github.com/indigo-dc/oidc-agent/releases]
#oidc:<oidc toquen?>      username:dteam001
 
oidc:73e5b674-c15f-4fdd-b0d8-e14efdb6c4b1  username:dteam001
 
  
=== multimap-username-to-uid+gid.conf ===
 
username:eplanas  uid:63196  gid:50041,true gid:57064 gid:57063
 
username:eplanas@pic.es  uid:31601 gid:46003,true
 
  
=== multimap-groupname-to-username+uid.conf ===
+
==== Debian / Ubuntu ====
group:escape  username:escape001  uid:53001
+
[http://repo.data.kit.edu/ http://repo.data.kit.edu/]
group:atlas    username:atlas001    uid:31051
 
group:deam    username:dteam001    uid:31601
 
  
== storage-authzdb ==
+
==== Source ====
Cal garantir que estigui autoritzat l'usuari per llegir i escriure.
+
Es pot descarregar el codi per compilar per dues vies. Però caldrà instal·lar també una sèrie de dependències per poder-ho compilar.
  
  authorize escape001  read-write 53001 50023 / / /
+
* Utilitzant git
 +
  git clone https://github.com/indigo-dc/oidc-agent
 +
cd oidc-agent
  
== Fitxers de layout ==
+
* Utilitzant curl
=== gPlazma ===
+
  curl -L https://github.com/indigo-dc/oidc-agent/archive/master.tar.gz -o /tmp/oidc-agent-master.tar.gz
Cal configurar el plugin oidc
+
  tar xzf /tmp/oidc-agent-master.tar.gz
  ############################################
+
  cd oidc-agent
  # Domain: gplazma-dccore01-devDomain
 
[gplazma-${host.name}Domain]
 
dcache.java.memory.heap=256m
 
# Cell: gplazma
 
[gplazma-${host.name}Domain/gplazma]
 
gplazma.authzdb.uid=uid,login,group,user
 
  '''gplazma.oidc.provider!escape=https://iam-escape.cloud.cnaf.infn.it/'''
 
  gplazma.roles.admin-gid=90000
 
## End gplazma-dccore01-devDomain
 
############################################
 
  
=== Webdav door ===
 
############################################
 
# Domain: webdav-dteam-https-dcdoor01-devDomain
 
[webdav-dteam-https-${host.name}Domain]
 
dcache.java.memory.heap=512m
 
webdav.mover.queue=webdav
 
webdav.net.port=8448
 
# Cell: webdav
 
[webdav-dteam-https-${host.name}Domain/webdav]
 
webdav.authn.protocol=https
 
#webdav.authz.anonymous-operations=READONLY
 
webdav.authz.allowed-paths=/pnfs/pic.es/data/
 
webdav.authz.readonly=false
 
webdav.cell.name=WebDAV-DTEAM-${host.name}
 
webdav.root=/pnfs/pic.es/data/
 
## End webdav-dteam-https-dcdoor01-devDomain
 
############################################
 
  
=== Frontend ===
+
=== [[Exemple instal.lació oidc-agent a Ubuntu]] ===
Si volem utilitzar oidc amb el dCacheView. En aquest cas caldrà registra el servei com un client a l'IAM d'ESCAPE
 
 
 
############################################
 
# Domain: frontend-dccore05-devDomain
 
[frontend-${host.name}Domain]
 
dcache.java.memory.heap=512m
 
# Cell: frontend
 
[frontend-${host.name}Domain/frontend]
 
frontend.authn.accept-client-cert=false
 
frontend.authn.basic=true
 
frontend.authn.protocol=https
 
frontend.authz.anonymous-operations=READONLY
 
frontend.authz.unlimited-operation-visibility=true
 
frontend.static!dcache-view.org-name=pic.es
 
frontend.static!dcache-view.oidc-authz-endpoint-list=https://iamescape.cloud.cnaf.infn.it/authorize
 
#frontend.static!dcache-view.oidc-client-id-list=
 
frontend.static!dcache-view.oidc-provider-name-list=escape
 
## End frontend-dccore05-devDomain
 
############################################
 

Latest revision as of 13:25, 27 July 2020

Introducció

Per treballar amb l'OpenID Connect és necessari tenir localment un oidc-agent configurat per a que pugui demanar/generar un token amb el que accedir a la door o l'endpoint que sigui.

A continuació es mostrarà com a exemple la configuració d'un ubuntu i algunes proves realitzades.

Instal·lació agent

La instal·lació es pot fer a partir d'un paquet rpm (si tenim CentOS7), a podem compilar el paquet des del codi font en altres casos.

En la documentació següent del oidc-agent, hi ha els passos per a configurar els diferents clients (Linux i MacOS):

https://indigo-dc.gitbook.io/oidc-agent/installation

Per a la instal·lació de clients Linux el link a seguir és:

https://indigo-dc.gitbook.io/oidc-agent/installation/install

Repositoris

Del següent repositoris ens podem descarregar el paquets, o el source:

CentOS7

https://github.com/indigo-dc/oidc-agent/releases


Debian / Ubuntu

http://repo.data.kit.edu/

Source

Es pot descarregar el codi per compilar per dues vies. Però caldrà instal·lar també una sèrie de dependències per poder-ho compilar.

  • Utilitzant git
git clone https://github.com/indigo-dc/oidc-agent
cd oidc-agent
  • Utilitzant curl
curl -L  https://github.com/indigo-dc/oidc-agent/archive/master.tar.gz -o /tmp/oidc-agent-master.tar.gz
tar xzf /tmp/oidc-agent-master.tar.gz
cd oidc-agent


Exemple instal.lació oidc-agent a Ubuntu