Come vengono aggiunte le applicazioni in Azure AD e perchéHow and why applications are added to Azure AD

Uno degli aspetti più sconcertanti quando si visualizza un elenco di applicazioni nell'istanza di Azure Active Directory sta nel comprendere da dove provengono le applicazioni e perché si trovano nella directory.One of the initially puzzling things when viewing a list of applications in your instance of Azure Active Directory is understanding where the applications came from and why they are there. Questo articolo fornisce una panoramica generale del modo in cui le applicazioni sono rappresentate nella directory, oltre alle informazioni necessarie per comprendere perché un'applicazione è stata inclusa nella directory.This article will provide a high level overview of how applications are represented in the directory and provide you with context that will assist you in understanding how an application came to be in your directory.

Quali sono i servizi che Azure AD offre alle applicazioni?What services does Azure AD provide to applications?

Le applicazioni vengono aggiunte in Azure AD in modo che sia possibile sfruttare uno o più servizi offerti.Applications are added to Azure AD to leverage one or more of the services it provides. I servizi comprendono:Those services include:

  • Autenticazione e autorizzazione delle appApp authentication and authorization
  • Autenticazione e autorizzazione degli utentiUser authentication & authorization
  • Accesso Single Sign-On tramite federazione o passwordSingle sign-on (SSO) using federation or password
  • Provisioning e sincronizzazione degli utentiUser provisioning & synchronization
  • Controllo degli accessi in base al ruolo. È possibile usare la directory per definire i ruoli dell'applicazione per eseguire i controlli di autorizzazione in base ai ruoli in un'app.Role-based access control; Use the directory to define application roles to perform roles based authorization checks in an app.
  • Servizi di autorizzazione oAuth (usati da Office 365 e altre app Microsoft per autorizzare l'accesso ad API e risorse).oAuth authorization services (used by Office 365 and other Microsoft apps to authorize access to APIs/resources.)
  • Proxy e pubblicazione dell'applicazione. È possibile pubblicare un'app in Internet da una rete privataApplication publishing & proxy; Publish an app from a private network to the internet

In che modo sono rappresentate le applicazioni nella directory?How are applications represented in the directory?

Le applicazioni sono rappresentate in Azure AD tramite 2 oggetti: un oggetto applicazione e un oggetto entità servizio.Applications are represented in the Azure AD using 2 objects: an application object and a service principal object. Esiste un oggetto applicazione, registrato in una directory "home"/"proprietario" o "pubblicazione" e uno o più oggetti entità servizio che rappresentano l'applicazione in ogni directory in cui opera.There is one application object, registered in a "home"/"owner" or "publishing" directory and one or more service principal objects representing the application in every directory in which it acts.

L'oggetto applicazione descrive l'app ad Azure AD (servizio multitenant) e può includere gli elementi seguenti: (Nota: questo elenco potrebbe non essere completo)The application object describes the app to Azure AD (the multi-tenant service) and may include any of the following: (Note: This is not an exhaustive list.)

  • Nome, logo e autoreName, Logo & Publisher
  • Segreti (chiavi simmetriche e/o asimmetriche usate per autenticare l'app)Secrets (symmetric and/or asymmetric keys used to authenticate the app)
  • Dipendenze API (oAuth)API dependencies (oAuth)
  • API/risorse/ambiti pubblicati (oAuth)APIs/resources/scopes published (oAuth)
  • Ruoli app (Controllo degli accessi in base al ruolo)App roles (RBAC)
  • Metadati e configurazione Single Sign-On (SSO)SSO metadata and configuration (SSO)
  • Metadati e configurazione del provisioning utentiUser provisioning metadata and configuration
  • Metadati e configurazione proxyProxy metadata and configuration

L'entità servizio è un record dell'applicazione in ogni directory in cui questa opera, inclusa la relativa home directory.The service principal is a record of the application in every directory, where the application acts including its home directory. L'entità servizio:The service principal:

  • Fa riferimento a un oggetto applicazione tramite la proprietà ID appRefers back to an application object via the app id property
  • Registra le assegnazioni del ruolo app al gruppo e all'utente localeRecords local user and group app-role assignments
  • Registra le autorizzazioni di amministratore e utente locale concesse all'appRecords local user and admin permissions granted to the app
    • Ad esempio, l'autorizzazione dell'app ad accedere all'indirizzo di posta elettronica di un utente specificoFor example: permission for the app to access a particular users email
  • Registra i criteri locali, inclusi i criteri di accesso condizionaleRecords local policies including conditional access policy
  • Registra le impostazioni locali alternative per un'appRecords local alternate local settings for an app
    • Regole di trasformazione delle attestazioniClaims transformation rules
    • Mapping degli attributi (provisioning utenti)Attribute mappings (User provisioning)
    • Ruoli app specifici del tenant (se l'app supporta i ruoli personalizzati)Tenant specific app roles (if the app supports custom roles)
    • Nome/LogoName/Logo

Diagramma degli oggetti applicazione e delle entità servizio tra le directoryA diagram of application objects and service principals across directories

Diagramma che illustra gli oggetti applicazione e le entità servizio presenti all'interno delle istanze di Azure AD.

Come si può notare nel diagramma,As you can see from the diagram above. Microsoft mantiene internamente due directory (a sinistra) usate per pubblicare le applicazioni.Microsoft maintains two directories internally (on the left) it uses to publish applications.

  • Una per le app Microsoft (directory di servizi Microsoft)One for Microsoft Apps (Microsoft services directory)
  • Una per le app di terze parti preintegrate (directory Raccolta app)One for pre-integrated 3rd Party Apps (App Gallery directory)

Ai fornitori/editori di applicazioni che procedono all'integrazione con Azure AD è richiesto di avere una directory di pubblicazioneApplication publishers/vendors who integrate with Azure AD are required to have a publishing directory. (ad alcuni una directory SaaS).(Some SAAS Directory).

Applicazioni aggiunte dall'utente:Applications that you add yourself include:

  • App sviluppate dall'utente (integrate con AAD)Apps you developed (integrated with AAD)
  • App connesse per l'accesso Single Sign-OnApps you connected for single-sign-on
  • App pubblicate tramite il proxy di applicazione di Azure AD.Apps you published using the Azure AD application proxy.

Note ed eccezioniA couple of notes and exceptions

  • Non tutte le entità servizio fanno riferimento a oggetti applicazione.Not all service principals point back to application objects. Questo perchéHuh? al momento della creazione di Azure AD, i servizi forniti alle applicazioni erano molto più limitati e l'entità servizio era sufficiente per stabilire l'identità di un'app.When Azure AD was originally built the services provided to applications were much more limited and the service principal was sufficient for establishing an app identity. L'entità servizio originale assomigliava più all'account del servizio di Windows Server Active Directory.The original service principal was closer in shape to the Windows Server Active Directory service account. Per questo motivo, è ancora possibile creare entità servizio usando Azure AD PowerShell senza dover prima creare un oggetto applicazione.For this reason it's still possible to create service principals using the Azure AD PowerShell without first creating an application object. L'API Graph richiede che venga creato un oggetto app prima di creare un'entità servizio.The Graph API requires an app object before creating a service principal.
  • Non tutte le informazioni riportate sopra sono al momento esposte a livello di codice.Not all of the information described above is currently exposed programmatically. Le funzionalità seguenti sono disponibili solo nell'interfaccia utente:The following are only available in the UI:
    • Regole di trasformazione delle attestazioniClaims transformation rules
    • Mapping degli attributi (provisioning utenti)Attribute mappings (User provisioning)
  • Per informazioni dettagliate sugli oggetti applicazione ed entità servizio, vedere la documentazione di riferimento all'API REST di Azure AD Graph.For more detailed information on the service principal and application objects please refer to the Azure AD Graph REST API reference documentation. Suggerimento: la documentazione di riferimento all'API Graph di Azure AD è quanto di più somigliante al riferimento a uno schema per Azure AD disponibile al momento.Hint: The Azure AD Graph API documentation is the closest thing to a schema reference for Azure AD that's currently available.

In che modo le app vengono aggiunte alla mia istanza di Azure AD?How are apps added to my Azure AD instance?

È possibile aggiungere un'app in Azure AD in diversi modi:There are many ways an app can be added to Azure AD:

  • Aggiungere un'app dalla Raccolta app di Azure Active DirectoryAdd an app from the Azure Active Directory App Gallery
  • Iscriversi o accedere a un'app di terze parti integrata in Azure Active Directory, ad esempio Smartsheet o DocuSignSign up/into a 3rd Party App integrated with Azure Active Directory (For example: Smartsheet or DocuSign)
    • Durante la procedura di iscrizione/accesso, agli utenti viene richiesto di concedere all'app l'autorizzazione ad accedere al proprio profilo e altri tipi di autorizzazioni.During sign up/in users are asked to give permission to the app to access their profile and other permissions. Quando viene dato il primo consenso, l'entità servizio che rappresenta l'app viene aggiunta alla directory.The first person to give consent causes a service principal representing the app to be added to the directory.
  • Iscriversi o accedere ai Microsoft Online Services, ad esempio Office 365Sign up/into Microsoft online services like Office 365
    • Quando si effettua l'abbonamento a Office 365 o si richiede una versione di valutazione, vengono create una o più entità servizio nella directory che rappresenta i vari servizi usati per fornire tutte le funzionalità associate a Office 365.When you subscribe to Office 365 or begin a trial one or more service principals are created in the directory representing the various services that are used to deliver all of the functionality associated with Office 365.
    • Alcuni servizi di Office 365, ad esempio SharePoint, creano entità servizio in modo continuativo per consentire la comunicazione sicura tra i componenti, inclusi i flussi di lavoro.Some Office 365 services like SharePoint create service principals on an on-going basis to allow secure communication between components including workflows.
  • Aggiungere un'app sviluppata nel portale di gestione di Azure. Vedere https://msdn.microsoft.com/library/azure/dn132599.aspxAdd an app you're developing in the Azure Management Portal see: https://msdn.microsoft.com/library/azure/dn132599.aspx
  • Aggiungere un'app in fase di sviluppo tramite Visual Studio. Vedere:Add an app you're developing using Visual Studio see:
  • Aggiungere un'app per l'uso del proxy di applicazione di Azure ADAdd an app to use to use the Azure AD Application Proxy
  • Connettere un'app per l'accesso Single Sign-On tramite SAML o SSO basato su passwordConnect an app for single sign on using SAML or Password SSO
  • Sono disponibili altri modi, incluse varie esperienze utente in Azure ed esperienze di esplorazione delle API nei centri per sviluppatoriMany others including various developer experiences in Azure and/in API explorer experiences across developer centers

Chi è autorizzato ad aggiungere applicazioni alla mia istanza di Azure AD?Who has permission to add applications to my Azure AD instance?

Solo gli amministratori globali possono:Only global administrators can:

  • Aggiungere app dalla raccolta di app Azure AD (app di terze parti preintegrate)Add apps from the Azure AD app gallery (pre-integrated 3rd Party Apps)
  • Pubblicare un'app tramite il proxy di applicazione di Azure ADPublish an app using the Azure AD Application Proxy

Tutti gli utenti inclusi nella directory sono autorizzati ad aggiungere le applicazioni in fase di sviluppo con discrezionalità sulle applicazioni che condividono o che possono accedere ai dati aziendali.All users in your directory have rights to add applications that they are developing and discretion over which applications they share/give access to their organizational data. Ricordare che l'iscrizione o l'accesso a un'app e la concessione delle autorizzazioni possono determinare la creazione di un'entità servizio.Remember user sign up/in to an app and granting permissions may result in a service principal being created.

Anche se questo può inizialmente destare qualche preoccupazione, tenere presente quanto segue:This might initially sound concerning, but keep the following in mind:

  • Le app hanno usato Windows Server Active Directory per autenticare gli utenti per anni senza richiedere la registrazione dell'applicazione nella directory.Apps have been able to leverage Windows Server Active Directory for user authentication for many years without requiring the application to be registered/recorded in the directory. Ora le organizzazioni hanno maggiore visibilità sul numero esatto di applicazioni che usano la directory e per quale scopo.Now the organization will have improved visibility to exactly how many apps are using the directory and what for.
  • Non serve un processo di registrazione/pubblicazione delle app basato su amministratore.No need for admin driven app publishing/registration process. Con Active Directory Federation Services gli amministratori dovevano aggiungere le app come relying party per conto degli sviluppatori.With Active Directory Federation Services it was likely that an admin had to add an app as a relying party on behalf of developers. Ora gli sviluppatori possono eseguire queste operazioni in modo indipendente.Now developers can self-service.
  • L'iscrizione o l'accesso alle app tramite un account aziendale è un fatto positivo a livello dell'azienda.Users signing in/up to apps using their organization accounts for business purposes is a good thing. Se l'utente lascia la società, perderà l'accesso al proprio account nelle applicazioni in uso.If they subsequently leave the organization they will lose access to their account in the application they were using.
  • È positivo anche il fatto di poter tenere sotto controllo quali dati sono stati condivisi e con quali applicazioni.Having a record of what data was shared with which application is a good thing. I dati sono più trasportabili che mai ed è quindi utile sapere chi ha condiviso determinati dati e con quali applicazioni.Data is more transportable than ever and having a clear record of who shared what data with which applications is useful.
  • Le app che usano Azure AD per l'autenticazione oAuth stabiliscono quali sono le autorizzazioni che gli utenti possono concedere alle applicazioni e quali autorizzazioni richiedono il consenso da parte dell'amministratore.Apps who use Azure AD for oAuth decide exactly what permissions that users are able to grant to applications and which permissions require an admin to agree to. Non è necessario ricordare che solo gli amministratori possono dare il consenso per ambiti più ampi e autorizzazioni più significative.It should go without saying that only admins can consent to larger scopes and more significant permissions.
  • Gli utenti che aggiungono app e consentono loro di accedere ai propri dati sono eventi controllati, pertanto è possibile visualizzare i report di controllo nel portale di gestione di Azure per determinare il modo in cui un'app è stata aggiunta alla directory.Users adding and allowing apps to access their data are audited events so you can view the Audit Reports within the Azure Managment portal to determine how an app was added to the directory.

Nota:la stessa Microsoft ha usato la configurazione predefinita nel corso degli ultimi mesi.Note: Microsoft itself has been operating using the default configuration for many months now.

È comunque possibile impedire agli utenti della directory aggiungere applicazioni e prendere decisioni in merito alle informazioni da condividere con le applicazioni modificando la configurazione della directory nel portale di gestione di Azure.With all of that said it is possible to prevent users in your directory from adding applications and from exercising discretion over what information they share with applications by modifying Directory configuration in the Azure Management portal. Per accedere alla configurazione seguente, passare al portale di gestione di Azure, quindi selezionare la scheda "Configura" della propria directory.The following configuration can be accessed within the Azure Management portal on your Directory's "Configure" tab.

Schermata dell'interfaccia utente per la configurazione delle impostazioni delle app integrate

Passaggi successiviNext steps

Altre informazioni su come aggiungere applicazioni in Azure AD e su come configurare i servizi per le app.Learn more about how to add applications to Azure AD and how to configure services for apps.

Vedere ancheSee also