Integrazione di applicazioni con Azure Active DirectoryIntegrating applications with Azure Active Directory

Nota

Questo articolo fa parte della Guida per gli sviluppatori di Azure Active Directory.This article is part of the Azure Active Directory developer's guide.

Gli sviluppatori aziendali e i provider SaaS possono sviluppare servizi cloud commerciali o applicazioni line-of-business che possono essere integrate con Azure Active Directory (Azure AD) per garantire la sicurezza dell'accesso e delle autorizzazioni per i loro servizi.Enterprise developers and software-as-a-service (SaaS) providers can develop commercial cloud services or line-of-business applications, that can be integrated with Azure Active Directory (Azure AD) to provide secure sign-in and authorization for their services. Per integrare un'applicazione o un servizio con Azure AD, uno sviluppatore deve prima di tutto registrare l'applicazione con Azure AD.To integrate an application or service with Azure AD, a developer must first register the application with Azure AD.

Questo articolo mostra come aggiungere, aggiornare o rimuovere la registrazione di un'applicazione in Azure AD.This article shows you how to add, update, or remove an application's registration in Azure AD. Vengono indicati i diversi tipi di applicazioni che possono essere integrate con Azure AD e vengono fornite le informazioni su come configurare le applicazioni per accedere ad altre risorse, come le API Web e altro ancora.You learn about the different types of applications that can be integrated with Azure AD, how to configure your applications to access other resources such as web APIs, and more.

Per altre informazioni sui due oggetti Azure AD che rappresentano un'applicazione registrata e la relazione tra di essi, vedere Oggetti applicazione e oggetti entità servizio. Per altre informazioni sulle linee guida sulla personalizzazione da usare quando si sviluppano applicazioni con Azure Active Directory, vedere Linee guida sulla personalizzazione per le app integrate.To learn more about the two Azure AD objects that represent a registered application and the relationship between them, see Application Objects and Service Principal Objects; to learn more about the branding guidelines you should use when developing applications with Azure Active Directory, see Branding Guidelines for Integrated Apps.

Aggiunta di un'applicazioneAdding an application

Qualsiasi applicazione che vuole usare le funzionalità di Azure AD deve prima essere registrata in un tenant di Azure AD.Any application that wants to use the capabilities of Azure AD must first be registered in an Azure AD tenant. Questo processo di registrazione comporta l'assegnazione ad Azure AD dei dettagli sull'applicazione, come l'URL in cui è disponibile, l'URL per inviare le risposte dopo l'autenticazione di un utente, l'URI che identifica l'app e così via.This registration process involves giving Azure AD details about your application, such as the URL where it’s located, the URL to send replies after a user is authenticated, the URI that identifies the app, and so on.

Per registrare una nuova applicazione mediante il portale di AzureTo register a new application using the Azure portal

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Se l'account consente di accedere a più tenant, fare clic sull'account in alto a destra e impostare la sessione del portale sul tenant di Azure AD desiderato.If your account gives you access to more than one, click your account in the top right corner, and set your portal session to the desired Azure AD tenant.
  3. Nel riquadro di spostamento a sinistra fare clic sul servizio Azure Active Directory, fare clic su Registrazioni per l'app e fare clic su Registrazione nuova applicazione.In the left-hand navigation pane, click the Azure Active Directory service, click App registrations, and click New application registration.

    Registrare una nuova applicazione

  4. Quando viene visualizzata la pagina Crea, immettere le informazioni di registrazione dell'applicazione:When the Create page appears, enter your application's registration information:

    • Nome: immettere un nome significativo per l'applicazioneName: Enter a meaningful application name
    • Tipo di applicazione:Application type:
    • URL Sign-On: per le applicazioni "App/API Web", specificare l'URL di base dell'app.Sign-On URL: For "Web app / API" applications, provide the base URL of your app. Ad esempio, http://localhost:31544 potrebbe essere l'URL per un'app Web eseguita sul computer locale.For example, http://localhost:31544 might be the URL for a web app running on your local machine. Gli utenti possono usare questo URL per accedere a un'applicazione client Web.Users would use this URL to sign in to a web client application.
    • URI di reindirizzamento: per le applicazioni "native" fornire l'URI utilizzato da Azure AD per restituire le risposte dei token.Redirect URI: For "Native" applications, provide the URI used by Azure AD to return token responses. Immettere un valore specifico per l'applicazione in uso, ad esempio http://MyFirstAADAppEnter a value specific to your application, for example http://MyFirstAADApp

    Registrare una nuova applicazione - Crea

    Per ottenere esempi specifici per applicazioni Web o per applicazioni native, vedere le Guide introduttive.If you'd like specific examples for web applications or native applications, check out our quickstarts.

  5. Al termine, fare clic su Crea.When finished, click Create. Azure AD assegna un ID applicazione univoco all'applicazione e si viene reindirizzati alla pagina di registrazione principale dell'applicazione.Azure AD assigns a unique Application ID to your application, and you're taken to your application's main registration page. A seconda che si tratti di un'applicazione Web o nativa, sono fornite opzioni diverse per l'aggiunta di altre funzionalità all'applicazione.Depending on whether your application is a web or native application, different options are provided to add additional capabilities to your application. Vedere la sezione successiva per una panoramica del consenso e informazioni dettagliate sull'abilitazione di funzionalità di configurazione aggiuntive nella registrazione dell'applicazione (credenziali, autorizzazioni, abilitazione dell'accesso per gli utenti di altri tenant).See the next section for an overview of consent, and details on enabling additional configuration features in your application registration (credentials, permissions, enable sign-in for users from other tenants.)

    Nota

    Per impostazione predefinita, l'applicazione appena registrata viene configurata in modo da consentire solo agli utenti dello stesso tenant di accedere all'applicazione stessa.By default, the newly registered application is configured to allow only users from the same tenant to sign in to your application.

Aggiornamento di un'applicazioneUpdating an application

Una volta registrata con Azure AD, l'applicazione potrebbe dover essere aggiornata per fornire l'accesso ad API Web, essere resa disponibile in altre organizzazioni e altro ancora.Once your application has been registered with Azure AD, it may need to be updated to provide access to web APIs, be made available in other organizations, and more. Questa sezione descrive vari modi in cui è possibile configurare ulteriormente l'applicazione.This section describes various ways in which you can configure your application further. Si inizierà con una panoramica del framework di consenso, che è importante conoscere quando si compilano applicazioni che devono essere usate da altri utenti o applicazioni.First we start with an overview of the consent framework, which is important to understand when building applications that need to be used by other users or applications.

Il framework di consenso di Azure AD semplifica lo sviluppo di applicazioni client Web multi-tenant e native, incluse le applicazioni a più livelli.The Azure AD consent framework makes it easy to develop multi-tenant web and native client applications, including multi-tier applications. Queste applicazioni consentono l'accesso da parte degli account utente da un tenant di Azure AD diverso da quello in cui l'applicazione è registrata.These applications allow sign-in by user accounts from an Azure AD tenant, different from the one where the application is registered. Esse possono anche dover accedere ad API Web come l'API Microsoft Graph (per l'accesso ad Azure Active Directory, Intune e ai servizi di Office 365) e le API di altri servizi Microsoft, oltre alle API Web personalizzate.They may also need to access web APIs such as the Microsoft Graph API (to access Azure Active Directory, Intune, and services in Office 365) and other Microsoft services' APIs, in addition to your own web APIs. Il framework è basato sulla possibilità per un utente o un amministratore di fornire il consenso alla richiesta di registrazione di un'applicazione nella propria directory, che può comportare l'accesso a dati di directory.The framework is based on a user or an administrator giving consent to an application that asks to be registered in their directory, which may involve accessing directory data.

Ad esempio, se un'applicazione client Web deve leggere le informazioni del calendario dell'utente da Office 365, l'utente deve prima fornire il consenso all'applicazione client.For example, if a web client application needs to read calendar information about the user from Office 365, that user is required to consent to the client application first. Una volta ottenuto il consenso, l'applicazione client potrà chiamare l'API di Microsoft Graph per conto dell'utente e usare le informazioni del calendario nel modo necessario.After consent is given, the client application will be able to call the Microsoft Graph API on behalf of the user, and use the calendar information as needed. L'API Microsoft Graph fornisce l'accesso ai dati in Office 365 (come calendari e messaggi di Exchange, siti ed elenchi di SharePoint, documenti di OneDrive, blocchi appunti di OneNote, attività di Planner, cartelle di lavoro di Excel e così via), nonché a utenti e gruppi di Azure AD e ad altri oggetti dati di più servizi cloud Microsoft.The Microsoft Graph API provides access to data in Office 365 (like calendars and messages from Exchange, sites and lists from SharePoint, documents from OneDrive, notebooks from OneNote, tasks from Planner, workbooks from Excel, etc.), as well as users and groups from Azure AD and other data objects from more Microsoft cloud services.

Il framework di consenso è basato su OAuth 2.0 e i relativi flussi diversi, come la concessione del codice di autorizzazione e delle credenziali utente, mediante client pubblici o riservati.The consent framework is built on OAuth 2.0 and its various flows, such as authorization code grant and client credentials grant, using public or confidential clients. Tramite OAuth 2.0 Azure AD consente di compilare molti tipi diversi di applicazioni client, ad esempio su un telefono, un tablet, un server o un'applicazione Web, e di ottenere l'accesso alle risorse necessarie.By using OAuth 2.0, Azure AD makes it possible to build many different types of client applications, such as on a phone, tablet, server, or a web application, and gain access to the required resources.

Per altre informazioni sull'utilizzo del framework di consenso con concessioni di autorizzazione di OAuth 2.0, vedere Autorizzare l'accesso ad applicazioni Web con OAuth 2.0 e Azure Active Directory e Scenari di autenticazione per Azure AD.For more information about using the consent framework with OAuth2.0 authorization grants, see Authorize access to web applications using OAuth 2.0 and Azure AD andAuthentication Scenarios for Azure AD. Per informazioni su come ottenere l'accesso autorizzato a Office 365 tramite Microsoft Graph, vedere App authentication with Microsoft Graph (Autenticazione delle app con Microsoft Graph).For information about getting authorized access to Office 365 via Microsoft Graph, see App authentication with Microsoft Graph.

I passaggi seguenti illustrano il funzionamento dell'esperienza di consenso per lo sviluppatore e l'utente dell'applicazione.The following steps show you how the consent experience works for both the application developer and user.

  1. Si supponga di avere un'applicazione client Web che deve richiedere autorizzazioni specifiche per accedere a una risorsa/API.Assume you have a web client application that needs to request specific permissions to access a resource/API. Si apprenderà come eseguire questa configurazione nella sezione successiva, ma essenzialmente il portale di Azure viene usato per dichiarare le richieste di autorizzazione al momento della configurazione.You'll learn how to do this configuration in the next section, but essentially the Azure portal is used to declare permission requests at configuration time. Come altre impostazioni di configurazione, diventano parte della registrazione dell'applicazione in Azure Active Directory:Like other configuration settings, they become part of the application's Azure AD registration:

    Autorizzazioni per altre applicazioni

  2. Considerare che sono state aggiornate le autorizzazioni dell'applicazione, che l'applicazione è in esecuzione e che un utente sta per usarla per la prima volta.Consider that your application’s permissions have been updated, the application is running, and a user is about to use it for the first time. L'applicazione deve prima ottenere un codice di autorizzazione dall'endpoint /authorize di Azure AD.First the application needs to obtain an authorization code from Azure AD’s /authorize endpoint. Il codice di autorizzazione può quindi essere usato per acquisire un nuovo un token di accesso e aggiornamento.The authorization code can then be used to acquire a new access and refresh token.

  3. Se l'utente non è già autenticato, l'endpoint /authorize di Azure AD richiede l'accesso.If the user is not already authenticated, Azure AD's /authorize endpoint prompts for sign-in.

    Accesso utente o amministratore ad Azure AD

  4. Dopo che l'utente ha effettuato l'accesso, Azure AD determinerà se l'utente deve essere reindirizzato a una pagina di consenso.After the user has signed in, Azure AD will determine if the user needs to be shown a consent page. Questa decisione dipende dal fatto che l'utente o l'amministratore dell'organizzazione abbia o meno già concesso il consenso dell'applicazione.This determination is based on whether the user (or their organization’s administrator) has already granted the application consent. Se il consenso non è già stato concesso, Azure AD lo richiede all'utente e visualizza le autorizzazioni necessarie per il funzionamento.If consent has not already been granted, Azure AD prompts the user for consent and displays the required permissions it needs to function. Il set di autorizzazioni visualizzato nella finestra di dialogo di consenso corrisponde a quelle selezionate in Autorizzazioni delegate nel portale di Azure.The set of permissions that are displayed in the consent dialog match the ones selected in the Delegated Permissions in the Azure portal.

    Esperienza di autorizzazione utente

  5. Dopo che l'utente ha concesso il consenso, all'applicazione viene restituito un codice di autorizzazione, che viene riscattato per acquisire un token di accesso e di aggiornamento.After the user grants consent, an authorization code is returned to your application, which is redeemed to acquire an access token and refresh token. Per altre informazioni su questo flusso, vedere la sezione Da applicazione Web ad API Web di Scenari di autenticazione per Azure AD.For more information about this flow, see the web Application to web API section in Authentication Scenarios for Azure AD.

  6. In qualità di amministratore, è possibile inoltre consentire le autorizzazioni delegate di un'applicazione per conto di tutti gli utenti nel proprio tenant.As an administrator, you can also consent to an application's delegated permissions on behalf of all the users in your tenant. Il consenso amministrativo evita la visualizzazione della finestra di dialogo di consenso per ogni utente del tenant e viene eseguita la pagina dell'applicazione nel portale di Azure.Administrative consent prevents the consent dialog from appearing for every user in the tenant, and is done your application page in the Azure portal. Dalla pagina Impostazioni dell'applicazione selezionare Autorizzazioni necessarie e fare clic sul pulsante Concedi autorizzazioni.From the Settings page for your application, click Required Permissions and click on the Grant Permissions button.

    Concedere le autorizzazioni per il consenso esplicito dell'amministratore

    Nota

    La concessione esplicita del consenso utilizzando il pulsante Concedi autorizzazioni è attualmente richiesta per le applicazioni a pagina singola (SPA) che usano ADAL.js.Granting explicit consent using the Grant Permissions button is currently required for single page applications (SPA) that use ADAL.js. In caso contrario, l'applicazione non funziona quando viene richiesto il token di accesso.Otherwise, the application fails when the access token is requested.

Configurare un'applicazione client per accedere alle API WebConfigure a client application to access web APIs

Per consentire a un'applicazione Web/client riservato di partecipare a un flusso di concessioni di autorizzazioni che richiede l'autenticazione (e ottenere un token di accesso), è necessario definire credenziali protette.In order for a web/confidential client application to be able to participate in an authorization grant flow that requires authentication (and obtain an access token), it must establish secure credentials. Il metodo di autenticazione predefinito supportato dal portale di Azure è ID client + chiave privata.The default authentication method supported by the Azure portal is Client ID + secret key. Questa sezione illustra i passaggi di configurazione necessari per fornire alla chiave privata le credenziali del client.This section covers the configuration steps required to provide the secret key your client's credentials.

Inoltre, prima che un client possa accedere a un'API Web esposta da un'applicazione della risorsa (ad esempio l'API Microsoft Graph), il framework di consenso assicura che il client ottenga la concessione delle autorizzazioni necessaria, in base alle autorizzazioni richieste.Additionally, before a client can access a web API exposed by a resource application (such as Microsoft Graph API), the consent framework ensures the client obtains the permission grant required, based on the permissions requested. Per impostazione predefinita, tutte le applicazioni possono scegliere le autorizzazioni da "Windows Azure Active Directory" (API Graph) e "API Gestione dei servizi di Microsoft Azure".By default, all applications can choose permissions from "Windows Azure Active Directory" (Graph API) and "Windows Azure Service Management API." L'autorizzazione "Accedi e leggi il profilo di un altro utente" dell'API Graph è selezionata anch'essa per impostazione predefinita.The Graph API “Sign-in and read user profile” permission is also selected by default. Se il client viene registrato in un tenant che dispone di account con sottoscrizione per Office 365, saranno disponibili per la selezione le API Web e le autorizzazioni per SharePoint ed Exchange Online.If your client is being registered in a tenant that has accounts subscribed to Office 365, Web APIs and permissions for SharePoint and Exchange Online are available for selection. È possibile scegliere fra due tipi di autorizzazioni per ogni API Web desiderata:You can select from two types of permissions for each desired web API:

  • Autorizzazioni applicazione: l'applicazione client deve accedere direttamente all'API Web come se stessa (nessun contesto utente).Application Permissions: Your client application needs to access the web API directly as itself (no user context). Questo tipo di autorizzazione richiede il consenso dell'amministratore e non è disponibile per le applicazioni client native.This type of permission requires administrator consent and is also not available for native client applications.

  • Autorizzazioni delegate: l'applicazione client deve accedere all'API Web come utente connesso, ma con accesso limitato dall'autorizzazione selezionata.Delegated Permissions: Your client application needs to access the web API as the signed-in user, but with access limited by the selected permission. Questo tipo di autorizzazione può essere concesso da un utente, a meno che l'autorizzazione richieda il consenso dell'amministratore.This type of permission can be granted by a user unless the permission requires administrator consent.

    Nota

    L'aggiunta di un'autorizzazione delegata a un'applicazione non concede automaticamente il consenso all'utente all'interno del tenant, come accadeva nel portale di Azure classico.Adding a delegated permission to an application does not automatically grant consent to the users within the tenant, as it did in the Azure classic portal. Gli utenti devono comunque concedere manualmente il consenso per le autorizzazioni delegate aggiuntive al runtime, a meno che l'amministratore non faccia clic sul pulsante Concedi autorizzazioni nella sezione Autorizzazioni necessarie della pagina dell'applicazione nel portale di Azure.Users must still manually consent for the added delegated permissions at runtime, unless the administrator clicks the Grant Permissions button from the Required Permissions section of the application page in the Azure portal.

Per aggiungere credenziali dell'applicazione o autorizzazioni per accedere alle API WebTo add application credentials, or permissions to access web APIs

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Se l'account consente di accedere a più tenant, fare clic sull'account in alto a destra e impostare la sessione del portale sul tenant di Azure AD desiderato.If your account gives you access to more than one, click your account in the top right corner, and set your portal session to the desired Azure AD tenant.
  3. Nel riquadro di spostamento a sinistra fare clic sul servizio Azure Active Directory, fare clic su Registrazioni per l'app quindi trovare/fare clic sull'applicazione che si vuole configurare.In the left-hand navigation pane, click the Azure Active Directory service, click App registrations, then find/click the application you want to configure.

    Aggiornare la registrazione di un'applicazione

  4. Viene visualizzata la pagina di registrazione principale dell'applicazione che apre la pagina Impostazioni per l'applicazione.You are taken to the application's main registration page, which opens up the Settings page for the application. Per aggiungere una chiave privata per le credenziali dell'applicazione Web:To add a secret key for your web application's credentials:

    • Fare clic nella sezione Chiavi della pagina Impostazioni.Click the Keys section on the Settings page.
    • Aggiungere una descrizione per la chiave.Add a description for your key.
    • Selezionare la durata di uno o due anni.Select either a one or two year duration.
    • Fare clic su Salva.Click Save. Dopo che le modifiche apportate alla configurazione sono state salvate, il valore della chiave viene visualizzato nella colonna di destra.The right-most column will contain the key value, after you save the configuration changes. Assicurarsi di copiare la chiave per l'utilizzo nel codice dell'applicazione client, in quanto non è più accessibile dopo aver lasciato la pagina.Be sure to copy the key for use in your client application code, as it is not accessible once you leave this page.

    Aggiornare la registrazione di un'applicazione - Chiavi

  5. Per aggiungere le autorizzazioni per accedere alle API di risorsa dal clientTo add permission(s) to access resource APIs from your client

    • Fare clic nella sezione Autorizzazioni necessarie della pagina Impostazioni.Click the Required Permissions section on the Settings page.
    • Fare clic su Add .Click the Add button.
    • Fare clic su Selezionare un'API per visualizzare il tipo di risorse da cui scegliere.Click Select an API to select the type of resources you want to pick from.
    • Scorrere l'elenco delle API disponibili o usare la casella di ricerca per selezionare fra le applicazioni di risorse disponibili nella directory che espongono un'API Web.Browse through the list of available APIs or use the search box to select from the available resource applications in your directory that expose a web API. Fare clic sulla risorsa desiderata, quindi scegliere Seleziona.Click the resource you are interested in, then click Select.
    • Viene visualizzata la pagina Abilita accesso.You're taken to the Enable Access page. Selezionare le autorizzazioni per l'applicazione e/o le autorizzazioni delegate di cui l'applicazione ha bisogno quando accede all'API.Select the Application Permissions and/or Delegated Permissions your application needs when accessing the API.

    Aggiornare la registrazione di un'applicazione - API di autorizzazione

    Aggiornare la registrazione di un'applicazione - Autorizzazioni

  6. Al termine, fare clic sul pulsante Seleziona della pagina Abilita accesso, quindi sul pulsante Fatto della pagina Aggiungi accesso all'API.When finished, click the Select button on Enable Access page, then the Done button on the Add API access page. Verrà visualizzata di nuovo la pagina Autorizzazioni necessarie, in cui la nuova risorsa viene aggiunta all'elenco di API.You are returned to the Required permissions page, where the new resource is added to the list of APIs.

    Nota

    Facendo clic sul pulsante Fine, vengono automaticamente impostate anche le autorizzazioni per l'applicazione nella directory in base a quelle configurate per altre applicazioni.Clicking the Done button also automatically sets the permissions for your application in your directory based on the permissions to other applications that you configured. È possibile visualizzare queste autorizzazioni per l'applicazione osservando il contenuto della pagina Impostazioni dell'applicazione stessa.You can view these application permissions by looking at the application Settings page.

Configurazione di un'applicazione della risorsa per esporre le API WebConfiguring a resource application to expose web APIs

È possibile sviluppare un'API Web e renderla disponibile alle applicazioni client esponendo gli ambiti e i ruoli di accesso.You can develop a web API and make it available to client applications by exposing access scopes and roles. Un'API Web correttamente configurata viene resa disponibile come le altre API Web Microsoft, tra cui l'API Graph e le API di Office 365.A correctly configured web API is made available just like the other Microsoft web APIs, including the Graph API and the Office 365 APIs. Gli ambiti e i ruoli di accesso vengono esposti con il manifesto dell'applicazione, ovvero un file JSON che rappresenta la configurazione dell'identità dell'applicazione.Access scopes and roles are exposed through your application's manifest, which is a JSON file that represents your application’s identity configuration.

La sezione seguente illustra come esporre gli ambiti di accesso modificando il manifesto dell'applicazione della risorsa.The following section shows you how to expose access scopes, by modifying the resource application's manifest.

Aggiunta di ambiti di accesso all'applicazione della risorsaAdding access scopes to your resource application

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Se l'account consente di accedere a più tenant, fare clic sull'account in alto a destra e impostare la sessione del portale sul tenant di Azure AD desiderato.If your account gives you access to more than one, click your account in the top right corner, and set your portal session to the desired Azure AD tenant.

  3. Nel riquadro di spostamento a sinistra fare clic sul servizio Azure Active Directory, fare clic su Registrazioni per l'app quindi trovare/fare clic sull'applicazione che si vuole configurare.In the left-hand navigation pane, click the Azure Active Directory service, click App registrations, then find/click the application you want to configure.

    Aggiornare la registrazione di un'applicazione

  4. Viene visualizzata la pagina di registrazione principale dell'applicazione che apre la pagina Impostazioni per l'applicazione.You are taken to the application's main registration page, which opens up the Settings page for the application. Passare alla pagina Modifica manifesto facendo clic su Manifesto dalla pagina di registrazione dell'applicazione.Switch to the Edit manifest page, by clicking Manifest from the application's registration page. Si apre un editor di manifesto basato sul Web che consente di modificare il manifesto all'interno del portale.A web-based manifest editor opens, allowing you to Edit the manifest within the portal. Facoltativamente è possibile fare clic su Scarica e modificare il manifesto localmente, quindi usare Carica per associarlo nuovamente all'applicazione.Optionally, you can click Download and edit locally, then use Upload to reapply it to your application.

  5. In questo esempio si esporrà un nuovo ambito denominato Employees.Read.All nella risorsa/API, aggiungendo l'elemento JSON seguente all'insieme oauth2Permissions.In this example, we will expose a new scope called Employees.Read.All on our resource/API, by adding the following JSON element to the oauth2Permissions collection. L'ambito esistente user_impersonation viene fornito per impostazione predefinita durante la registrazione.The existing user_impersonation scope is provided by default during registration. user_impersonation consente a un'applicazione client di richiedere l'autorizzazione per accedere alla risorsa con l'identità dell'utente connesso.user_impersonation allows a client application to request permission to access the resource, under the identity of the signed-in user. Assicurarsi di aggiungere la virgola dopo l'elemento di ambito esistente user_impersonation e modificare i valori delle proprietà in base alle esigenze della risorsa.Be sure to add the comma after the existing user_impersonation scope element, and change the property values to suit your resource's needs.

    {
     "adminConsentDescription": "Allow the application to have read-only access to all Employee data.",
     "adminConsentDisplayName": "Read-only access to Employee records",
     "id": "2b351394-d7a7-4a84-841e-08a6a17e4cb8",
     "isEnabled": true,
     "type": "User",
     "userConsentDescription": "Allow the application to have read-only access to your Employee data.",
     "userConsentDisplayName": "Read-only access to your Employee records",
     "value": "Employees.Read.All"
    }
    

    Nota

    Il valore "id" deve essere generato a livello di codice oppure usando uno strumento per la generazione di GUID, ad esempio guidgen.The "id" value must be generated using a GUID generation tool such as guidgen or programmatically. Rappresenta un identificatore univoco per l'ambio esposto dall'API Web.It represents a unique identifier for the scope as exposed by the web API. Dopo che un client è stato configurato in modo appropriato con le autorizzazioni di accesso all'API Web, viene generato un token di accesso OAuth 2.0 da Azure AD.Once a client is appropriately configured with permissions to access your web API, it is issued an OAuth2.0 access token by Azure AD. Quando il client chiama l'API Web, presenta il token di accesso che ha l'attestazione di ambito (scp) impostata sulle autorizzazioni richieste nella registrazione della relativa applicazione.When the client calls the web API, it presents the access token that has the scope (scp) claim set to the permissions requested in its application registration.

    Se necessario, è possibile esporre altri ambiti successivamente.You can expose additional scopes later as necessary. Tenere presente che l'API Web può esporre più ambiti associati a molte funzioni diverse.Consider that your web API might expose multiple scopes associated with a variety of different functions. La risorsa può controllare l'accesso all'API Web in fase di esecuzione, valutando l'attestazione (o le attestazioni) di ambito (scp) nel token di accesso OAuth 2.0 ricevuto.Your resource can control access to the web API at runtime, by evaluating the scope (scp) claim(s) in the received OAuth 2.0 access token.

  6. Al termine fare clic su Salva.When finished, click Save. Ora l'API Web è configurata in modo che possa essere usata da altre applicazioni nella directory.Now your web API is configured for use by other applications in your directory.

    Aggiornare la registrazione di un'applicazione

Verificare che l'API Web sia esposta ad altre applicazioni nel tenantVerify the web API is exposed to other applications in your tenant

  1. Tornare al tenant di Azure AD, fare clic nuovamente su Registrazioni per l'app, quindi trovare/fare clic sull'applicazione client che si vuole configurare.Go back to your Azure AD tenant, click App registrations again, then find/click the client application you want to configure.

    Aggiornare la registrazione di un'applicazione

  2. Ripetere il passaggio 5 di Configurare un'applicazione client per accedere alle API Web.Repeat step 5 as you did in Configure a client application to access web APIs. Quando si raggiunge il passaggio Selezionare un'API, cercare la risorsa immettendo il relativo nome dell'applicazione nel campo di ricerca e fare clic su Seleziona.When you get to the Select an API step, search for your resource by entering its application name in the search field, and click Select.

  3. Nella pagina Abilita accesso sarà visibile il nuovo ambito, disponibile per le richieste di autorizzazione del client.On the Enable Access page you should see the new scope, available for client permission requests.

    Le nuove autorizzazioni sono visualizzate

Altre informazioni sul manifesto dell'applicazioneMore on the application manifest

Il manifesto dell'applicazione è in realtà un meccanismo per l'aggiornamento dell'entità applicazione, che definisce tutti gli attributi della configurazione dell'identità di un'applicazione Azure AD, inclusi gli ambiti di accesso API di cui si è parlato sopra.The application manifest actually serves as a mechanism for updating the Application entity, which defines all attributes of an Azure AD application's identity configuration, including the API access scopes we discussed. Per altre informazioni sull'entità applicazione e il relativo schema, vedere la documentazione sull'entità applicazione dell'API Graph,For more information on the Application entity and its schema, see the Graph API Application entity documentation. che include informazioni di riferimento complete sui membri dell'entità applicazione utilizzati per specificare le autorizzazioni per l'API, fra cui:The article contains complete reference information on the Application entity members used to specify permissions for your API, including:

Per altre informazioni sui concetti generali relativi al manifesto dell'applicazione, vedere Informazioni sul manifesto dell'applicazione in Azure Active Directory.For more information on application manifest concepts in general, see Understanding the Azure Active Directory application manifest.

Accesso ad Azure AD Graph e Office 365 usando le API di Microsoft GraphAccessing the Azure AD Graph and Office 365 via Microsoft Graph APIs

Come accennato in precedenza, oltre a esporre/accedere alle API nelle applicazioni, è possibile registrare l'applicazione client per accedere alle API esposte dalle risorse Microsoft.As mentioned earlier, in addition to exposing/accessing APIs for your own applications, you can register your client application to access APIs exposed by Microsoft resources. L'API Microsoft Graph, indicata come "Microsoft Graph" nell'elenco di risorse/API del portale, è disponibile per tutte le applicazioni che sono registrate con Azure AD.The Microsoft Graph API, referred to as “Microsoft Graph” in the portal's resource/API list, is available to all applications that are registered with Azure AD. Se si sta registrando l'applicazione client in un tenant che contiene account dotati di sottoscrizione per Office 365, è possibile accedere anche agli ambiti esposti da varie risorse di Office 365.If you are registering your client application in a tenant containing accounts that have signed up for an Office 365 subscription, you can also access the scopes exposed by the various Office 365 resources.

Per informazioni dettagliate sugli ambiti esposti dall'API Microsoft Graph, vedere l'articolo Ambiti di autorizzazione | Concetti relativi all'API Graph.For a complete discussion on scopes exposed by Microsoft Graph API, see the Permission scopes | Microsoft Graph API concepts article.

Nota

A causa di una limitazione attualmente in vigore, le applicazioni client native possono richiamare l'API Graph di Azure AD solo se usano l'autorizzazione "Accedere alla directory dell'organizzazione".Due to a current limitation, native client applications can only call into the Azure AD Graph API if they use the “Access your organization's directory” permission. Questa restrizione non è valida per le applicazioni Web.This restriction does not apply for web applications.

Configurazione di applicazioni multi-tenantConfiguring multi-tenant applications

Quando si registra un'applicazione in Azure AD, potrebbe essere necessario consentire l'accesso all'applicazione solo agli utenti dell'organizzazione.When registering an application in Azure AD, you may want your application to be accessed only by users in your organization. In alternativa, è possibile consentire l'accesso all'applicazione anche agli utenti di organizzazioni esterne.Alternatively, you may also want your application to be accessible by users in external organizations. Questi due tipi di applicazione sono chiamati applicazioni a tenant singolo e applicazioni multi-tenant.These two application types are called single-tenant and multi-tenant applications. Questa sezione spiega come modificare la configurazione di un'applicazione a tenant singolo per trasformarla in applicazione multi-tenant.This section discusses how to modify the configuration of a single-tenant application to make it a multi-tenant application.

È importante notare le differenze tra un'applicazione a tenant singolo e un'applicazione multi-tenant:It’s important to note the differences between a single-tenant and multi-tenant application:

  • Un'applicazione a tenant singolo è destinata all'uso in un'organizzazione.A single-tenant application is intended for use in one organization. In genere si tratta di un'applicazione line-of-business scritta da uno sviluppatore aziendale.It's typically a line-of-business (LoB) application written by an enterprise developer. Un'applicazione a tenant singolo è accessibile solo dagli utenti che hanno un account nello stesso tenant in cui l'applicazione è registrata.A single-tenant application can only be accessed by users with accounts in the same tenant as the application registration. Di conseguenza è necessario eseguirne il provisioning solo in una directory.As a result, it only needs to be provisioned in one directory.
  • Un'applicazione multi-tenant è destinata all'uso in più organizzazioni.A multi-tenant application is intended for use in many organizations. È indicata come applicazione Web SaaS (Software-as-a-Service) ed è scritta in genere da un fornitore di software indipendente (ISV).Referred to as a software-as-a-service (SaaS) web application, it's typically written by an independent software vendor (ISV). Per le applicazioni multi-tenant è necessario eseguirne il provisioning in ogni tenant a cui gli utenti devono accedere.Multi-tenant applications must be provisioned in each tenant where users need access. Per i tenant diversi da quello in cui l'applicazione è registrata, è richiesto il consenso dell'utente o dell'amministratore per la loro registrazione.For tenants other than the one where the application is registered, user or administrator consent is required in order to register them. Si noti che, per impostazione predefinita, le applicazioni client native sono multi-tenant perché sono installate nel dispositivo del proprietario della risorsa.Note that native client applications are multi-tenant by default as they are installed on the resource owner's device. Per altri dettagli sul framework di consenso, vedere la precedente sezione Panoramica del framework di consenso.See the preceding Overview of the consent framework section for details on the consent framework.

Per ottenere che un'applicazione diventi multi-tenant, sono necessarie sia modifiche alla registrazione dell'applicazione sia modifiche all'applicazione Web stessa.Making an application multi-tenant requires both application registration changes, as well as changes to the web application itself. Le sezioni seguenti trattano entrambe le procedure.The following sections cover both.

Modifica della registrazione dell'applicazione affinché supporti la modalità multi-tenantChanging the application registration to support multi-tenant

Se si scrive un'applicazione che si vuole rendere disponibile a clienti o partner esterni all'organizzazione, è necessario aggiornare la definizione dell'applicazione nel portale di Azure.If you are writing an application that you want to make available to your customers or partners outside of your organization, you need to update the application definition in the Azure portal.

Importante

Azure AD richiede che l'URI ID app delle applicazioni multi-tenant sia globalmente univoco.Azure AD requires the App ID URI of multi-tenant applications to be globally unique. L'URI dell'ID App è uno dei modi in cui un'applicazione viene identificata nei messaggi di protocollo.The App ID URI is one of the ways an application is identified in protocol messages. Per un'applicazione single-tenant, è sufficiente che l'URI dell'ID App sia univoco all'interno del tenant.For a single tenant application, it is sufficient for the App ID URI to be unique within that tenant. Per un'applicazione multi-tenant, è necessario che sia univoco a livello globale in modo da Azure AD possa trovare l'applicazione in tutti i tenant.For a multi-tenant application, it must be globally unique so Azure AD can find the application across all tenants. L'univocità globale viene applicata richiedendo che l'URI dell'ID App abbia un nome host corrispondente a un dominio verificato del tenant di Azure AD.Global uniqueness is enforced by requiring the App ID URI to have a host name that matches a verified domain of the Azure AD tenant. Ad esempio, se il nome del tenant è contoso.onmicrosoft.com, l'URI ID app sarà https://contoso.onmicrosoft.com/myapp.For example, if the name of your tenant is contoso.onmicrosoft.com then a valid App ID URI would be https://contoso.onmicrosoft.com/myapp. Se il tenant dispone del dominio verificato contoso.com, anche https://contoso.com/myapp sarebbe un URI ID app valido.If your tenant has a verified domain of contoso.com, then a valid App ID URI would also be https://contoso.com/myapp. Se l'URI dell'ID App non segue questo modello, l'impostazione di un'applicazione come multi-tenant ha esito negativo.If the App ID URI doesn’t follow this pattern, setting an application as multi-tenant fails.

Per consentire agli utenti esterni di accedere all'applicazione:To give external users the ability to access your application:

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Se l'account consente di accedere a più tenant, fare clic sull'account in alto a destra e impostare la sessione del portale sul tenant di Azure AD desiderato.If your account gives you access to more than one, click your account in the top right corner, and set your portal session to the desired Azure AD tenant.
  3. Nel riquadro di spostamento a sinistra fare clic sul servizio Azure Active Directory, fare clic su Registrazioni per l'app quindi trovare/fare clic sull'applicazione che si vuole configurare.In the left-hand navigation pane, click the Azure Active Directory service, click App registrations, then find/click the application you want to configure. Viene visualizzata la pagina di registrazione principale dell'applicazione che apre la pagina Impostazioni per l'applicazione.You are taken to the application's main registration page, which opens up the Settings page for the application.
  4. Dalla pagina Impostazioni fare clic su Proprietà e cambiare il parametro Multi-tenant su .From the Settings page, click Properties and change the Multi-tenanted switch to Yes.

Dopo che sono state apportate le modifiche, gli utenti e gli amministratori di altre organizzazioni possono concedere ai loro utenti la possibilità di accedere all'applicazione, consentendo all'applicazione di accedere alle risorse protette dal loro tenant.After you have made the changes, users and administrators in other organizations are able to grant their users the ability to sign in to your application, allowing your application to access resources secured by their tenant.

Modifica dell'applicazione affinché supporti la modalità multi-tenantChanging the application to support multi-tenant

Il supporto per le applicazioni multi-tenant si basa principalmente sul framework di consenso di Azure AD.Support for multi-tenant applications relies heavily on the Azure AD consent framework. Il consenso è il meccanismo che consente a un utente di un altro tenant di concedere all'applicazione l'accesso alle risorse protette dal tenant dell'utente.Consent is the mechanism that allows a user from another tenant, to grant the application access to resources secured by the user's tenant. Questa esperienza è detta "consenso dell'utente".This experience is referred to as "user consent."

L'applicazione Web può offrire anche:Your web application may also offer:

  • La possibilità per gli amministratori di "iscriversi alla società".The ability for administrators to "sign up my company." Questa esperienza, detta "consenso dell'amministratore", dà a un amministratore la possibilità di concedere il consenso per conto di tutti gli utenti della propria organizzazione.This experience, referred to as "admin consent", gives an administrator the capability to grant consent on behalf all users in their organization. Solo un utente che esegue l'autenticazione con un account che appartiene al ruolo Amministratore globale può fornire il consenso dell'amministratore; gli altri riceveranno un errore.Only a user that authenticates with an account that belongs to the Global Admin role can provide admin consent; others receive an error.

  • Esperienza di iscrizione per gli utenti.A sign-up experience for users. È previsto che sia fornito all'utente il pulsante "iscrizione" che reindirizzerà il browser all'endpoint /authorize OAuth 2.0 di Azure AD o a un endpoint /userinfo OpenID Connect.It is expected that the user is provided a "sign-up" button that will redirect the browser to the Azure AD OAuth2.0 /authorize endpoint or an OpenID Connect /userinfo endpoint. Questi endpoint consentono all'applicazione di ottenere informazioni sul nuovo utente controllando il valore id_token.These endpoints allow the application to get information about the new user by inspecting the id_token. Durante la fase di iscrizione viene presentata all'utente una richiesta di consenso simile a quella visualizzata nella sezione Panoramica del framework di consenso.Following the sign-up phase the user is presented with a consent prompt, similar to the one shown in the Overview of the consent framework section.

Per altre informazioni sulle modifiche dell'applicazione necessarie per supportare l'accesso multi-tenant e le esperienze di accesso/iscrizione, vedere:For more information on the application changes required to support multi-tenanted access and sign-in/sign-up experiences, see:

Abilitazione della concessione implicita OAuth 2.0 per le applicazioni a singola paginaEnabling OAuth 2.0 implicit grant for Single Page Applications

Le applicazioni a singola pagina (SPA) sono in genere strutturate con un front-end JavaScript eseguito nel browser, che chiama il back-end dell'API Web dell'applicazione per eseguirne la logica di business.Single Page Application’s (SPAs) are typically structured with a JavaScript-heavy front end that runs in the browser, which calls the application’s web API back-end to perform its business logic. Per le applicazioni a singola pagina ospitate in Azure AD, è possibile usare la concessione implicita OAuth 2.0 per autenticare l'utente con Azure AD e ottenere un token da usare per chiamate protette dal client JavaScript dell'applicazione all'API Web di back-end.For SPAs hosted in Azure AD, you use OAuth 2.0 Implicit Grant to authenticate the user with Azure AD and obtain a token that you can use to secure calls from the application's JavaScript client to its back-end web API.

Dopo che l'utente ha concesso il consenso, lo stesso protocollo di autenticazione può essere usato per ottenere token per proteggere le chiamate tra il client e altre risorse dell'API Web configurate per l'applicazione.After the user has granted consent, this same authentication protocol can be used to obtain tokens to secure calls between the client and other web API resources configured for the application. Per ulteriori informazioni sulla concessione di autorizzazione implicita e per stabilire se sia adatta allo scenario della propria applicazione, vedere Informazioni sul flusso di concessione implicita OAuth2 in Azure Active Directory.To learn more about the implicit authorization grant, and help you decide whether it's right for your application scenario, see Understanding the OAuth2 implicit grant flow in Azure Active Directory.

Per impostazione predefinita, la concessione implicita OAuth 2.0 è disabilitata per le applicazioni.By default, OAuth 2.0 implicit Grant is disabled for applications. È possibile abilitare la concessione implicita di OAuth 2.0 per l'applicazione impostando il valore oauth2AllowImplicitFlow nel relativo manifesto dell'applicazione.You can enable OAuth 2.0 Implicit Grant for your application by setting the oauth2AllowImplicitFlow value in its application manifest.

Per abilitare la concessione implicita OAuth 2.0To enable OAuth 2.0 implicit grant

Nota

Per informazioni dettagliate su come modificare il manifesto dell'applicazione, vedere innanzitutto la precedente sezione Configurazione di un'applicazione della risorsa per esporre le API Web.For details on how to edit the application manifest, be sure to first review the preceding section, Configuring a resource application to expose web APIs.

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Se l'account consente di accedere a più tenant, fare clic sull'account in alto a destra e impostare la sessione del portale sul tenant di Azure AD desiderato.If your account gives you access to more than one, click your account in the top right corner, and set your portal session to the desired Azure AD tenant.
  3. Nel riquadro di spostamento a sinistra fare clic sul servizio Azure Active Directory, fare clic su Registrazioni per l'app quindi trovare/fare clic sull'applicazione che si vuole configurare.In the left-hand navigation pane, click the Azure Active Directory service, click App registrations, then find/click the application you want to configure. Viene visualizzata la pagina di registrazione principale dell'applicazione che apre la pagina Impostazioni per l'applicazione.You are taken to the application's main registration page, which opens up the Settings page for the application.
  4. Passare alla pagina Modifica manifesto facendo clic su Manifesto dalla pagina di registrazione dell'applicazione.Switch to the Edit manifest page, by clicking Manifest from the application's registration page. Si apre un editor di manifesto basato sul Web che consente di modificare il manifesto all'interno del portale.A web-based manifest editor opens, allowing you to Edit the manifest within the portal. Individuare e impostare il valore "oauth2AllowImplicitFlow" su "true".Locate and set the "oauth2AllowImplicitFlow" value to "true." Per impostazione predefinita, il valore è impostato su "false".By default, it is set to "false."

    "oauth2AllowImplicitFlow": true,
    
  5. Salvare il manifesto aggiornato.Save the updated manifest. Dopo il salvataggio, l'API Web è configurata in modo da usare la concessione implicita OAuth 2.0 per autenticare gli utenti.Once saved, your web API is now configured to use OAuth 2.0 Implicit Grant to authenticate users.

Rimozione di un'applicazioneRemoving an application

Questa sezione descrive come rimuovere la registrazione di un'applicazione dal tenant di Azure AD.This section describes how to remove an application's registration from your Azure AD tenant.

Rimozione di un'applicazione autorizzata dall'organizzazioneRemoving an application authored by your organization

Le applicazioni che l'organizzazione ha registrato compaiono sotto il filtro "Mie app" nella pagina principale "Registrazioni per l'app" del tenant.Applications that your organization has registered show under the "My apps" filter on your tenant's main "App registrations" page. Queste sono applicazioni registrate manualmente nel portale di Azure classico o a livello di codice con PowerShell o l'API Graph.These applications are ones you registered manually via the Azure portal, or programmatically via PowerShell or the Graph API. Più precisamente, sono rappresentate sia da un oggetto applicazione che da un oggetto entità servizio nel tenant.More specifically, they are represented by both an Application and Service Principal object in your tenant. Per altre informazioni, vedere Oggetti applicazione e oggetti entità servizio.For more information, see Application Objects and Service Principal Objects.

Per rimuovere un'applicazione a tenant singolo dalla directoryTo remove a single-tenant application from your directory

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Se l'account consente di accedere a più tenant, fare clic sull'account in alto a destra e impostare la sessione del portale sul tenant di Azure AD desiderato.If your account gives you access to more than one, click your account in the top right corner, and set your portal session to the desired Azure AD tenant.
  3. Nel riquadro di spostamento a sinistra fare clic sul servizio Azure Active Directory, fare clic su Registrazioni per l'app quindi trovare/fare clic sull'applicazione che si vuole configurare.In the left-hand navigation pane, click the Azure Active Directory service, click App registrations, then find/click the application you want to configure. Viene visualizzata la pagina di registrazione principale dell'applicazione che apre la pagina Impostazioni per l'applicazione.You are taken to the application's main registration page, which opens up the Settings page for the application.
  4. Nella pagina principale della registrazione dell'applicazione fare clic su Elimina.From the application's main registration page, click Delete.
  5. Nel messaggio di conferma fare clic su .Click Yes in the confirmation message.

Per rimuovere un'applicazione multi-tenant dalla sua home directoryTo remove a multi-tenant application from its home directory

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Se l'account consente di accedere a più tenant, fare clic sull'account in alto a destra e impostare la sessione del portale sul tenant di Azure AD desiderato.If your account gives you access to more than one, click your account in the top right corner, and set your portal session to the desired Azure AD tenant.
  3. Nel riquadro di spostamento a sinistra fare clic sul servizio Azure Active Directory, fare clic su Registrazioni per l'app quindi trovare/fare clic sull'applicazione che si vuole configurare.In the left-hand navigation pane, click the Azure Active Directory service, click App registrations, then find/click the application you want to configure. Viene visualizzata la pagina di registrazione principale dell'applicazione che apre la pagina Impostazioni per l'applicazione.You are taken to the application's main registration page, which opens up the Settings page for the application.
  4. Nella pagina Impostazioni scegliere Proprietà e cambiare il parametro Multi-tenant in No, per convertire prima di tutto l'applicazione alla modalità a tenant singolo, quindi fare clic su Salva.From the Settings page, choose Properties and change the Multi-tenanted switch to No, to first change your application to single-tenant, then click Save. Gli oggetti entità di servizio dell'applicazione rimangono nei tenant di tutte le organizzazioni che hanno già concesso il consenso.The application's service principal objects remain in the tenants of all organizations that have already consented to it.
  5. Fare clic sul pulsante Elimina dalla pagina di registrazione principale dell'applicazione.Click on the Delete button from the application's main registration page.
  6. Nel messaggio di conferma fare clic su .Click Yes in the confirmation message.

Rimozione di un'applicazione multi-tenant autorizzata da un'altra organizzazioneRemoving a multi-tenant application authorized by another organization

Un sottoinsieme delle applicazioni visualizzate con il filtro "Tutte le app" (escluse le registrazioni "Mie app") nella pagina "Registrazioni per l'app" principale del tenant, sono applicazioni multi-tenant.A subset of the applications that show under the "All apps" filter (excluding the "My apps" registrations) on your tenant's main "App registrations" page, are multi-tenant applications. In termini tecnici, queste applicazioni multi-tenant provengono da un altro tenant e sono state registrate nel tenant durante il processo di consenso.In technical terms, these multi-tenant applications are from another tenant, and were registered into your tenant during the consent process. Più precisamente, sono rappresentate solo da un oggetto entità servizio nel tenant, senza oggetto applicazione corrispondente.More specifically, they are represented by only a service principal object in your tenant, with no corresponding application object. Per altre informazioni sulle differenze fra oggetti applicazione e oggetti entità servizio, vedere Oggetti applicazione e oggetti entità servizio in Azure AD.For more information on the differences between application and service principal objects, see Application and service principal objects in Azure AD.

Per rimuovere l'accesso di un'applicazione multi-tenant alla directory (dopo avere concesso il consenso), l'amministratore della società deve rimuovere la sua entità servizio.In order to remove a multi-tenant application’s access to your directory (after having granted consent), the company administrator must remove its service principal. L'amministratore deve avere l'accesso di amministratore globale e può rimuovere tramite il portale di Azure i cmdlet di Azure AD PowerShell per rimuovere l'accesso.The administrator must have global admin access, and can remove through the Azure portal the Azure AD PowerShell Cmdlets to remove access.

Passaggi successiviNext steps