= Authentification par certificat = [[PageOutline]] 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.[[BR]] 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[[BR]][[BR]] 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.[[BR]]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.[[BR]]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)[[BR]]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[[BR]] 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.[[BR]]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. [[BR]]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''.[[BR]]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.[[BR]][[BR]] ==== 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 [wiki:accessGrid 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.[[BR]] 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.[[BR]]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 [[BR]] '''myproxy-init''' -s -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 [[BR]] '''myproxy-destroy''' -s -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. }}} [wiki:accessGrid previous] ; [wiki:gridISQuery next]