Authentification Windows Azure

par Rick Anderson

Les outils Microsoft ASP.NET pour Windows Azure Active Directory facilitent l’activation de l’authentification pour les applications web hébergées sur des sites web Windows Azure. Vous pouvez utiliser l’authentification Windows Azure pour authentifier Office 365 utilisateurs à partir de votre organization, des comptes d’entreprise synchronisés à partir de votre annuaire Active Directory local ou des utilisateurs créés dans votre propre domaine Windows Azure Active Directory personnalisé. L’activation de l’authentification Windows Azure configure votre application pour authentifier les utilisateurs à l’aide d’un seul locataire Windows Azure Active Directory .

L’outil d’authentification Windows Azure ASP.NET n’est pas pris en charge pour les rôles web dans un service cloud, mais nous prévoyons de le faire dans une version ultérieure. Windows Identity Foundation (WIF) est pris en charge dans les rôles web Windows Azure.

Pour plus d’informations sur la configuration de la synchronisation entre votre annuaire Active Directory local et votre locataire Windows Azure Active Directory, consultez Utiliser AD FS 2.0 pour implémenter et gérer l’authentification unique.

Windows Azure Active Directory est actuellement disponible en tant que service en préversion gratuite.

Conditions requises :

Créer une application web ASP.NET avec Visual Studio 2012

Vous pouvez créer n’importe quelle application web avec Visual Studio 2012. Ce tutoriel utilise le modèle intranet ASP.NET MVC.

  1. Créez une application intranet ASP.NET MVC 4 et acceptez toutes les valeurs par défaut. (Il doit s’agir d’un projet In tra net et non In ter net). Capture d’écran montrant la boîte de dialogue Modèle de projet. L’application intranet est sélectionnée.

Activer l’authentification Azure de fenêtre (lorsque vous êtes administrateur général du tenet)

Si vous n’avez pas de locataire Windows Azure Active Directory existant (par exemple, via un compte Office 365 existant), vous pouvez créer un locataire en vous inscrivant à un nouveau compte Windows Azure Active Directory.

  1. Dans le menu Projet, sélectionnez Activer l’authentification Windows Azure :

    Capture d’écran montrant le menu déroulant Projet. Activer l’authentification Windows Azure est cerclé en rouge.

  2. Entrez le domaine de votre locataire Windows Azure Active Directory (par exemple, contoso.onmicrosoft.com), puis cliquez sur Activer :

Capture d’écran montrant la boîte de dialogue Activer l’authentification Windows Azure.

  1. Dans la boîte de dialogue Authentification web, connectez-vous en tant qu’administrateur pour votre locataire Windows Azure Active Directory :

    Capture d’écran montrant la page de connexion à Microsoft Office 3 6 5 Web Authentication.

Capture d’écran montrant la page de connexion Windows Azure.

Activer Windows Azure par un non-administrateur du tenet

Si vous ne disposez pas du privilège Administrateur général pour votre locataire Windows Azure Active Directory, vous pouvez décocher la case pour le provisionnement de l’application.

Capture d’écran montrant la boîte de dialogue Activer l’authentification Windows Azure.

La boîte de dialogue affiche le domaine, l’ID du principal d’application et l’URL de réponse requis pour l’approvisionnement de l’application avec un principe Azure Active Directory. Vous devez fournir ces informations à une personne disposant de privilèges suffisants pour approvisionner l’application. Pour plus d’informations sur l’utilisation de l’applet de commande pour créer manuellement le principal de service, consultez Comment implémenter l’authentification unique avec Windows Azure Active Directory - ASP.NET Application . Une fois que l’application a été correctement provisionnée, vous pouvez cliquer sur Continuer pour mettre à jour web.config avec les paramètres sélectionnés. Si vous souhaitez continuer à développer l’application en attendant que l’approvisionnement se produise, vous pouvez cliquer sur Fermer pour mémoriser les paramètres dans le fichier projet. La prochaine fois que vous appelez Activer l’authentification Windows Azure et décochez la case d’approvisionnement, vous verrez les mêmes paramètres et vous pouvez cliquer sur Continuer, puis sur Appliquer ces paramètres dans web.config.

  1. Attendez que votre application soit configurée pour l’authentification Windows Azure et provisionnée avec Windows Azure Active Directory.

  2. Une fois l’authentification Windows Azure activée pour votre application, cliquez sur Fermer :

    Capture d’écran montrant la boîte de dialogue intitulée Activer l’authentification Windows Azure.

  3. Appuyez sur F5 pour exécuter votre application. Vous devez être automatiquement redirigé vers la page de connexion. Utilisez les informations d’identification de l’utilisateur de tenet d’annuaire pour vous connecter à l’application.

    Capture d’écran montrant la page de connexion Windows Azure.

  4. Étant donné que votre application utilise actuellement un certificat de test auto-signé, vous recevrez un avertissement du navigateur indiquant que le certificat n’a pas été émis par une autorité de certification approuvée.

    Cet avertissement peut être ignoré en toute sécurité pendant le développement local en cliquant sur Continuer sur ce site web :

    Capture d’écran montrant un avertissement de sécurité de site web. Continuer vers ce site web non recommandé est cerclé en rouge.

  5. Vous êtes maintenant connecté à votre application à l’aide de l’authentification Windows Azure !

    Capture d’écran montrant la page d’accueil de My A SP dot NET.

L’activation de l’authentification Windows Azure apporte les modifications suivantes à votre application :

  • Une classe CSRF (Anti-Cross-Site Request Forgery) ( App_Start\AntiXsrfConfig.cs ) est ajoutée à votre projet.

  • Les packages NuGet sont ajoutés System.IdentityModel.Tokens.ValidatingIssuerNameRegistry à votre projet.

  • Les paramètres Windows Identity Foundation dans votre application seront configurés pour accepter les jetons de sécurité de votre locataire Windows Azure Active Directory. Cliquez sur l’image ci-dessous pour afficher une vue développée des modifications apportées au fichier Web.config .

    Capture d’écran montrant les lignes de code 9 à 67. Certaines lignes sont supprimées de la capture d’écran et les lignes 92 à 97 sont restantes.

  • Un principal de service pour votre application dans votre locataire Windows Azure Active Directory sera provisionné.

  • HTTPS est activé.

Déployer l’application sur Windows Azure

Pour obtenir des instructions complètes, consultez Déploiement d’une application web ASP.NET sur un site web Windows Azure.

Pour publier une application à l’aide de l’authentification Windows Azure sur un site web Azure :

  1. Cliquez avec le bouton droit sur votre application et sélectionnez Publier :

    Capture d’écran montrant le menu clic droit win Azure Auth Demo. Publier est sélectionné.

  2. Dans la boîte de dialogue Publier le web, téléchargez et importez un profil de publication pour votre site web Azure.

    Capture d’écran montrant la page Profil dans la boîte de dialogue Publier le web.

  3. L’onglet Connexion affiche l’URL de destination (l’URL publique de votre application). Cliquez sur Valider la connexion pour tester votre connexion :

    Capture d’écran montrant la page Connexion dans la boîte de dialogue Publier le web.

  4. Si vous avez déjà publié sur ce site web Azure, envisagez de vérifier le paramètre Supprimer des fichiers supplémentaires à la destination pour vous assurer que votre application publie correctement. Notez que la zone Activer l’authentification Windows Azure case activée est cochée.

    Capture d’écran montrant la page Paramètres dans la boîte de dialogue Publier le web. Activer l’authentification Windows Azure est coché et cerclé en rouge.

  5. Facultatif : sous l’onglet Aperçu , cliquez sur Démarrer la préversion pour afficher les fichiers déployés.

    Capture d’écran montrant la page Aperçu dans la boîte de dialogue Publier le web.

  6. Cliquez sur Publier.

    Vous serez invité à activer l’authentification Windows Azure pour l’hôte cible. Cliquez sur Activer pour continuer :

    Capture d’écran montrant la boîte de dialogue Activer l’authentification Windows Azure.

  7. Entrez vos informations d’identification d’administrateur pour votre locataire Windows Azure Active Directory :

    Capture d’écran montrant la page de connexion à l’authentification web Windows Azure.

  8. Une fois votre application publiée, un navigateur s’ouvre sur le site web publié.

    Notes

    Le provisionnement complet de Votre application avec Windows Azure Active Directory peut prendre jusqu’à cinq minutes (généralement beaucoup moins) après l’activation de l’authentification Windows Azure pour l’hôte cible. Lorsque vous exécutez votre application pour la première fois si vous recevez l’erreur ACS50001 : la partie de confiance nommée « [domaine] » est introuvable, attendez quelques minutes et réessayez d’exécuter l’application.

  9. Lorsque vous y êtes invité, connectez-vous en tant qu’utilisateur dans votre annuaire :

    Capture d’écran montrant la page de connexion Windows Azure.

  10. Vous avez maintenant réussi à vous connecter à votre application hébergée Azure à l’aide de l’authentification Windows Azure.

    Capture d’écran montrant la page d’accueil My A SP dot NET.

Problèmes connus

Échec de l’autorisation basée sur les rôles lors de l’utilisation de l’authentification Windows Azure

L’authentification Windows Azure ne fournit pas actuellement la revendication de rôle nécessaire afin que l’autorisation basée sur les rôles puisse être effectuée. Le rôle de l’utilisateur authentifié doit être récupéré manuellement à partir de Windows Azure Active Directory.

L’accès à une application avec l’authentification Windows Azure génère l’erreur « ACS20016 Le domaine de l’utilisateur connecté (live.com) ne correspond à aucun domaine autorisé de ce STS »

Si vous êtes déjà connecté à un compte Microsoft (par exemple, hotmail.com, live.com outlook.com) et que vous tentez d’accéder à une application qui a activé l’authentification Windows Azure, vous pouvez obtenir une réponse d’erreur 400, car le domaine de votre compte Microsoft n’est pas reconnu par Windows Azure Active Directory. Pour vous connecter à l’application, déconnectez-vous d’abord de votre compte Microsoft.

La connexion à une application avec l’authentification Windows Azure activée et un X509CertificateValidationMode autre que None entraîne des erreurs de validation de certificat pour le certificat accounts.accesscontrol.windows.net

La validation du certificat n’est pas requise et doit être laissée désactivée. L’empreinte numérique du certificat émetteur est validée par WSFederationAuthenticationModule.

Lorsque vous tentez d’activer l’authentification Windows Azure, la boîte de dialogue d’authentification web affiche l’erreur « ACS20016 : le domaine de l’utilisateur connecté (contoso.onmicrosoft.com) ne correspond à aucun domaine autorisé de ce STS ».

Vous pouvez voir cette erreur lorsque vous vous êtes précédemment connecté à l’aide d’un autre compte Windows Azure Active Directory à partir du même processus Visual Studio. Déconnectez-vous du compte spécifié ou redémarrez Visual Studio. Si vous vous êtes déjà connecté et que vous avez sélectionné l’option « Maintenir la connexion », vous devrez peut-être effacer les cookies de votre navigateur.

ACS20012 : la demande n’est pas un message de protocole WS-Federation valide

Cela peut se produire si vous êtes déjà connecté avec un autre ID Microsoft à l’un des services Azure. Utilisez la fenêtre de navigateur privé comme InPrivate dans IE ou Incognito dans Chrome ou effacez tous les cookies.

Ressources supplémentaires