Création de mon premier service ASP.NET prenant en charge les revendications avec ACS
Mise à jour : 19 juin 2015
S’applique à : Azure
S'applique à
- Microsoft Azure Active Directory Access Control (également appelé Access Control Service ou ACS)
Vue d’ensemble
Notes
Cette rubrique se rapporte à une technologie héritée. Pour créer des services Web XML et des clients de service Web XML, consultez https://go.microsoft.com/fwlink/?LinkID=220304.
Cette rubrique explique comment intégrer un service web ASP.NET simple à ACS. En intégrant votre service web à ACS, vous devez factoriser les fonctionnalités de l’authentification et de l’autorisation hors de votre code. ACS fournit le mécanisme permettant d’authentifier et d’autoriser les clients à votre service web. Pour plus d’informations, consultez Services Web et ACS
Dans un scénario de service web, on considère qu'un client de service web ne dispose pas d'un accès à un navigateur et agit de façon autonome (sans intervention de l'utilisateur). De même, dans ce type de scénario, un client peut accéder à un service web à l'aide d'une identité de service ou d'une identité d'entreprise. Dans l’exercice décrit dans cette rubrique, un client accède à un exemple de service web ASP.NET à l’aide d’un type d’informations d’identification d’identité de service configuré dans ACS.
Afin de pouvoir effectuer la procédure de cette rubrique, vous devez télécharger un exemple de service ASP.NET. Pour plus d’informations, consultez l’exemple de code : ASP.NET service web.
Procédure d'intégration d'ACS à un service web ASP.NET
Important
Avant d’effectuer les étapes suivantes, assurez-vous que votre système répond à toutes les exigences du .NET Framework et de la plateforme qui sont résumées dans les prérequis ACS.
Pour intégrer ACS à cet exemple ASP.NET service web, procédez comme suit :
Étape 1 : création d'un espace de noms Access Control
Étape 2 : lancement du portail de gestion ACS
Étape 3 : ajouter une application de partie de confiance
Étape 4 : création de règles
Étape 5 : configuration d'une identité de service
Étape 6 : configuration de l'approbation entre ACS et votre service web ASP.NET
Étape 7 : test de l'intégration entre ACS et votre service web ASP.NET
Étape 1 : création d'un espace de noms Access Control
Pour obtenir des instructions détaillées, consultez Guide pratique pour créer un espace de noms Access Control.
Étape 2 : lancement du portail de gestion ACS
Le portail de gestion ACS vous permet de configurer votre espace de noms Access Control en ajoutant des fournisseurs d’identité, en configurant des applications de partie de confiance, en définissant des règles et des groupes de règles et en établissant les informations d’identification approuvées par votre application de partie de confiance.
Pour démarrer le portail de gestion ACS
Accédez au portail de gestion Microsoft Azure (https://manage.WindowsAzure.com), connectez-vous, puis cliquez sur Active Directory. (Conseil de résolution des problèmes : l’élément « Active Directory » est manquant ou non disponible)
Pour gérer un espace de noms Access Control, sélectionnez l'espace de noms, puis cliquez sur Gérer. (Ou cliquez sur Espaces de noms Access Control, sélectionnez l'espace de noms, puis cliquez sur Gérer.)
Étape 3 : ajouter une application de partie de confiance
Cette section décrit comment ajouter une application de partie de confiance. Pour plus d’informations sur les applications de partie de confiance, consultez Applications de partie de confiance.
Pour configurer une application de partie de confiance
Dans le portail de gestion ACS, cliquez sur Applications de partie de confiance dans l’arborescence sur le côté gauche ou cliquez sur le lien Applications de partie de confiance sous la section Prise en main.
Dans la page Applications de partie de confiance, cliquez sur Ajouter.
Dans la page Ajouter une application de partie de confiance, procédez comme suit :
Dans la zone Nom, entrez le nom de l'application de partie de confiance. Dans cet exercice, entrez Service ASPNET simple.
Dans la zone Mode, sélectionnez Entrer les paramètres manuellement.
Dans Le domaine, tapez l’URI auquel le jeton de sécurité émis par ACS s’applique. Pour cet exercice, tapez https://localhost:8000/Service.
Dans l’URL de retour, tapez l’URL vers laquelle ACS retourne le jeton de sécurité. Pour cet exercice, tapez https://localhost:8000/Service.
Dans URL d’erreur (facultatif) , entrez l’URL à laquelle ACS peut publier si une erreur se produit lors de la connexion. Pour cet exercice, laissez ce champ vide.
Dans le format jeton, sélectionnez un format de jeton pour ACS à utiliser lors de l’émission de jetons de sécurité à cette application de partie de confiance. Dans cet exercice, entrez SWT Pour plus d’informations sur les jetons et les formats de jeton, consultez Formats de jeton pris en charge dans ACS et « Format de jeton » dans les applications de partie de confiance.
Dans la zone Durée de vie des jetons (en secondes), spécifiez la durée de validité d'un jeton de sécurité émis par ACS. Dans cet exercice, acceptez la valeur par défaut 600. Pour plus d’informations sur les durées de vie des jetons, consultez « Stratégie de chiffrement de jeton » dans les applications de partie de confiance.
Dans la zone Fournisseurs d'identité, vous pouvez sélectionner les fournisseurs d'identité à utiliser avec cette application de partie de confiance.
Toutefois, pour cet exercice, aucun fournisseur d’identité n’est utilisé, le client obtient l’accès au service web avec une identité de service. Veillez donc à décochez la case en regard de Windows Live ID.
Pour plus d’informations sur les identités de service, consultez Identités de service.
Dans la zone Groupes de règles, sélectionnez les groupes de règles utilisés par cette application de partie de confiance lors du traitement des revendications. Dans cet exercice, acceptez l'option sélectionnée par défaut Créer un groupe de règles. Pour plus d’informations sur les groupes de règles, consultez Groupes de règles et Règles.
Dans Paramètres de signature des jetons, dans Clé de signature des jetons, cliquez sur le bouton Générer afin de générer une clé symétrique de 256 bits pour cette partie de confiance.
Cliquez sur Enregistrer.
Étape 4 : création de règles
Les règles déterminent la façon dont les revendications sont transmises à partir de fournisseurs d’identité ou d’ACS (si ACS est l’émetteur de revendications) à votre application de partie de confiance. Pour plus d’informations sur les règles et les groupes de règles, consultez Groupes de règles et Règles.
Pour créer des règles
Dans la page d’accueil du portail de gestion ACS, cliquez sur Groupes de règles dans l’arborescence sur le côté gauche ou cliquez sur le lien Groupes de règles sous la section Prise en main.
Dans la page Groupes de règles, cliquez sur Groupe de règles par défaut pour le service ASPNET simple (car vous avez nommé votre application de partie de confiance Service ASPNET simple).
Dans la page Modifier le groupe de règles, cliquez sur Ajouter.
Dans la page Ajouter une règle de revendication, procédez comme suit :
Dans la section Si, sous Émetteur de la revendication, sélectionnez Service de contrôle d'accès.
Dans la section Si, sous Type de revendication entrante, conservez la sélection par défaut Tout.
Dans la section Si, sous Valeur de revendication entrante, conservez la sélection par défaut N'importe laquelle.
Dans la section Then, sous Type de revendication Output, sélectionnez Type Entrée, puis action de type, car il s’agit du type de revendication spécifié dans le code de l’exemple de service web ASP.NET que vous utilisez dans cet exercice :
requiredClaimType = “action”
. Vous trouverez cette chaîne dans l’exemple de code, dans Default.aspx.cs, sous acs\WebServices\ASPNETSimpleService\Service.Dans la section Then, sous Valeur de revendication Output, sélectionnez Entrée value, puis tapez inverse, car il s’agit du type de revendication spécifié dans le code de l’exemple de service web ASP.NET que vous utilisez dans cet exercice :
requiredClaimValue = “reverse”
Vous trouverez cette chaîne dans l’exemple de code, dans Default.aspx.cs, sous acs\WebServices\ASPNETSimpleService\Service.Cliquez sur Enregistrer.
Dans la page Modifier le groupe de règles, cliquez sur Enregistrer.
Étape 5 : configuration d'une identité de service
Dans l’exercice décrit dans cette rubrique, le client demande un jeton web simple émis par ACS (SWT) auprès d’ACS avec un nom d’utilisateur et un mot de passe enregistrés avec et gérés par ACS, en d’autres termes, une identité de service ACS. Cette section explique comment configurer une identité de service ACS ou comment configurer les informations d’identification hébergées par ACS que le client peut utiliser pour demander un jeton auprès d’ACS. Pour plus d’informations, consultez Identités de service. Pour cet exercice, définissez le nom de l’identité de service sur acssample (le client de service ASP.NET utilise cette valeur comme nom d’utilisateur lors de la demande d’un jeton auprès d’ACS) et du mot de passe pour pass@word1.
Pour configurer une identité de service
Dans la page d’accueil du portail de gestion ACS , cliquez sur Identités de service dans l’arborescence sur le côté gauche.
Dans la page Identités de service, cliquez sur Ajouter.
Dans la page Ajouter une identité de service, procédez comme suit, puis cliquez sur Suivant :
Dans la zone Nom, entrez acssample.
Dans la zone Type, sélectionnez Mot de passe.
Dans la zone Mot de passe, entrez pass@word1.
Conservez les valeurs par défaut des champs Date d'effet et Date d'expiration.
Dans la page Modifier l'identité de service, cliquez sur Enregistrer.
Étape 6 : configuration de l'approbation entre ACS et votre service web ASP.NET
Cette section explique comment intégrer ACS à votre exemple de service ASP.NET. Pour plus d’informations, consultez l’exemple de code : ASP.NET service web.
Pour configurer l'approbation entre ACS et le service web ASP.NET
Recherchez le fichier ASPNETSimpleService.sln dans l'exemple téléchargé et ouvrez-le dans Visual Studio® 2010.
Dans Visual Studio 2010, dans l'Explorateur de solutions, sous Solution 'ASPNETSimpleService', double-cliquez sur web.config.
Dans web.config, entrez le nom de l’espace de noms Access Control et la clé de signature de jeton que vous avez configurée dans ACS dans les étapes précédentes ci-dessus. Pour afficher la clé de signature de jeton, cliquez sur Certificats et clés dans le portail de gestion ACS.
L'extrait de code ci-après présente les éléments du fichier web.config que vous devez mettre à jour.
<appSettings> <add key="AccessControlHostName" value="accesscontrol.windows.net"/> <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/> <add key="IssuerSigningKey" value="...enter your signing key..."/> </appSettings>
Enregistrez le fichier web.config mis à jour.
Dans Visual Studio 2010, dans l'Explorateur de solutions, sous Solution 'ASPNETSimpleService', double-cliquez sur le fichier app.config.
Dans le fichier app.config, entrez le nom de votre espace de noms Access Control et le nom d’utilisateur et le mot de passe de l’identité de service que vous avez configurée dans ACS au cours des étapes précédentes. Pour afficher le nom d’utilisateur et le mot de passe, cliquez sur Identités de service dans le portail de gestion ACS.
L'extrait de code ci-après présente les éléments du fichier app.config que vous devez mettre à jour.
<appSettings> <add key="AccessControlHostName" value="accesscontrol.windows.net"/> <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/> <add key="WrapPassword" value="...update to your password..."/> <add key="WrapUsername" value="...update to your username..."/> <add key="ServiceAddress" value="https://localhost:8000/Service/Default.aspx" /> </appSettings>
Enregistrez le fichier app.config mis à jour.
Étape 7 : test de l'intégration entre ACS et votre service web ASP.NET
Cette section décrit comment tester l’intégration entre votre service web ASP.NET et ACS.
Pour tester l'intégration entre ACS et votre service Web ASP.NET
Pour exécuter le service ASP.NET, dans Visual Studio 2010, appuyez sur F5.
Pour exécuter le client de service web ASP.NET, cliquez avec le bouton droit sur Client dans l'Explorateur de solutions, choisissez Déboguer, puis sélectionnez Démarrer une nouvelle instance.
Une fenêtre de ligne de commande s’ouvre avec le message suivant : entrez une chaîne à inverser, puis appuyez sur <Entrée>.
Entrez n'importe quelle chaîne, par exemple, hello world!, puis appuyez sur Entrée.
Si votre entrée était hello world!, vous devriez voir la réponse suivante sur l’application console : !dlrow olleh.