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 :
- Visual Studio 2012 ou Visual Studio Express 2012
- Extensions Web Tools pour Visual Studio 2012 ou Extensions Web Tools pour Visual Studio Express 2012
- Microsoft ASP.NET Tools pour Windows Azure Active Directory – Visual Studio 2012 ou Microsoft ASP.NET Tools pour Windows Azure Active Directory – Visual Studio Express 2012 pour le web
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.
- 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).
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.
Dans le menu Projet, sélectionnez Activer l’authentification Windows Azure :
Entrez le domaine de votre locataire Windows Azure Active Directory (par exemple, contoso.onmicrosoft.com), puis cliquez sur Activer :
Dans la boîte de dialogue Authentification web, connectez-vous en tant qu’administrateur pour votre locataire Windows Azure Active Directory :
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.
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.
Attendez que votre application soit configurée pour l’authentification Windows Azure et provisionnée avec Windows Azure Active Directory.
Une fois l’authentification Windows Azure activée pour votre application, cliquez sur Fermer :
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.
É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 :
Vous êtes maintenant connecté à votre application à l’aide de l’authentification Windows Azure !
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 .
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 :
Cliquez avec le bouton droit sur votre application et sélectionnez Publier :
Dans la boîte de dialogue Publier le web, téléchargez et importez un profil de publication pour votre site web Azure.
L’onglet Connexion affiche l’URL de destination (l’URL publique de votre application). Cliquez sur Valider la connexion pour tester votre connexion :
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.
Facultatif : sous l’onglet Aperçu , cliquez sur Démarrer la préversion pour afficher les fichiers déployés.
Cliquez sur Publier.
Vous serez invité à activer l’authentification Windows Azure pour l’hôte cible. Cliquez sur Activer pour continuer :
Entrez vos informations d’identification d’administrateur pour votre locataire Windows Azure Active Directory :
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.
Lorsque vous y êtes invité, connectez-vous en tant qu’utilisateur dans votre annuaire :
Vous avez maintenant réussi à vous connecter à votre application hébergée Azure à l’aide de l’authentification Windows Azure.
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
- Microsoft ASP.NET Tools pour Windows Azure Active Directory – Visual Studio 2012 – Vittorio Bertocci
- Fonctionnalités Windows Azure : Identité
- TechNet : Windows Azure Active Directory
- Windows Azure Active Directory : Développer des applications pour votre organization
- Windows Azure Active Directory : Développer des applications pour plusieurs organisations
- Comment implémenter l’authentification unique avec Windows Azure Active Directory
- Single Sign-On avec Windows Azure Active Directory: a Deep Dive – Vittorio Bertocci
- Utiliser AD FS 2.0 pour implémenter et gérer l’authentification unique
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour