wiki:Tutorial/Authorization

Version 53 (modified by /C=FR/O=CNRS/OU=UMR8607/CN=Michel Jouvin/emailAddress=jouvin@…, 16 years ago) (diff)

--

Authentification et Autorisation

Authentification et Autorisation

Demande de certificat

On va utiliser la procédure normale pour obtenir un certificat. Les certificats pour cette formation ont une limite de validité de quelques jours. Normalement un certificat a une limite de validité d’un an et peut être renouvelé.

  1. Connectez-vous sur l’authorité de certification CNRS pour la France. Il faut impérativement utiliser Internet Explorer ou Firefox. N’utilisez pas le navigateur Safari.
  2. Cliquez sur "Certificat personnel" à gauche de la page.
  3. Remplissez les données du premier formulaire. Pour le nom utilisez "Stagiaire1", "Stagiaire2", etc. Utilisez votre propre prénom. Cliquez sur "[suite]". La procédure vérifie votre adresse électronique. Il est impératif que vous fournissiez une adresse valide et que vous puissiez accéder à votre boîte aux lettres à distance.
  4. Choisissez votre organisme, puis cliquez sur "[suite]". Indiquez CNRS.
  5. Choisissez votre laboratoire en consultant la liste, puis cliquez sur "[suite]". Indiquez le LAL.
  6. Un récapitulatif des informations apparaît. Vérifiez que les informations sont correctes. Si vous cliquez sur "[suite]", la demande est envoyée.
  7. L’authorité de certification envoie un message électronique à l’adresse que vous avez indiquée. Dans ce message il y a un lien que vous devez visiter pour valider votre demande. Si vous utilisez les filtres SPAM, vérifiez que ce message de confirmation n’est pas marqué comme SPAM.
  8. Une fois la demande acceptée, vous allez recevoir un deuxième message électronique contenant un lien à cliquer. A l’ouverture de la page correspondante, votre certificat est importé dans votre navigateur. Vous devez ensuite utiliser le même navigateur que vous avez utilisé pour faire la demande.

L’enregistrement dans une VO

L’accès aux ressources de la grille est contrôlé par des organisations virtuelles (VO). Il est nécessaire d’être membre d’au moins une VO . Une fois que vous avez votre certificat, il est nécessaire de contacter le "VO Manager" d’une VO pour faire l’enregistrement.

Le site du CIC Operations Portal contient les informations pour les VOs principales et le lien pour s’enregistrer dans ces VOs. Cette page ne contient pas toutes les VOs. Il peut être nécessaire de contacter quelqu’un de votre organisation pour connaître le serveur correct. Aujourd’hui, vous allez utiliser la VO "vo.lal.in2p3.fr".

  1. Allez au serveur VOMS pour la VO vo.lal.in2p3.fr avec un navigateur sur lequel votre certificat est installé.
  2. Cliquez sur le lien "New user registration" dans la liste à gauche.
  3. Remplissez le formulaire et cliquez sur le bouton "I have read and agree to the VO’s Usage Rules".
  4. Vous allez recevoir un message électronique pour confirmer votre adresse électronique. (Vérifiez encore que le message n’est pas marqué comme SPAM .) Cliquez sur l’URL de confirmation indiquée.
  5. Le "VO Manager" doit valider votre demande. Une fois la demande validée, vous allez recevoir un message électronique.

Exportation, installation et utilisation du certificat

Votre certificat est installé dans votre browser. Pour utiliser la grille, on doit extraire ce certificat et l’installer dans le "User Interface" grid11.lal.in2p3.fr.

  1. Utilisez la fonction "export" de votre navigateur pour faire une sauvegarde de votre certificat au format pkcs12 (fichier .p12). Dans le dialogue d'exportation, veillez à sélectionner l'exportation de la clé privée, si ce n'est pas le cas par défaut. Quelque soit le navigateur, il vous sera demandé un mot de passe pour protéger votre clé privée : il est très important de mettre un mot de passe correct (au moins 8 caractères, mélange de lettres, chiffres et ponctuation...).
    • Firefox Sélectionnez le menu FireFox/Preferences . Cliquez sur "Avancer" à droite et l’onglet "Chiffrement". Cliquez sur le bouton "Afficher les resultats", sélectionnez votre certificat et utilisez la fonction "importer".
    • Mozilla Dans le menu Edit/Preferences allez dans l’onglet "Privacy \& Security" puis dans "certificates". Cliquez sur "Manage Certificates", et utilisez la fonction "backup".
    • Netscape Cliquez sur l’icône "sécurité" (ou passez par le menu Communicator/outils/Information sur la sécurité), puis cliquez sur le choix "vos certificats".
    • Internet Explorer Dans le menu Outils/Options Internet, allez dans l’onglet "contenu" et cliquez sur "certificats". Cliquez ensuite sur "exporter".
  2. Connectez vous à un UI si ce n'est pas encore le cas. Vous pouvez utilisez l'UI publique grid11.lal.in2p3.fr. Dans ce cas utilisez gsissh (attention : gsissh suppose que vous soyez déjà enregistré dans la VO).
  3. Copiez votre certificat sur votre UI, si ce n'est pas la machine sur laquelle il a été exporté (ou l'UI que vous utilisez). Remplacez cert.p12 par le nom exact de votre certificat dans toutes les commandes suivantes. S'il a été exporté depuis Internet Explorer, il a probablement une extension .pfx. Pour cela vous pouvez utiliser la commande suivante (mac-ensxx est votre machine de travaill et myuserid est votre nom d'utilisateur sur cette machine) . Remarque : si votre répertoire .globus n'existe pas, vous devez le créer.
    scp myuserid@mac-enxx:cert.p12 ~/.globus/cert.p12
    
  4. Définir les droits d'accès au certificat : il doit impérativement être en lecture seule pour le propriétaire et sans droit pour les autres (0400) :
    chmod 0400 usercert.p12
    

Note : si votre répertoire .globus existe déjà et contient des fichiers avec l'extension .pem, il faut les supprimer.

Exercices :

  1. Repérez les différents champs du certificat (sujet, validité...) en lisant son contenu avec la commande openssl :
    openssl pkcs12 -in ~/.globus/usercert.p12  -nokeys
    
    1 . Quel est votre "Subject"? Quelle est la date de fin de validité de votre certificat?

Manipulation d’un proxy

Pour permettre à vos jobs d’accéder aux services de la grille, vous devez avoir un proxy. Un proxy est un un "clone" de votre certificat contenant des informations supplémentaires, telles que la VO à laquelle vous appartenez (ces extensions sont souvent appelées extensions VOMS). Les proxies sont valables pour une durée limitée, normalement 12 à 24 heures.

  1. Demander un proxy à l'aide de la commande voms-proxy-init (l’erreur Cannot find file or dir: ... /.glite/vomses est normale). Pour cette commande, vous devez entrer le mote de passe qui protège votre clé privée (défini à l'étape précédente) :
    voms-proxy-init -—voms vo.lal.in2p3.fr
    
  2. Affichez les informations du proxy créé. Les informations intéressantes sont le "subject", l’équivalent de votre "username" dans la grille, le "timeleft", le temps durant lequel le certificat est encore valable, et le nom de fichier pour le proxy.
    voms-proxy-info
    
  3. Supprimez explicitement le proxy. Cette commande supprime le proxy dans l’ordinateur local. Les copies éventuellement envoyées avec vos jobs ne sont pas affectées. Vérifiez que le proxy a bien été supprimé avec la commande voms-proxy-info.
    voms-proxy-destroy
    
  4. Regardez les autres options disponibles avec la commande voms-proxy-init. (Utilisez man ou l’option --help.) On peut changer, par exemple, la durée de vie et la taille (nombre de « bits ») du proxy. Normalement les valeurs par défauts sont correctes.

Note : les anciennes commandes grid-proxy-* pour manipuler les proxies existent toujours mais ne doivent plus être utilisées car elles ne permettent pas l'utilisation des groupes et rôles VOMS. Il faut utiliser les commandes voms-proxy-*, comme documenté dans ce tutorial. Il est important d'utiliser l'option --voms lors de la création du proxy.

Il existe aussi des commandes myproxy-*. Elles permettent le renouvellement automatique des proxies pour des jobs de très longue durée. Leur utilisation est présentée dans la partie de ce tutoriel sur la soumission de jobs.

Utilisation des groupes et rôles dans une VO

Les organisations virtuelles qui utilisent VOMS (Virtual Organisation Membership Server) peuvent définir des groupes et des rôles. Tous les groupes que vous avez le droit d’utiliser sont décrits dans votre proxy VOMS. Quand on crée un proxy, il est nécessaire de demander d’ajouter les rôles explicitement. Actuellement les groupes et les rôles ne sont pas respectés par tous les services grille. Dans le futur on pourra les utiliser pour le contrôle d’accès aux fichiers et aux services.

  1. Pour lister les groupes de votre proxy utilisez la commande voms-proxy-info avec l’option "-all" (peut-être vous devrez créer un nouveau proxy avec voms-proxy-init). Les groupes dans les lignes marquées "attribute". Une VO peut créer une hiérarchie dans les groupes.
    • voms-proxy-info -all De quel(s) groupe(s) faites vous partie?
  2. Ajouter le rôle "Tutorial1" ou "Tutorial2" dans votre proxy. La moitié des participants à ce tutoriel possède les droits pour utiliser le rôle "Tutorial1" et les autres pour utiliser "Tutorial2". Si vous demandez un rôle pour lequel vous n’avez pas les droits, la commande voms-proxy-init échoue.
    • voms-proxy-init—voms vo.lal.in2p3.fr:/Role=Tutorial1

Vérifiez le rôle dans votre proxy avec la commande voms-proxy-info. Vérifiez aussi que la commande génère une erreur quand vous demandez le mauvais rôle.