wiki:Tutorial/Authorization

Authentification et Autorisation

Demande et Configuration du Certificat

Demande de certificat [NPF]

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é.

  • Cliquez sur "Certificat personnel" à gauche de la page.
  • 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.
  • Choisissez votre organisme, puis cliquez sur "[suite]". Indiquez CNRS.
  • Choisissez votre laboratoire en consultant la liste, puis cliquez sur "[suite]". Indiquez le LAL.
  • Un récapitulatif des informations apparaît. Vérifiez que les informations sont correctes. Si vous cliquez sur "[suite]", la demande est envoyée.
  • 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.
  • 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 [NPF]

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.

Note: ce tutorial utilise la VO vo.lal.in2p3.fr dans les exemples et les exercices. Il faut remplacer cette VO par celle dont vous êtes réellement membre.

  • Allez au serveur VOMS pour la VO vo.lal.in2p3.fr avec un navigateur sur lequel votre certificat est installé. Pour avoir la liste des VOs disponible sur grid12 il faut se connceter sur la liste des vos
  • Cliquez sur le lien "New user registration" dans la liste à gauche.
  • Remplissez le formulaire et cliquez sur le bouton "I have read and agree to the VO’s Usage Rules".
  • 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.
  • 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" grid1*lal.in2p3.fr.

  • 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".
    • Safari : Utilisez l'application "KeyChain Access". A gauche, sélectionnez "login" dans le case "Keychains" et "My Certificates" dans le case "Category". A droite, cliquez droite sur le certificat et choisissez "Export".
  • 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.
    ssh myui.example.com mkdir -p \~/.globus
    scp cert.p12 myui.example.com:\~/.globus/usercert.p12
    
  • 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).
  • 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 ~/.globus/usercert.p12
    

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

Repérez les différents champs du certificat (sujet, issuer) en lisant son contenu avec la commande openssl:

openssl pkcs12 -in ~/.globus/usercert.p12  -nokeys

Repérez toutes les champs du certificat avec la commande:

openssl pkcs12 -in ~/.globus/usercert.p12  -nokeys | openssl x509 -text 

Exercices :

  1. Quel est votre "Subject"?
  2. Quelle est la date de fin de validité de votre certificat?

S'identifier sur la Grille

Creation d'un Proxy

Note : cette partie du tutoriel suppose que vous ayez installé votre certificat dans le repertoire .globus de votre compte sur l'UI à laquelle vous êtes connectés. Si ce n'est pas le cas, reportez vous à la section précédente.

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.

Les principales commandes permettant d'obtenir un proxy et de le gérer sont :

  • voms-proxy-init --voms VO : permet de créer un proxy à partir du certificat. Cette commande demande le mot de passe protégeant la clé privée créée à l'étape précédente. Il est très important d'utiliser l'option --voms. VO est le nom de votre VO.
  • voms-proxy-info : affiche les informations sur le proxy existant. Avec l'option -all, permet d'afficher la liste des groupes et roles activés.
  • voms-proxy-destroy : supprime un proxy encore valide.

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.

Exercices :

  1. Demander un proxy à l'aide de la commande voms-proxy-init. Par exemple:
    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.
  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.
  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.

Utilisation des Groupes et Rôles dans une VO [NPF]

Les organisations virtuelles peuvent définir des groupes et des rôles qui seront utilisés pour définir la priorité des jobs ou les droits d'accès aux données par exemple. Tous les groupes et rôles que vous avez le droit d’utiliser à un moment donné sont décrits dans votre proxy VOMS. Quand on crée un proxy, il est nécessaire de demander d’ajouter les groupes et rôles explicitement : on ne peut les ajouter que si on est enregistré comme membre de ces groupes et rôles dans le serveur VOMS de la VO.

Les groupes VOMS sont semblables à la notion de groupe qu'on trouve habituellement dans les systèmes d'exploitation. Ils sont hiérarchiques, c'est-à-dire qu'on peut créer des sous-groupes dans un groupe. Les groupes et sous-groupes sont spécifiés en les séparant par des /. Quand on demande un proxy pour un sous-groupe, l'ensemble des groupes parents du sous-groupe font aussi parti du proxy. Par exemple pour le sous groupe grp1 du groupe tutorial :

/tutorial/grp1

Les rôles sont un autre regroupement des utilisateurs, "transversal" au groupe. On ne peut avoir qu'un seul rôle actif dans un proxy. Le rôle est spécifié après les groupes avec /Role=role (accolé sans espace au groupe ou sous-groupe). Par exemple, on peut demander à utiliser le rôle production pour toute la VO avec :

/Role=production

ou bien le rôle production dans le groupe précédent avec :

/tutorial/grp1/Role=production

L'ensemble VO et groupe/role est appelé un FQAN. Dans la commandes voms-proxy-init et les autres commandes pouvant nécessiter la spécification d'une VO et d'un groupe/role, la syntaxe à utiliser est vo:/group/Role=role. Par exemple :

vo.lal.in2p3.fr:/tutorial/grp1/Role=production

Exercices :

  1. Afficher la liste des groupes actifs dans votre proxy. Penser à utiliser l'option -all de la commande voms-proxy-info.
  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.
  3. Afficher à nouveau les groupes actifs dans le proxy et identifier les différences

Last modified 14 years ago Last modified on Sep 26, 2010, 12:10:04 PM