== 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.[[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__ [[BR]]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]] * Création d'un proxy {{{ [lambert@lpsc-ui ~]$ voms-proxy-init --voms atlas }}} * 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 }}} * __Création d'un proxy longue durée__ [[BR]]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. * 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. }}} [wiki:gridUse up] ; [wiki:accessGrid previous] ; [wiki:gridISQuery next]