Modifié par Bouvet, le 26 Apr 2012

Authentification et autorisation



Nous allons décrire la procédure normale d’obtention d’un certificat.
Un certificat a une validité d’un an et peut être renouvelé.

  1. Connectez-vous sur le site de certification pour la France : http://igc.services.cnrs.fr/GRID2-FR/certificats.html
  2. Dans le menu, « Certificats personnels », cliquez sur [Demander]
  3. Remplissez les données du premier formulaire, cliquez sur [Envoyer]

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.
Le résumé des informations apparaît. Vérifiez que les informations sont correctes. Si vous cliquez sur “[suite]”, la demande est envoyée.

L’autorité de certification envoie un message électronique à l’adresse que vous avez indiquée. Dans ce message, il y a un lien que vous devez suivre 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 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 et configuration du certificat sur l’ UI

Pour l'installation du certificat sur l'UI, il faut au préalable exporter votre certificat de votre navigateur au format PKCS12 (.p12)

  1. Sur l’UI, créez, dans votre home directory, le répertoire .globus
  2. Avec les commandes suivantes, convertir votre certificat du format .p12 au format .pem qui comporte 2 fichiers : les clés publique et privée de votre certificat.

(ces commandes vont vous demander d’entrer le mot de passe qui a été utilisé pour créer le fichier .p12)

~> 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

Placer ces fichiers dans le répertoire .globus avec les bons droits.
usercert.pem est la clé publique et userkey.pem est la clé privée. Cette dernière doit être lisible uniquement par vous :

~> 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
  1. Faites une copie de sauvegarde des clés du certificat.
  2. 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 «Operations Portal » ( https://operations-portal.egi.eu ) contient les informations concernant les différentes VO.

  1. 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é.
  2. Remplissez le formulaire et cliquez sur le bouton «You agree on the VO's usage rules».
  3. Vous allez recevoir un mail pour confirmer votre demande. Cliquez sur le lien.
  4. 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.

  1. Depuis l’UI, demandez un proxy à l'aide de la fonction voms-proxy-init -voms <VO name>
  1. 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.


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

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


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







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 :

~> cd ~
~> mkdir .globus 

Le certificat est installé au format .pem dans ce répertoire :

~> 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

usercert.pem est la clé publique et userkey.pem est la clé privée. Cette dernière doit être lisible uniquement par vous :

~> 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

Vous pouvez faire une copie de sauvegarde de ces clés :

~> cp -rp ~/.globus ~/.globus.original

Vous pouvez aussi créer un nouveau fichier PKCS12 (.p12) à partir de ces clés :

~> cd ~/.globus
~> openssl pkcs12 -export -in usercert.pem -inkey userkey.pem -out packed-cert.p12

La commande suivante permet de lire le contenu de la clé publique de votre certificat :

~> openssl x509 -text -noout -in usercert.pem

Vous pouvez restreindre la sortie de cette commande pour n'obtenir que l'information nécessaire :

~> openssl x509 -subject -noout -in usercert.pem

pour obtenir le sujet (DN) du certificat.

Manipulation de proxy

Création d'un proxy :

~> voms-proxy-init -voms vo.formation.idgrilles.fr 

Visualisation du proxy :

~> voms-proxy-info

Visualisation des attributs VOMS du proxy :

~> voms-proxy-info -all 

Création d'un proxy avec un rôle (ici le rôle “Production”) :

~> voms-proxy-init -voms vo.formation.idgrilles.fr:/vo.formation.idgrilles.fr/Role=Production 

Visualisation du rôle attaché au proxy :

~> voms-proxy-info -all 

Suppression du proxy :

~> voms-proxy-destroy  

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 :

myproxy-init -d -n [ -s f.q.d.n ]

Variable d'environnement pour le serveur MyProxy : MYPROXY_SERVER Argument pour définier le serveur MyProxy dans le JDL :

MyProxyServer = "f.q.d.n";
 

Pour obtenir des proxys courts en 'batch' :

myproxy-init -a  # demande un mot de passe

Pour récupérer les proxys sur le serveur MyProxy :

myproxy-get-delegation

Informations sur le proxy déposé sur le serveur MyProxy :

myproxy-info [ -d ] [ -s f.q.d.n ]
myproxy-destroy [ -s f.q.d.n ]
  • authentification_et_autorisation.txt
  • Dernière modification: 2018/08/30 16:36
  • par David BOUVET