wiki:Tutorial/Authorization

Version 22 (modified by manyong, 17 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 renouvellé.

  1. Connectez-vous sur l’authorité de certification CNRS pour la France. 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 "EtudiantUn", "EtudiantDeux", etc. Utilisez votre propre prenom. 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.u-psud.fr".

  1. Allez au serveur VOMS pour la VO vo.u-psud.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).
    • 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". La procédure va demander un mot de passe pour sauvegarder votre certificat. Ne l’oubliez pas.
  2. Copiez votre certificat dans la machine grid11.lal.in2p3.fr. Remplacez cert.p12 par le nom exact de votre certificat dans toutes les commandes suivantes. Il a peut-être une extension ".pfx". ‘scp cert.p12 etud01@…:~/cert.p12‘
  3. Connectez-vous via \cmd{ssh} sur \uimachine\ et créez, dans votre « home directory », le répertoire \file{.globus}. Descendez dans ce répertoire. ‘ mkdir .globus cd .globus mv ~/cert.p12 . ‘
  4. Convertissez votre certificat au bon format et donnez-lui les bons droits. Pour utiliser la grille, vous avez besoin de deux fichiers \file{usercert.pem} et \file{userkey.pem} qui contiennent votre clé publique et votre clé privée. ‘ openssl pkcs12 -in cert.p12 -clcerts -nokeys -out usercert.pem openssl pkcs12 -in cert.p12 -nocerts -out userkey.pem ‘ Ces commandes vont vous demander d’entrer le mot de passe que vous avez utilisé pour créer le fichier \file{cert.p12}. Pour créer le fichier \file{userkey.pem}, la commande vous demande aussi de donner un nouveau mot de passe associé pour protéger le fichier. Normalement on utilise le même mot de passe que pour le fichier \file{cert.p12}.
  5. Vérifiez que les fichiers disposent des bons droits. Le fichier \file{userkey.pem} doit avoir les droits 0400; le fichier \file{usercert.pem} doit avoir les droits 0444. Changez les droits avec \cmd{chmod} si nécessaire. ‘ ls -l ~/.globus chmod 0400 ~/.globus/userkey.pem chmod 0444 ~/.globus/usercert.pem ‘
  6. Repérez les différents champs du certificat (sujet, validité...) en lisant son contenu avec la commande \cmd{openssl}. ‘ openssl x509 -text -noout -in ~/.globus/usercert.pem ‘ 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 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, normalement 12 à 24 heures.

  1. Depuis la machine \uimachine, demandez un proxy.\footnote{L’erreur « Cannot find file or dir: ... /.glite/vomses » est normale.} ‘ voms-proxy-init—voms vo.u-psud.fr ‘ Cette commande crée un fichier signé avec votre certificat que vos jobs peuvent utiliser pour accéder aux services de la grille. Il vous est demandé de donner votre mot de passe.
  2. Affichez les informations du proxy créé. ‘ voms-proxy-info ‘ 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. ‘ voms-proxy-destroy ‘ 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 \cmd{voms-proxy-info}.
  4. Regardez les autres options disponibles avec la commande \cmd{voms-proxy-init}. (Utilisez \cmd{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. Les anciennes commandes \cmd{grid-proxy-*} pour manipuler les proxies existent toujours. Mais ces commandes ne supportent pas de mettre les informations de votre VO dans le proxy. Les proxies VOMS sont 100\% compatibles avec l’ancien format et il est préférable d’utiliser les commandes \cmd{voms-proxy-*}. Il existe aussi des commandes \cmd{myproxy-*}. Elles permettent le renouvellement automatique des proxies pour des jobs de très longue durée. Ces commandes ne seront pas utilisées dans ce tutorial.

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 \cmd{voms-proxy-info} avec l’option « -all » (peut-être vous devrez créer un nouveau proxy avec \cmd{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 \cmd{voms-proxy-init} échoue.

‘voms-proxy-init—voms vo.u-psud.fr:/Role=Tutorial1‘ Vérifiez le rôle dans votre proxy avec la commande \cmd{voms-proxy-info}. Vérifiez aussi que la commande génère une erreur quand vous demandez le mauvais rôle.