Procedura: Creare il primo servizio con riconoscimento delle attestazioni ASP.NET tramite ACS

Aggiornamento: 19 giugno 2015

Si applica a: Azure

Si applica a

  • Microsoft Azure Active Directory Access Control (anche noto come Servizio di controllo di accesso o ACS)

Panoramica

Nota

Questo argomento riguarda una tecnologia legacy. Per creare servizi Web XML e client di servizio Web XML, vedere https://go.microsoft.com/fwlink/?LinkID=220304.

Questo argomento descrive come integrare un semplice servizio Web ASP.NET con ACS. Integrando il servizio Web con ACS, è possibile considerare le funzionalità di autenticazione e autorizzazione fuori dal codice. ACS fornisce il meccanismo per l'autenticazione e l'autorizzazione dei client al servizio Web. Per altre informazioni, vedere Servizi Web e ACS

In uno scenario in cui viene usato un servizio Web si presuppone che un client del servizio Web non disponga dell'accesso a un browser e funzioni in modo autonomo, ovvero senza intervento dell'utente. In questo scenario inoltre un client può accedere a un servizio Web usando un'identità del servizio o un'identità enterprise. Nell'esercizio descritto in questo argomento un client ottiene l'accesso a un esempio ASP.NET servizio Web usando un tipo di credenziale dell'identità del servizio configurato in ACS.

Per eseguire i passaggi illustrati in questo argomento, è necessario scaricare un servizio ASP.NET di esempio. Per altre informazioni, vedere Esempio di codice: ASP.NET servizio Web.

Procedura per l'integrazione di ACS con un servizio Web ASP.NET

Importante

Prima di eseguire la procedura seguente, assicurarsi che il sistema soddisfi tutti i requisiti di .NET Framework e piattaforma riepilogati in Prerequisiti ACS.

Per integrare ACS con questo esempio ASP.NET servizio Web, completare la procedura seguente:

  • Passaggio 1 - Creare uno spazio dei nomi Access Control

  • Passaggio 2 - Avviare il portale di gestione ACS

  • Passaggio 3: Aggiungere un'applicazione Relying Party

  • Passaggio 4 - Creare le regole

  • Passaggio 5 - Configurare un'identità del servizio

  • Passaggio 6 - Configurare i criteri di attendibilità tra ACS e il servizio Web ASP.NET

  • Passaggio 7 - Testare l'integrazione tra ACS e il servizio Web ASP.NET

Passaggio 1 - Creare uno spazio dei nomi Access Control

Per istruzioni dettagliate, vedere Procedura: Creare uno spazio dei nomi Controllo di accesso.

Passaggio 2 - Avviare il portale di gestione ACS

Il portale di gestione di ACS consente di configurare lo spazio dei nomi Controllo di accesso aggiungendo provider di identità, configurando applicazioni di relying party, definendo regole e gruppi di regole e definendo le credenziali attendibili dell'applicazione relying party.

Per avviare il portale di gestione ACS

  1. Passare al portale di gestione Microsoft Azure (https://manage.WindowsAzure.com), accedere e quindi fare clic su Active Directory. (Suggerimento per la risoluzione dei problemi: l'elemento "Active Directory" non è disponibile o meno)

  2. Per gestire uno spazio dei nomi di Controllo di accesso, selezionare lo spazio dei nomi, quindi fare clic su Gestisci. Altrimenti, fare clic su Spazi dei nomi controllo di accesso, selezionare lo spazio dei nomi, quindi fare clic su Gestisci.

Passaggio 3: Aggiungere un'applicazione Relying Party

Questa sezione descrive come aggiungere un'applicazione relying party. Per altre informazioni sulle applicazioni di relying party, vedere Relying Party Applications.

Per configurare un'applicazione relying party

  1. Nel portale di gestione ACS fare clic su Relying Party Applications nell'albero sul lato sinistro oppure fare clic sul collegamento Relying Party Applications nella sezione Introduzione.

  2. Nella pagina Relying Party Applications fare clic su Add.

  3. Nella pagina Add Relying Party Application effettuare le seguenti operazioni:

    • In Name digitare il nome dell'applicazione relying party. Per questo esercizio, digitare ASPNET Simple Service.

    • In Mode selezionare Enter settings manually.

    • Nell'area di autenticazione digitare l'URI a cui si applica il token di sicurezza emesso da ACS. Per questo esercizio digitare https://localhost:8000/Service.

    • In URL restituito digitare l'URL a cui ACS restituisce il token di sicurezza. Per questo esercizio digitare https://localhost:8000/Service.

    • In URL errore (facoltativo) immettere l'URL che ACS può pubblicare se si verifica un errore durante l'accesso. Per questo esercizio, lasciare vuoto questo campo.

    • In Formato token selezionare un formato token per ACS da usare durante l'emissione di token di sicurezza a questa applicazione di relying party. Per questo esercizio, selezionare SWT. Per altre informazioni sui token e sui formati di token, vedere Formati di token supportati in ACS e "Formato token" nelle applicazioni relying party.

    • In Token lifetime (secs) specificare la durata della validità di un token di sicurezza rilasciato da ACS. Per questo esercizio, accettare il valore predefinito 600. Per altre informazioni sulla durata dei token, vedere "Criteri di crittografia dei token" in Applicazioni relying party.

    • In Identity providers è possibile selezionare i provider di identità da usare con l'applicazione relying party.

      Per questo esercizio, tuttavia, non vengono usati provider di identità, il client ottiene l'accesso al servizio Web con un'identità del servizio, quindi assicurarsi di deselezionare la casella di controllo accanto a Windows Live ID.

      Per altre informazioni sulle identità del servizio, vedere Identità del servizio.

    • In Rule groups selezionare i gruppi di regole che l'applicazione relying party deve usare durante l'elaborazione delle attestazioni. Per questo esercizio, accettare il valore Create New Rule Group selezionato per impostazione predefinita. Per altre informazioni sui gruppi di regole, vedere Gruppi di regole e regole.

    • In Token signing key in Token Signing Settings fare clic sul pulsante Generate per generare una chiave simmetrica a 256 bit per la relying party.

  4. Fare clic su Salva.

Passaggio 4 - Creare le regole

Le regole determinano il modo in cui le attestazioni vengono passate da provider di identità o ACS (se ACS è l'autorità di certificazione delle attestazioni) all'applicazione relying party. Per altre informazioni sulle regole e sui gruppi di regole, vedere Gruppi di regole e regole.

Per creare le regole

  1. Nella home page del portale di gestione ACS fare clic su Gruppi di regole nell'albero sul lato sinistro oppure fare clic sul collegamento Gruppi di regole nella sezione Introduzione.

  2. Nella pagina Rule Groups fare clic su Default Rule Group for ASPNET Simple Service (ASPNET Simple Service è infatti il nome che è stato assegnato all'applicazione relying party).

  3. Nella pagina Edit Rule Group fare clic su Add.

  4. Nella pagina Add Claim Rule eseguire le operazioni seguenti:

    • In Claim issuer nella sessione If selezionare Access Control Service.

    • In Input claim type nella sezione If accettare la selezione predefinita Any.

    • In Input claim value nella sezione If accettare la selezione predefinita Any.

    • Nella sezione Quindi, in Tipo attestazione output selezionare Immettere tipo e quindi digitare azione, perché è il tipo di attestazione specificato nel codice dell'esempio di servizio Web ASP.NET usato in questo esercizio: requiredClaimType = “action”. È possibile trovare questa stringa nel codice di esempio, in Default.aspx.cs, in acs\WebServices\ASPNETSimpleService\Service.

    • Nella sezione Quindi, in Valore attestazione output selezionare Invio valore e quindi digitare inverso, perché è il tipo di attestazione specificato nel codice dell'esempio di servizio Web ASP.NET usato in questo esercizio: requiredClaimValue = “reverse”. È possibile trovare questa stringa nel codice di esempio, in Default.aspx.cs, in acs\WebServices\ASPNETSimpleService\Service.

    • Fare clic su Salva.

  5. Nella pagina Edit Rule Group fare clic su Save.

Passaggio 5 - Configurare un'identità del servizio

Nell'esercizio descritto in questo argomento, il client richiede un token Web semplice (SWT) rilasciato da ACS con un nome utente e una password registrati da ACS, in altre parole, un'identità del servizio ACS. Questa sezione descrive come configurare un'identità del servizio ACS o come configurare le credenziali ospitate da ACS che il client può usare per richiedere un token da ACS. Per altre informazioni, vedere Identità del servizio. Per questo esercizio, impostare il nome dell'identità del servizio su acssample (il client del servizio ASP.NET usa questo valore come nome utente quando si richiede un token da ACS) e la password per pass@word1.

Per configurare un'identità del servizio

  1. Nella home page del portale di gestione ACS fare clic su Identità del servizio nell'albero sul lato sinistro.

  2. Nella pagina Service Identities fare clic su Add.

  3. Nella pagina Add Service Identity eseguire le operazioni seguenti, quindi fare clic su Save:

    1. In Name digitare acssample.

    2. In Type selezionare Password.

    3. In Password digitare pass@word1.

    4. Accettare i valori predefiniti di Effective date ed Expiration date.

  4. Nella pagina Edit Service Identity fare clic su Save.

Passaggio 6 - Configurare i criteri di attendibilità tra ACS e il servizio Web ASP.NET

Questa sezione descrive come integrare ACS con il servizio di ASP.NET di esempio. Per altre informazioni, vedere Esempio di codice: ASP.NET servizio Web.

Per configurare i criteri di attendibilità tra ACS e il servizio Web ASP.NET

  1. Individuare ASPNETSimpleService.sln nell'esempio scaricato e aprirlo in Visual Studio® 2010.

  2. In Soluzione 'ASPNETSimpleService' in Esplora soluzioni di Visual Studio 2010 fare doppio clic su web.config.

  3. In web.configimmettere il nome dello spazio dei nomi Controllo di accesso e la chiave di firma del token configurata in ACS nei passaggi precedenti. Per visualizzare la chiave di firma del token, fare clic su Certificati e chiavi nel portale di gestione di ACS.

    Il seguente frammento di codice mostra gli elementi del file web.config che devono essere aggiornati.

    <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>
    
  4. Salvare il file web.config aggiornato.

  5. In Soluzione 'ASPNETSimpleService' in Esplora soluzioni di Visual Studio 2010 fare doppio clic sul file app.config.

  6. Nel file app.config immettere il nome dello spazio dei nomi Controllo di accesso e il nome utente e la password dell'identità del servizio configurata in ACS nei passaggi precedenti. Per visualizzare il nome utente e la password, fare clic su Identità del servizio nel portale di gestione di ACS.

    Il seguente frammento di codice mostra gli elementi del file app.config che devono essere modificati.

    <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>
    
  7. Salvare il file app.config aggiornato.

Passaggio 7 - Testare l'integrazione tra ACS e il servizio Web ASP.NET

Questa sezione descrive come testare l'integrazione tra il servizio Web ASP.NET e il servizio ACS.

Per testare l'integrazione tra ACS e il servizio Web ASP.NET

  1. Per eseguire il servizio ASP.NET, in Visual Studio 2010 premere F5.

  2. Per eseguire il client del servizio Web ASP.NET, fare clic con il pulsante destro del mouse su Client in Esplora soluzioni, quindi scegliere Debug e infine Avvia nuova istanza.

    Verrà visualizzata una finestra della riga di comando con il messaggio seguente: immettere una stringa per invertire, quindi premere <INVIO>.

  3. Immettere una stringa, ad esempio hello world!, quindi premere INVIO.

    Se l'input era hello world!, dovrebbe essere visualizzata la risposta seguente nell'applicazione console: !dlrow olleh.

Vedere anche

Concetti

Procedure di ACS