Tutoriel : Contrôle de l’accès au service de données OGDI avec Windows Azure AppFabric – 2nde partie

Comme présenté dans la première partie de ce tutoriel, nous intéressons à l’utilisation du contrôle d’accès de la plateforme Windows Azure AppFabric pour accéder à une instance du service de données OGDI (Open Government Data Initiative).

Dans cette optique, pour accéder au service de données RESTful OGDI, le client va demander via le protocole d’autorisation OAuth 2.0 au service de contrôle d’accès ACS d’émettre un jeton de sécurité de type SWT suite à une authentification réussie, et ce via un login et un mot de passe gérés par ACS, ou autrement dit une identité du service ACS. ACS assure dans ce scénario le rôle de fournisseur d’identité.

La première étape consiste donc à créer puis à configurer le contrôle d’accès ACS. Le document joint contient toutes captures d’écran.

Pour cela :

  1. Ouvrez votre navigateur et naviguez vers https://windows.azure.com et connectez-vous en utilisant votre Windows Live ID associé à votre compte Windows Azure.
  1. Après authentification, vous êtes redirigé vers la page principale du portail de gestion de Windows Azure. En bas à gauche de cette page, cliquez sur Service Bus, Access Control & Caching. Vous arriverez sur la page suivante.
  2. Cliquez sur le bouton New en haut à droite de la page afin de créer un nouveau service. Dans la boite de dialogue Create a new Service Namespace qui s’ouvre, choisissez simplement le service Access Control dans la liste de gauche, choisissez un espace de noms dans le champ namespace pour votre service, puis renseignez le champ Country/Region.
  3. Le système crée maintenant votre service de contrôle d’accès et l’active. Il est possible que vous deviez attendre plusieurs minutes le temps que le système approvisionne les différentes ressources.
  4. Une fois votre service de contrôle d’accès actif, vous allez procéder à sa configuration. Pour cela, sélectionnez-le et cliquez sur le bouton Access Control Service en haut de la page dans le ruban Windows Azure. Vous devriez arriver sur le portail de gestion du contrôle d’accès suivant :
  5. Vous allez maintenant pouvoir ajouter l’application, en l’occurrence vore instance du service de données OGDI pour laquelle le contrôle d’accès ACS jouera le rôle de STS. Cliquez sur Relying Party applications dans le ruban de gauche, puis cliquez ensuite sur Add pour configurer une nouvelle application.
  6. Sur cette page, remplissez les informations suivantes :
    • Dans le champ Name, choisissez un nom pour identifier votre application, OGDI Data Service par exemple.
    • Dans Mode, choisissez Enter Settings manually.
    • Dans le champ Realm, entrez l’URI pour laquelle le jeton de sécurité délivré par ACS est valide, choisissez https://[URL de votre service de données OGDI]/.
    • Dans le champ Return URL, entrez l’URL à laquelle ACS retournera le jeton de sécurité, une fois encore choisissez https://[URL de votre service de données OGDI]/ .
    • Dans le champ Error URL (optional) , entrez l’URL vers laquelle ACS redirigera les utilisateurs si une erreur survient pendant le processus d’authentification. Pour ce tutoriel, vous pouvez laisser le champ vide.
    • Dans Token format, choisissez le format du jeton qui sera délivré. Pour ce tutoriel, choisissez SWT.
    • Dans le champ Token lifetime (secs) choisissez la durée de validité d’un jeton de sécurité délivré par ACS. La valeur par défaut est de 600 secondes.
    • Dans Identity Providers, vous pouvez sélectionner des fournisseurs d’identité dans un scénario de fédération d’identité. Pour ce tutoriel il n’y a pas de fournisseur d’identité utilisé, donc prenez bien soin de décocher Windows Live ID.
    • Dans Rule groups, sélectionnez l’ensemble de règles qui sera utilisé pour générer les jetons de sécurité. Pour ce tutoriel, choisissez Create new rule group.
    • Dans Token signing key, cliquez sur le bouton Generate pour générer la clé symétrique qui servira à signer les jetons de sécurité puis notez cette clé, vous en aurez besoin dans la suite de ce tutoriel.
  7. Cliquez sur Save.
  8. Nous allons maintenant créer les règles qui vont déterminer comment les jetons de sécurité seront passés des fournisseurs d’identité ou d’ACS (dans le cas présent) à l’application tierce (le service de données OGDI dans ce cas). Nous allons configurer une simple règle qui permettra d’authentifier un utilisateur qui se présentera avec un login et un mot de passe. Commencez par cliquer sur Rule groups dans le ruban de gauche.
  9. Cliquez maintenant sur Default Rule Group for OGDI Data Service. Ensuite, sur la page Edit Rule Group cliquez sur le bouton Add.
  10. Sur la page Add Claim Rule, remplissez les informations suivantes :
    • Dans la section If, sous Input claim issuer, choisissez Access Control Service.
    • Dans la section If, sous Input claim type, choisissez Any.
    • Dans la section If, sous Input claim value, choisissez Any.
    • Dans la section Then, sous Output claim type, choisissez Select type, puis dans la liste déroulante choisissez https://schemas.xmlsoap.org/ws/2005/05/identity/claims/authorizationdecision .
    • Dans la section Then, sous Output claim value, choisissez Enter value, puis tapez la valeur yes dans le champ prévu à cet effet.
    • Cliquez sur Save.
  11. Sur la page Edit Rule Group, cliquez à nouveau sur Save.
  12. Dans ce tutoriel, le client va demander au service de contrôle d’accès un jeton de sécurité de type SWT via une authentification avec un login et un mot de passe gérés par ACS, ou autrement dit, une identité de service ACS. Nous allons donc rajouter cette identité de service. Commencez par cliquer sur Service identities dans le ruban de gauche.
  13. Sur la page Service Identities, cliquez sur Add. Ensuite, sur la page Add Service Identity, remplissez les informations suivantes :
    • Dans le champ Name, entrez acssample.
    • Dans Type, choisissez Password.
    • Dns le champ Password, tapez pass@word1 .
    • Vous pouvez laisser les valeurs Effective date et Expiration date telles quelles.
    • Cliquez sur le bouton Save.

Le service de contrôle d’accès est maintenant configuré et prêt à délivrer ses jetons SWT (sous réserve de s’authentifier avec le bon login et le bon mot de passe).

Nous allons maintenant passer à l’étape suivante, c’est-à-dire l’établissement de la relation de confiance entre notre service de contrôle d’accès Windows Azure AppFabric ACS et notre service de données OGDI. C’est l’objet de la troisième partie de ce tutoriel.

Tutoriel Contrôle de l'accès au service de données OGDI - Partie 2.docx