Utilizzare l'autenticazione tra server multi-tenant

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online)

L'autenticazione tra server multi-tenant rappresenta lo scenario più comune e viene utilizzata per le app distribuite con Microsoft AppSource, ma è anche possibile utilizzare il multi-tenant senza visualizzare l'applicazione con Microsoft AppSource.

Ogni organizzazione di Dynamics 365 (online) è associata a un tenant di Azure Active Directory (Azure AD). L'applicazione o il servizio Web viene registrato nel proprio tenant di Azure AD.

In questo scenario qualsiasi tenant Dynamics 365 (online) può potenzialmente utilizzare l'applicazione multi-tenant dell'utente dopo aver concesso il consenso all'applicazione per accedere ai dati.

In questo argomento

Requisiti

Informazioni generali: Sviluppare e testare l'applicazione

Creare un utente dell'applicazione associato all'applicazione registrata in Dynamics 365

Verificare l'applicazione utilizzando il tenant Dynamics 365

Testare l'applicazione utilizzando un tenant Dynamics 365 distinto

Preparare un metodo per distribuire l'utente dell'applicazione

Requisiti

Per creare e verificare un'applicazione multi-tenant che utilizza l'autenticazione tra server (S2S) è necessario disporre di:

  • Un tenant di Azure AD utilizzato per pubblicare l'applicazione o il servizio.

  • 2 sottoscrizioni Dynamics 365 (online) subscriptions

    • Una associata con il tenant Azure AD utilizzato per pubblicare l'applicazione o il servizio.

    • L'altra potrebbe essere una sottoscrizione di valutazione da utilizzare per verificare come il sottoscrittore accede all'applicazione.

Informazioni generali: Sviluppare e testare l'applicazione

L'applicazione creata deve essere registrata nel tenant di Azure AD utilizzato per la pubblicazione dell'applicazione.

A livello generale, il processo prevede queste fasi:

  1. Creare un'applicazione Web multi-tenant registrata nel tenant di Azure AD.

  2. Creare un utente dell'applicazione associato all'applicazione registrata nel tenant Dynamics 365 (online)

  3. Creare un ruolo di sicurezza personalizzati e assegnarlo all'utente dell'applicazione nel tenant Dynamics 365 (online)

  4. Verificare l'applicazione utilizzando il tenant Dynamics 365 (online)

  5. Verificare l'applicazione utilizzando un tenant Dynamics 365 (online) distinto

Per un esempio completo del processo, vedere Procedura dettagliata: autenticazione tra server multi-tenant.

Creare un'applicazione Web multi-tenant registrata nel tenant di Azure AD

Verrà creata un'applicazione o un servizio Web multi-tenant che utilizza Azure AD come provider di autenticazione.

I passaggi dettagliati di questa operazione non rientrano in questo argomento. Esistono diversi approcci per questa operazione e adottate le opzioni che meglio soddisfano i requisiti o le preferenze. Per ulteriori informazioni ed esempi, vedere i collegamenti seguenti.

Azure AD richiede i valori seguenti per la registrazione dell'applicazione:

Valore

Descrizione

URI ID applicazione

Identificatore per un'applicazione. Questo valore verrà inviato ad Azure AD durante l'autenticazione per indicare per quale applicazione il chiamante desidera un token. Inoltre, questo valore è incluso nel token in modo che l'applicazione sappia che si tratta della destinazione prevista.

URL di risposta e URI di reindirizzamento

Nel caso di un'API Web o di un'applicazione Web, l'URL di risposta corrisponde alla posizione in cui Azure AD invierà la risposta di autenticazione, incluso un token se l'autenticazione ha esito positivo.

ID client

ID di un'applicazione, che viene generata da Azure AD quando l'applicazione viene registrata. Quando si richiede un codice di autorizzazione oppure un token, l'ID e il codice del client vengono inviati ad Azure AD per l'autenticazione.

Chiave

Codice inviato con un ID corrispondente per l'autenticazione in Azure AD per chiamare un'API Web.

Quando l'applicazione viene registrata verrà assegnato un ID oggetto di Azure Active Directory, un identificatore univoco dell'applicazione registrata.

Se si crea una nuova applicazione MVC di ASP.NET con Visual Studio 2015 sono disponibili opzioni per specificare che l'applicazione supporterà la funzionalità multi-tenant. Il modello per un'applicazione MVC include l'opzione per specificare il tipo di autenticazione eseguita. Sarà possibile scegliere il metodo di autenticazione configurando le proprietà del progetto al momento della creazione. Nella figura seguente vengono descritte le opzioni disponibili:

ASP.NET MVC Change Authentication Dialog

Quando si configura un progetto con queste opzioni verrà configurato per l'utilizzo di middleware e struttura scaffolding OWIN per un'applicazione di base che supporta tale scenario. Con alcune modifiche di base è possibile adattarlo per l'utilizzo con Dynamics 365 (online). Questo approccio è illustrato in Procedura dettagliata: autenticazione tra server multi-tenant.

Nel processo di creazione e registrazione dell'applicazione per lo sviluppo è probabile che si utilizzi https://localhost come valore URL di accesso e URL di risposta per testare ed eseguire il debug dell'applicazione in locale prima della pubblicazione. È necessario modificare i valori seguenti prima di pubblicare l'applicazione.

Quando si registra l'applicazione è necessario generare una chiave, nota anche come ClientSecret Tali chiavi possono essere configurate per la durata di uno o due anni. Come host dell'applicazione è necessario gestire questo valore come una password e sarà propria responsabilità la gestione del rinnovo delle chiavi prima della scadenza. È possibile utilizzare l'Insieme di credenziali delle chiavi di Azure.Ulteriori informazioni:https://azure.microsoft.com/it-it/services/key-vault/

Concedere i diritti dell'applicazione per l'accesso ai dati di Dynamics 365 (online).

Questo è il motivo per cui l'istanza di Dynamics 365 (online) deve essere associata al tenant di Azure AD. Se il tenant di Azure AD non è associato a un tenant di Dynamics 365 (online), non sarà possibile eseguire la procedura seguente.

  1. Passare a https://portal.azure.com e selezionare Azure Active Directory.

  2. Fare clic su Registrazioni per l'app e cercare l'applicazione creata utilizzando Visual Studio.

  3. È necessario assegnare all'applicazione i privilegi per accedere ai dati Dynamics 365 (online). Fare clic su Autorizzazioni necessarie nell'area Accesso all'API. Verrà visualizzato che si dispone già delle autorizzazioni per Windows Azure Active Directory.

  4. Fare clic su Aggiungi, quindi su Selezionare un'API. Nell'elenco, selezionare Dynamics 365 e fare clic sul pulsante Seleziona.

  5. In Selezionare le autorizzazioni, selezionare Accedi a Dynamics 365 come utente dell'organizzazione. Quindi, fare clic sul pulsante Seleziona.

  6. Fare clic su Fine per aggiungere queste autorizzazioni. Al termine verranno visualizzate le autorizzazioni applicate.

    Grant Dynamics 365-Permissions to application

Creare un utente dell'applicazione associato all'applicazione registrata in Dynamics 365

Quando l'applicazione accede ai dati di Dynamics 365 di uno dei sottoscrittori dell'applicazione, verrà richiesto un utente dell'applicazione nell'organizzazione Dynamics 365 del sottoscrittore. Come qualsiasi utente di Dynamics 365, tale utente dell'applicazione deve essere associato almeno a un ruolo di sicurezza che definisce i dati a cui l'utente può accedere.

L'entità systemuser dispone di tre nuovi attributi per archiviare i dati.

Nome schema

Nome visualizzato

Tipo

Descrizione

ApplicationId

ID applicazione

UniqueidentifierType

Identificatore dell'applicazione. Viene utilizzato per accedere ai dati in un'altra applicazione.

ApplicationIdUri

URI ID applicazione

StringType

URI utilizzato come identificatore logico univoco per l'app esterna. Può essere utilizzato per convalidare l'applicazione

AzureActiveDirectoryObjectId

ID oggetto Azure AD

UniqueidentifierType

ID oggetto della directory dell'applicazione.

Il valore di una proprietà systemuserAzureActiveDirectoryObjectId deve essere un riferimento per l'ID oggetto di Azure Active Directory dell'applicazione registrata. Questo riferimento verrà impostato in Dynamics 365 quando l'utente dell'applicazione viene creato in base al valore ApplicationId.

Nota

Quando inizialmente si sviluppa l'applicazione con il proprio tenant di Dynamics 365 e il tenant di Azure AD associato, è possibile semplicemente creare l'utente dell'applicazione perché l'applicazione registrata è già parte del tenant di Azure AD.

Tuttavia, per creare l'utente dell'applicazione in un'organizzazione diversa per un test, oppure ogni volta che un sottoscrittore utilizzerà l'applicazione, è innanzitutto necessario concedere le autorizzazioni per l'applicazione, pertanto i passaggi del processo sono diversi. Per ulteriori informazioni, vedere Testare l'applicazione utilizzando un tenant Dynamics 365 distinto.

Creare un ruolo di sicurezza per l'utente dell'applicazione

Nel passaggio successivo verrà creato un utente dell'applicazione Dynamics 365. I privilegi e i diritti di accesso per questo utente vengono definiti da un ruolo di sicurezza personalizzato da impostare. Prima di creare l'utente dell'applicazione, è necessario creare un ruolo di sicurezza personalizzato da poter associare all'utente. Per ulteriori informazioni, vedere TechNet: Creare o modificare un ruolo di sicurezza.

Nota

L'utente dell'applicazione non può essere associato a uno dei ruoli di sicurezza Dynamics 365 predefiniti. È necessario creare un ruolo di sicurezza personalizzato da associare all'utente dell'applicazione.

Creare manualmente un utente dell'applicazione Dynamics 365

La procedura per creare l'utente è diversa dalla creazione di un utente con licenza. Utilizzare i passaggi seguenti:

  1. Andare a Impostazioni > Sicurezza > Utenti.

  2. Selezionare Utenti applicazione nell'elenco a discesa delle visualizzazioni.

  3. Fare clic su Nuovo. Verificare che si stia utilizzando il modulo Utente applicazione.

    Se non vengono visualizzati i campi ID applicazione, URI ID applicazione e ID oggetto Azure AD nel modulo, è necessario selezionare il modulo Utente applicazione dall'elenco:

    Select Application User Form

  4. Aggiungere i valori appropriati i campi seguenti:

    Campo

    Valore

    ID applicazione

    Il valore dell'ID applicazione per l'applicazione registrata in Azure AD.

    Nome completo

    Nome dell'applicazione.

    Indirizzo di posta elettronica primario

    Indirizzo di posta elettronica che si desidera venga utilizzato dai sottoscrittori per contattare l'utente.

    I campi Nome utente, URI ID applicazione e ID oggetto Azure AD sono bloccati chiusi e non è possibile impostare i valori per questi campi.

    Quando si crea l'utente i valori di questi campi verranno recuperati da Azure AD in base al valore ID applicazione quando si salva l'utente.

  5. Associare l'utente dell'applicazione con il ruolo di sicurezza personalizzato creato nel passaggio Creare un ruolo di sicurezza per l'utente dell'applicazione. Per ulteriori informazioni, vedere TechNet: Assegnare un ruolo di sicurezza a un utente

Verificare l'applicazione utilizzando il tenant Dynamics 365

Poiché l'applicazione è stata registrata con il tenant di Azure AD e l'utente dell'applicazione dell'organizzazione di sviluppo è già configurato, è possibile continuare a creare l'applicazione con il tenant Dynamics 365. Ma questa non è un test valido delle capacità multi-tenant. È necessario testare l'applicazione in un tenant Dynamics 365 distinto.

Testare l'applicazione utilizzando un tenant Dynamics 365 distinto

Prima di testare l'applicazione con un tenant Dynamics 365 distinto, un amministratore del tenant di Azure AD deve concedere le autorizzazioni per l'applicazione. L'amministratore conceda le autorizzazioni passando all'applicazione utilizzando un browser. Al primo accesso all'applicazione, verrà visualizzata una finestra di dialogo come la seguente:

Grant consent to access Dynamics 365 data

Quando vengono concesse le autorizzazioni, l'applicazione registrata verrà aggiunta all'elenco di applicazioni aziendali di Azure AD e sarà disponibile per gli utenti del tenant di Azure AD.

Solo dopo che un amministratore ha concesso le autorizzazioni, è necessario creare l'utente dell'applicazione nel tenant Dynamics 365 del sottoscrittore. È possibile creare manualmente l'utente dell'applicazione seguendo i passaggi descritti in Creare manualmente un utente dell'applicazione Dynamics 365.

Per i test iniziali è possibile eseguire manualmente questi passaggi. Quando si è pronti per rendere l'applicazione o il servizio disponibile per i sottoscrittori è possibile utilizzare una procedura più efficiente. Questo processo viene descritto nella sezione successiva.

Preparare un metodo per distribuire l'utente dell'applicazione

Dopo il consenso dei sottoscrittori all'applicazione o al servizio, sarà necessario disporre di un modo semplice e affidabile per aggiungere l'utente dell'applicazione o tutti gli altri componenti necessari all'organizzazione Dynamics 365.

È necessario includere un ruolo di sicurezza personalizzato che definisce i privilegi richiesti dall'applicazione e quindi accertarsi che l'utente dell'applicazione sia associato a tale ruolo di sicurezza personalizzato. Poiché un ruolo di sicurezza personalizzato può essere incluso in una soluzione, è opportuno prepararsi una soluzione gestita che contiene la definizione del ruolo di sicurezza personalizzato e tutti gli altri componenti di soluzione richiesti dall'applicazione.

Per informazioni sulla creazione di ruoli di sicurezza personalizzati, vedere

Per informazioni sulla creazione di una soluzione Dynamics 365, vedere gli argomenti seguenti:

Tuttavia, l'utente dell'applicazione non può essere incluso in una soluzione pertanto sarà necessario rendere disponibile un modo per creare questo utente dell'applicazione e associarlo con il ruolo di sicurezza personalizzati.

Esistono diversi modi per tale scopo, inclusa la scrittura del proprio programma con Microsoft Dynamics 365 SDK e l'esecuzione del programma da parte del sottoscrittore.

Microsoft Dynamics 365 SDK fornisce un'applicazione Package Deployer CRM che può essere utilizzata per preparare un pacchetto e automatizzare il trasferimento di soluzioni e dati a un'organizzazione Dynamics 365 diversa.Ulteriori informazioni:Creare pacchetti per Package Deployer per Dynamics 365

Vedere anche

Procedura dettagliata: autenticazione tra server multi-tenant
Utilizzare l'autenticazione tra server single-tenant
Compilare applicazioni Web utilizzando l'autenticazione tra server (S2S)
Eseguire la connessione a Microsoft Dynamics 365

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright