wiki:gridCert

Authentification par certificat

L'authentification est essentielle pour la grille. En effet les jobs sont envoyés sur des machines distantes et utilisent un compte local sur ces machines pour s'exécuter.
Votre certificat est utilisé pour déléguer vos droits de manière temporaire, via un proxy, au compte de la machine distante. Ces proxies ont généralement une durée de validité de quelques heures

Normalement un certificat a une validité d’un an et peut être renouvelé. Voici la procédure pour récupérer son certificat grille et l'installer sur l'UI.

Récupération du certificat

  • Une fois la demande effectué à l'autorité de certification, un mail est envoyé avec un lien qui vous permettra de récupérer votre certificat.
    Il est impératif d'utiliser le même navigateur et le même poste de travail pour la demande et pour la récupération du certificat.
  • Vous avez cliquer sur le lien et votre certificat est pour l’instant installé dans votre navigateur.
    Pour utiliser la grille, vous devez extraire ce certificat et l’installer sur l’interface utilisateur (UI) à votre disposition.
  • Utilisez la fonction "export" pour faire une sauvegarde de votre certificat au format pkcs12 (fichier .p12)
    Le navigateur vous demande un mot de passe pour créer votre fichier p12.

Installation et configuration du certificat sur l'UI

  • Sur l’une des UI, créez, dans votre home directory, le répertoire .globus
    Ce répertoire est l'endroit ou par défaut le middleware glite et les applications grilles vont chercher votre certificat.
    [lambert@lpsc-ui ~] mkdir .globus
    
  • Dans ce répertoire, il faut mettre la clef publique ainsi que la clef privée.
    Vous devez créer ces fichiers, usercert.pem et userkey.pem, à partir de votre pkcs12.
    • La clef publique usercert.pem
      [lambert@lpsc-ui ~]$ openssl pkcs12 -in fabiangrid2008.p12 -out usercert.pem -nokeys -clcerts
      Enter Import Password:
      MAC verified OK
      
    • La clef privée userkey.pem
      [lambert@lpsc-ui ~]$ openssl pkcs12 -in fabiangrid2008.p12 -out userkey.pem -nocerts
      Enter Import Password:
      MAC verified OK
      Enter PEM pass phrase:
      Verifying - Enter PEM pass phrase:
      
    • usercert.pem est la clé publique et userkey.pem est la clé privée.
      Cette dernière doit être lisible uniquement par vous :
      [lambert@lpsc-ui ~]$ chmod 400 userkey.pem
      [lambert@lpsc-ui ~]$ chmod 444 usercert.pem
      [lambert@lpsc-ui ~]$ ls -l .globus
      -rw-r--r--  1 lambert slocate 5910 Jan 25 13:01 fabiangrid2008.p12
      -r--r--r--  1 lambert slocate 1936 Jan 25 13:01 usercert.pem
      -r--------  1 lambert slocate 1918 Jan 25 13:02 userkey.pem
      

Manipulation d'un proxy

Pour permettre à vos jobs de s'executer sur la grille, vous devez créer un proxy.
Un proxy est un fichier signé avec votre certificat qui est envoyé avec vos jobs. Les proxies sont valables pour une durée limitée, par défaut 12 heures.

Cas général, VO ATLAS et VO LPSC

  • Création d'un proxy ATLAS
    [lambert@lpsc-ui ~]$ voms-proxy-init --voms atlas
    
  • Création d'un proxy LPSC
    [chris@lpsc-ui ~]$ voms-proxy-init --voms vo.lpsc.in2p3.fr
    
  • Création d'un proxy avec assignation d'un rôle
    [lambert@lpsc-ui ~]$ voms-proxy-init --voms atlas:/atlas/Role=AMIManager
    
  • Visualisation des attributs du proxy VOMS
    [lambert@lpsc-ui ~]$ voms-proxy-info --all
    
  • Destruction du proxy
    [lambert@lpsc-ui ~]$ voms-proxy-destroy 
    

VO ALICE

  • Création d'un token et authentification

Cette partie est l'équivalent ALICE d'un voms-proxy-init. Vous devez être en possession d'un certificat valide et être enregistré comme membre de la VO ALICE.

sh-3.00$ alien-token-init flambert
---------------------------------------------------------------
Setting central config:
===============================================================
export alien_API_SERVER_LIST="pcapiserv01.cern.ch:10000|pcapiserv02.cern.ch:10000|pcapiserv04.cern.ch:10000"
export alien_API_PORT=10000
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GSHELL_ROOT/lib
export TERMINFO=/usr/share/terminfo
===============================================================
*********************************************************************************
Attention: You don't have a valid grid proxy - doing grid-proxy-init for you ...
*********************************************************************************
Your identity: /O=GRID-FR/C=FR/O=CNRS/OU=LPSC/CN=Fabian Lambert
Enter GRID pass phrase for this identity:
Creating proxy ...................................... Done
Your proxy is valid until: Mon Oct 19 23:55:51 2009
=> Trying to connect to Server [0] http://pcapiserv01.cern.ch:10000 as User flambert 
Your identity: flambert
Creating token ..................................... Done
Your token is valid until: Tue Oct 20 11:55:52 2009

Avec cette commande, vous créez un token qui vous permettra de vous authentifier sur la grille pour ALICE.
Attention, votre compte local (lambert dans mon cas) ne correspond pas forcément à votre compte CERN (flambert ici), dans ce cas vous devez préciser votre login CERN après la commande alien-token-init.

  • Destruction du token
    [lambert@lpsc-ui ~]$ alien-token-destroy 
    

Proxy longue durée

Certains jobs mettent plus de temps à s'exécuter que la durée de validité du proxy initial. C'est pourquoi des mécanismes on été mis en place qui permettent a création de proxy de longue durée. En fait il s'agit d'un renouvèlement automatique de proxy.
La variable d'environnement $MYPROXY_SERVER contient le serveur myproxy par défaut, si elle n'est pas définie, vous pouvez utiliseer l'option -s.

  • Création du proxy
    myproxy-init -s <myproxy service host> -d -n
    [lambert@lpsc-ui JDL_LFC_DataRequirement]$ myproxy-init -s myproxy.cern.ch -d -n
    Your identity: /O=GRID-FR/C=FR/O=CNRS/OU=LPSC/CN=Fabian Lambert
    Enter GRID pass phrase for this identity:
    Creating proxy ...................... Done
    Proxy Verify OK
    Your proxy is valid until: Mon Jun  2 14:39:27 2008
    A proxy valid for 168 hours (7.0 days) for user /O=GRID-FR/C=FR/O=CNRS/OU=LPSC/CN=Fabian Lambert now exists on myproxy.cern.ch.
    
  • Destruction du proxy
    myproxy-destroy -s <myproxy service host> -d
    [lambert@lpsc-ui JDL_LFC_DataRequirement]$ myproxy-destroy -s myproxy.cern.ch -d
    Default MyProxy credential for user /O=GRID-FR/C=FR/O=CNRS/OU=LPSC/CN=Fabian Lambert was successfully removed.
    

previous ; next

Last modified 4 years ago Last modified on 19/10/2020 16:06:25
Note: See TracWiki for help on using the wiki.