Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:authentification_et_autorisation [2016/12/16 10:16] (current)
Line 1: Line 1:
 +Last modified: Nov 06, 2012 by Bouvet\\
 +\\
 +
 +====== Authentication and authorisation ======
 +
 +\\
 +\\
 +
 +
 +=====  Certificate request ​ =====
 +
 +We will describe the normal procedure to obtain a certificate.\\
 +Certificates used in this course have a validity limited to a few days. Usually a certificate is valid for one year and may be renewed.
 +
 +**//N.B. ://** //for the tutorial, you already have a temporary certificate.//​
 +
 +  - Connect to French certificate authority web site:\\
 +http://​igc.services.cnrs.fr/​GRID2-FR/​certificats.html [[http://​igc.services.cnrs.fr/​GRID-FR/​certificats.html|\\
 +\\
 +]]
 +  - In the menu, « Certificats personnels »,​ clic on [Demande ​ ] \\
 +Fill the form, clic on [Envoyer]\\
 +The procedure verifies your email address. So it is mandatory you give a valid email address nd you can access to your inbox remotly.\\
 +The summary of the informations provided appears. Verify the informations are correct. Clic on "​[suite]"​ to submit the request.\\
 +\\
 +
 +  - ** ** 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.//​**\\
 +
 +
 +
 +
 +=====  Importation,​ exportation,​ installation et utilisation du certificat =====
 +
 +En temps normal, suite à l'​étape précédente,​ votre certificat est présent dans votre navigateur.\\
 +Lors de ce TP, votre certificat est présent au format pkcs12 (.p12) dans le /home de l'​interface utilisateur (UI).\\
 +Pour utiliser la grille, vous devez extraire de ce certificat les clés privée et publique.
 +
 +
 +====  Importation dans le navigateur ​ ====
 +
 +Cette étape sera nécessaire si vous devez utiliser des portails web de soumission/​suivi de jobs.
 +
 +  - Connectez-vous sur l'UI.
 +  - Récupérez votre certificat au format pkcs12 (  ~/​.p12 ​ ) et importez le dans votre navigateur.
 +  - Vérifiez que le certificat a été importé correctement.
 +
 +
 +====  Installation et configuration du certificat sur l’  UI  ====
 +
 +Dans les options de votre navigateur, utilisez la fonction "​export"​ pour faire une sauvegarde de votre certificat au format pkcs12 (fichier .p12)
 +
 +  - Sur l’une des UI, créez, dans votre home directory, le répertoire ​ .  globus  ​
 +  - Convertisser votre certificat du format ​ .p12  au format .pem qui comporte 2 fichiers ​  : les **clés publique** et **privée** de votre certificat.\\
 +Les commandes nécessaires vont vous demander d’entrer le mot de passe qui a été utilisé pour créer le fichier ​ .p12\\
 + ​Placer ces fichiers dans le répertoire ​ .globus ​ avec les bons droits.\\
 +
 +  -   ​Faites une copie de sauvegarde des clés du certificat.
 +  - Repérez les différents champs du certificat (sujet, validité...) en lisant son contenu avec la commande ​ ** openssl. ** 
 +
 +
 +====  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.
 +
 +Le site du « CIC ​ Operations ​ Portal » ( https://​operations-portal.egi.eu ) contient les informations concernant les différentes VO.
 +
 +//**N.B. :** cette étape est déjà faite pour les certificats temporaires dont vous disposez pour le tutoriel.//
 +
 +  - Pour s'​enregistrer comme membre d'une VO, allez sur le serveur VOMS de la VO avec le navigateur sur lequel votre certificat est installé. Le serveur VOMS pour s'​enregistrer sur la VO vo.formation.idgrilles.fr est : https://​cclcgvomsli01.in2p3.fr:​8443/​voms/​vo.formation.idgrilles.fr .\\
 +\\
 +
 +  -   ​Remplissez le formulaire et cliquez sur le bouton //«// // You agree on the VO's usage rules // //          ».\\
 +\\
 +//
 +  -   Vous allez recevoir un mail pour confirmer votre demande. Cliquez sur le lien.\\
 +\\
 +
 +  -   Le « VO Manager » doit valider la demande. Une fois cette demande validée, vous recevrez un mail.
 +
 +
 +====  Manipulation d’un ​ proxy  ====
 +
 +Pour   ​permettre à vos jobs d’accéder à la grille, vous devez créer un //​proxy.//​\\
 +Un  //​proxy// ​ est un fichier signé avec votre certificat qui est envoyé avec vos jobs. Il contient des informations supplémentaires telles que la VO à laquelle vous appartenez (ces extensions sont appelées extensions VOMS). Les  //​proxies// ​ sont valables pour une durée limitée, par défaut 12 heures.
 +
 +Pour ce tutorial, votre certificat est enregistré dans la VO vo.formation.idgrilles.fr.
 +
 +  - Depuis l’  UI  , demandez un  //​proxy// ​ à l'aide de la fonction ​  ​voms-proxy-init\\
 +\\
 + 
 +  -     ​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.\\
 +\\
 +
 +  - Le serveur VOMS permet à la VO de 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/​rôles que vous avez  le droit  d’utiliser sont décrits dans votre //proxy// . Quand on crée un  //​proxy// ​ , il est nécessaire de demander l’ajout des rôles explicitement.\\
 +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.\\
 +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).\\
 +Listez les groupes de votre  //proxy.\\
 +\\
 +// 
 +  - 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.\\
 +\\
 +
 +  - Supprimez le  //proxy// avec la commande ​   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 ​  ​voms-proxy-info ​  .
 +
 +\\
 +
 +
 +----
 +
 +
 +----
 +
 +\\
 +
 +
 +----
 +
 +
 +----
 +
 +
 +=====  Outils / Aide =====
 +
 +
 +====  Importation du certificat dans le navigateur ====
 +
 +Lorsque vous faites votre demande de certificat sur le site de l'​autorité de certification GRID2-FR, vous n'avez pas besoin de cette étape puisque votre certificat est importé automatiquement lors de la récupération du certificat.
 +
 +Il peut cependant être nécessaire de réimporter votre certificat dans votre navigateur. D'où l'​importance de sauvegarder votre certificat au format PKCS12 (.p12) (format requis pour l'​importation).
 +
 +  * Mozilla
 +    * Dans le menu Outils/​Options,​ choisissez la rubrique "​Avancé",​ allez dans l'​onglet "​Encryption"​ puis cliquez sur "Voir les certificats"​.
 +    * Cliquez sur le bouton "​Importer",​ et sélectionnez le fichier PKCS12 (.p12) du certificat que vous voulez importer.
 +    * Le mot de passe utilisé lors de la sauvegarde de ce certificat vous sera demandé.\\
 +
 +  * Internet Explorer
 +    * Dans le menu Outils/​Options internet, choisissez l'​onglet "​Contenu",​ puis cliquez sur le bouton "​Certificats"​.
 +    * Cliquez sur le bouton "​Importer",​ et sélectionnez le fichier PKCS12 (.p12) du certificat que vous voulez importer.
 +    * Le mot de passe utilisé lors de la sauvegarde de ce certificat vous sera demandé.
 +
 +
 +====  Exportation du certificat depuis votre navigateur ====
 +
 +Votre certificat est pour l’instant installé dans votre navigateur.\\
 +Pour utiliser la grille, vous devez extraire ce certificat et l’installer sur l’interface utilisateur UI ( //User Interface// ) à votre disposition.
 +
 +  * Mozilla
 +    * Dans le menu Outils/​Options,​ choisissez la rubrique "​Avancé",​ allez dans l'​onglet "​Encryption"​ puis cliquez sur "Voir les certificats"​.
 +    * Choisissez le certificat que vous voulez exporter, puis cliquez sur le bouton "​Exporter"​.\\
 +Le certificat sera enregistré au format PKCS12 (.p12).
 +    * N'​oubliez pas le mot de passe utilisé lors de cette sauvegarde pour pouvoir ensuite utiliser ce certificat.
 +  * Internet Explorer
 +    * Dans le menu Outils/​Options internet, choisissez l'​onglet "​Contenu",​ puis cliquez sur le bouton "​Certificats"​.
 +    * Choisissez le certificat que vous voulez exporter, puis cliquez sur le bouton "​Exporter"​.\\
 +Choisissez d'​exporter la clé privée du certificat.\\
 +Le certificat sera enregistré au format PKCS12 (.p12).
 +    * N'​oubliez pas le mot de passe utilisé lors de cette sauvegarde pour pouvoir ensuite utiliser ce certificat.
 +
 +
 +====  Installation du certificat sur l'UI ====
 +
 +Créer le répertoire .globus dans votre /home :\\
 +
 +<​code>​
 +~> cd ~
 +~> mkdir .globus ​
 +</​code>​
 +Le certificat est installé au format .pem dans ce répertoire :
 +
 +<​code>​
 +~> openssl pkcs12 -in cert.p12 -clcerts -nokeys -out ~/​.globus/​usercert.pem
 +~> openssl pkcs12 -in cert.p12 -nocerts -out ~/​.globus/​userkey.pem
 +~> cd ~/.globus
 +~> ls
 +usercert.pem userkey.pem
 +</​code>​
 +usercert.pem est la clé publique et userkey.pem est la clé privée. Cette dernière doit être lisible uniquement par vous :
 +
 +<​code>​
 +~> chmod 400 userkey.pem
 +~> chmod 444 usercert.pem
 +~> ll
 +-r--r--r--    1 lyonxx   lyonxx       1610 Nov  9 15:34 usercert.pem
 +-r--------    1 lyonxx   lyonxx       1919 Nov  9 15:35 userkey.pem
 +</​code>​
 +Vous pouvez faire une copie de sauvegarde de ces clés :
 +
 +<​code>​
 +~> cp -rp ~/.globus ~/​.globus.original
 +</​code>​
 +Vous pouvez aussi créer un nouveau fichier PKCS12 (.p12) à partir de ces clés :
 +
 +<​code>​
 +~> cd ~/.globus
 +~> openssl pkcs12 -export -in usercert.pem -inkey userkey.pem -out packed-cert.p12
 +</​code>​
 +La commande suivante permet de lire le contenu de la clé publique de votre certificat :
 +
 +<​code>​
 +~> openssl x509 -text -noout -in usercert.pem
 +</​code>​
 +Vous pouvez restreindre la sortie de cette commande pour n'​obtenir que l'​information nécessaire :
 +
 +<​code>​
 +~> openssl x509 -subject -noout -in usercert.pem
 +</​code>​
 +pour obtenir le sujet (DN) du certificat.
 +
 +
 +====  Manipulation de proxy ====
 +
 +Création d'un proxy :
 +
 +<​code>​
 +~> voms-proxy-init -voms vo.formation.idgrilles.fr 
 +</​code>​
 +Visualisation du proxy :
 +
 +<​code>​
 +~> voms-proxy-info
 +</​code>​
 +Visualisation des attributs VOMS du proxy :\\
 +
 +<​code>​
 +~> voms-proxy-info -all 
 +</​code>​
 +Création d'un proxy avec un rôle (ici le rôle "​Production"​) :
 +
 +<​code>​
 +~> voms-proxy-init -voms vo.formation.idgrilles.fr:/​vo.formation.idgrilles.fr/​Role=Production 
 +</​code>​
 +Visualisation du rôle attaché au //proxy// :
 +
 +<​code>​
 +~> voms-proxy-info -all 
 +</​code>​
 +Suppression du proxy :
 +
 +<​code>​
 +~> voms-proxy-destroy  ​
 +</​code>​
 +Localisation du fichier de proxy par défaut : /​tmp/​x509up_u`id -u`\\
 +\\
 +Variables d'​environnement utiles : X509_USER_PROXY,​ X509_USER_CERT,​ X509_USER_KEY
 +Pour couvrir un job long :
 +
 +<​code>​
 +myproxy-init -d -n [ -s f.q.d.n ]
 +</​code>​
 +Variable d'​environnement pour le serveur MyProxy : MYPROXY_SERVER
 +Argument pour définier le serveur MyProxy dans le JDL :
 +
 +<​code>​
 +MyProxyServer = "​f.q.d.n";​
 + 
 +</​code>​
 +Pour obtenir des proxys courts en '​batch'​ :
 +
 +<​code>​
 +myproxy-init -a  # demande un mot de passe
 +</​code>​
 +Pour récupérer les proxys sur le serveur MyProxy :
 +
 +<​code>​
 +myproxy-get-delegation
 +</​code>​
 +Informations sur le proxy déposé sur le serveur MyProxy :\\
 +
 +<​code>​
 +myproxy-info [ -d ] [ -s f.q.d.n ]
 +</​code>​
 +<​code>​
 +myproxy-destroy [ -s f.q.d.n ]
 +</​code>​
 +
  
  • en/authentification_et_autorisation.txt
  • Last modified: 2016/12/16 10:16
  • (external edit)