Procedure: Usare il portale per creare un'applicazione Azure Active Directory (Azure AD) e un'entità servizio che possano accedere alle risorseHow to: Use the portal to create an Azure AD application and service principal that can access resources

Questo articolo illustra come creare una nuova applicazione Azure Active Directory (Azure AD) e un'entità servizio che possono essere usate con il controllo degli accessi in base al ruolo.This article shows you how to create a new Azure Active Directory (Azure AD) application and service principal that can be used with the role-based access control. Quando si dispone di applicazioni, servizi ospitati o strumenti automatici che devono accedere alle risorse o modificarle, è possibile creare un'identità per l'app.When you have applications, hosted services, or automated tools that needs to access or modify resources, you can create an identity for the app. Questa identità è nota come entità servizio.This identity is known as a service principal. L'accesso alle risorse è limitato dai ruoli assegnati all'entità servizio, garantendo il controllo sulle risorse a cui è possibile accedere e a quale livello.Access to resources is restricted by the roles assigned to the service principal, giving you control over which resources can be accessed and at which level. Per motivi di sicurezza è sempre consigliabile usare le identità servizio per gli strumenti automatici, invece di consentire loro di accedere con un'identità utente.For security reasons, it's always recommended to use service principals with automated tools rather than allowing them to log in with a user identity.

Questo articolo illustra come usare il portale per creare l'entità servizio nel portale di Azure.This article shows you how to use the portal to create the service principal in the Azure portal. È incentrato su un'applicazione con un tenant singolo dove si prevede che l'applicazione venga eseguita all'interno di una sola organizzazione.It focuses on a single-tenant application where the application is intended to run within only one organization. Le applicazioni con un tenant singolo si usano in genere per applicazioni line-of-business eseguite all'interno dell'organizzazione.You typically use single-tenant applications for line-of-business applications that run within your organization. È anche possibile usare Azure PowerShell per creare un'entità servizio.You can also use Azure PowerShell to create a service principal.

Importante

Anziché creare un'entità servizio, considerare l'uso delle identità gestite per le risorse di Azure per l'identità dell'applicazione.Instead of creating a service principal, consider using managed identities for Azure resources for your application identity. Se il codice viene eseguito in un servizio che supporta identità gestite e accede a risorse che supportano l'autenticazione Azure AD, le identità gestite rappresentano un'opzione migliore.If your code runs on a service that supports managed identities and accesses resources that support Azure AD authentication, managed identities are a better option for you. Per altre informazioni sulle identità gestite per le risorse di Azure, inclusi i servizi attualmente supportati, vedere Informazioni sulle identità gestite per le risorse di Azure.To learn more about managed identities for Azure resources, including which services currently support it, see What is managed identities for Azure resources?.

Registrazione dell'app, oggetti app ed entità servizioApp registration, app objects, and service principals

Non è possibile creare direttamente un'entità servizio usando il portale di Azure.There is no way to directly create a service principal using the Azure portal. Quando si registra un'applicazione tramite la portale di Azure, un oggetto applicazione e un'entità servizio vengono creati automaticamente nella home directory o nel tenant.When you register an application through the Azure portal, an application object and service principal are automatically created in your home directory or tenant. Per altre informazioni sulla relazione tra la registrazione dell'app, gli oggetti applicazione e le entità servizio, vedere oggetti applicazione e oggetti entità servizio in Azure Active Directory.For more information on the relationship between app registration, application objects, and service principals, read Application and service principal objects in Azure Active Directory.

Autorizzazioni necessarie per la registrazione di un'appPermissions required for registering an app

È necessario disporre di autorizzazioni sufficienti per registrare un'applicazione con il tenant di Azure AD e assegnare all'applicazione un ruolo nella sottoscrizione di Azure.You must have sufficient permissions to register an application with your Azure AD tenant, and assign to the application a role in your Azure subscription.

Controllare le autorizzazioni di Azure ADCheck Azure AD permissions

  1. Selezionare Azure Active Directory.Select Azure Active Directory.

  2. Annotare il proprio ruolo.Note your role. Se si ha il ruolo Utente, assicurarsi che anche gli utenti non amministratori possano registrare le applicazioni.If you have the User role, you must make sure that non-administrators can register applications.

    Trovare il ruolo.

  3. Nel riquadro sinistro selezionare impostazioni utente.In the left pane, select User settings.

  4. Controllare l'impostazione Registrazioni per l'app.Check the App registrations setting. Questo valore può essere impostato solo da un amministratore.This value can only be set by an administrator. Se è impostato su , qualsiasi utente nel tenant di Azure AD può registrare un'app.If set to Yes, any user in the Azure AD tenant can register an app.

Se l'impostazione relativa alle registrazioni dell'app è impostata su No, solo gli utenti con un ruolo di amministratore possono registrare questi tipi di applicazioni.If the app registrations setting is set to No, only users with an administrator role may register these types of applications. Vedere Ruoli disponibili e Autorizzazioni dei ruoli per informazioni sui ruoli di amministratore disponibili e le specifiche autorizzazioni di Azure AD assegnate a ogni ruolo.See available roles and role permissions to learn about available administrator roles and the specific permissions in Azure AD that are given to each role. Se l'account è assegnato al ruolo utente, ma l'impostazione di registrazione dell'app è limitata agli utenti amministratori, richiedere all'amministratore di assegnare uno dei ruoli di amministratore che possono creare e gestire tutti gli aspetti delle registrazioni di app o consentire agli utenti di registrare le app.If your account is assigned the User role, but the app registration setting is limited to admin users, ask your administrator to either assign you one of the administrator roles that can create and manage all aspects of app registrations, or to enable users to register apps.

Controllare le autorizzazioni di sottoscrizione di AzureCheck Azure subscription permissions

Nella sottoscrizione di Azure, l'account deve avere Microsoft.Authorization/*/Write accesso per assegnare un ruolo a un'app ad.In your Azure subscription, your account must have Microsoft.Authorization/*/Write access to assign a role to an AD app. Questa azione è concessa tramite il ruolo Proprietario o Amministratore accessi utente.This action is granted through the Owner role or User Access Administrator role. Se al proprio account è assegnato il ruolo collaboratore , non si dispone delle autorizzazioni appropriate.If your account is assigned the Contributor role, you don't have adequate permission. Si riceverà un errore durante il tentativo di assegnare l'entità servizio a un ruolo.You will receive an error when attempting to assign the service principal a role.

Per controllare le proprie autorizzazioni di sottoscrizione:To check your subscription permissions:

  1. Cercare e selezionare le sottoscrizionioppure selezionare sottoscrizioni nella Home page.Search for and select Subscriptions, or select Subscriptions on the Home page.

    Ricerca

  2. Selezionare la sottoscrizione in cui si desidera creare l'entità servizio.Select the subscription you want to create the service principal in.

    Selezionare la sottoscrizione per l'assegnazione

    Se la sottoscrizione che si sta cercando non viene visualizzata, selezionare il filtro per le sottoscrizioni globali.If you don't see the subscription you're looking for, select global subscriptions filter. Assicurarsi che la sottoscrizione desiderata sia selezionata per il portale.Make sure the subscription you want is selected for the portal.

  3. Selezionare Autorizzazioni personali.Select My permissions. Selezionare quindi Fare clic qui per visualizzare i dettagli di accesso completi per questa compilazione.Then, select Click here to view complete access details for this subscription.

    Selezionare la sottoscrizione in cui si vuole creare l'entità servizio

  4. Selezionare Visualizza nelle assegnazioni di ruolo per visualizzare i ruoli assegnati e determinare se si dispone delle autorizzazioni appropriate per assegnare un ruolo a un'app ad.Select View in Role assignments to view your assigned roles, and determine if you have adequate permissions to assign a role to an AD app. In caso contrario chiedere all'amministratore della sottoscrizione di essere aggiunti al ruolo Amministratore accessi utente.If not, ask your subscription administrator to add you to User Access Administrator role. Nell'immagine seguente all'utente viene assegnato il ruolo proprietario, il che significa che l'utente dispone di autorizzazioni appropriate.In the following image, the user is assigned the Owner role, which means that user has adequate permissions.

    Questo esempio mostra che all'utente è assegnato il ruolo di proprietario

Registrare un'applicazione con Azure AD e creare un'entità servizioRegister an application with Azure AD and create a service principal

Si passerà direttamente alla creazione dell'identità.Let's jump straight into creating the identity. Se si verifica un problema, controllare le autorizzazioni necessarie per assicurarsi che l'account possa creare l'identità.If you run into a problem, check the required permissions to make sure your account can create the identity.

  1. Accedere al proprio account Azure tramite il portale di Azure.Sign in to your Azure Account through the Azure portal.

  2. Selezionare Azure Active Directory.Select Azure Active Directory.

  3. Selezionare Registrazioni per l'app.Select App registrations.

  4. Selezionare Nuova registrazione.Select New registration.

  5. Assegnare un nome all'applicazione.Name the application. Selezionare un tipo di account supportato, che determina chi può usare l'applicazione.Select a supported account type, which determines who can use the application. In URI di reindirizzamentoselezionare Web per il tipo di applicazione che si desidera creare.Under Redirect URI, select Web for the type of application you want to create. Immettere l'URI a cui viene inviato il token di accesso.Enter the URI where the access token is sent to. Non è possibile creare credenziali per un'applicazione nativaYou can't create credentials for a Native application. e non è possibile usare questo tipo per creare un'applicazione automatica.You can't use that type for an automated application. Dopo aver impostato i valori, selezionare Register (registra).After setting the values, select Register.

    Digitare un nome per l'applicazione

Sono state create un'applicazione e un'entità servizio di Azure AD.You've created your Azure AD application and service principal.

Assegnare un ruolo all'applicazioneAssign a role to the application

Per accedere alle risorse nella sottoscrizione, è necessario assegnare un ruolo all'applicazione.To access resources in your subscription, you must assign a role to the application. Decidere quale ruolo offre le autorizzazioni appropriate per l'applicazione.Decide which role offers the right permissions for the application. Per informazioni sui ruoli disponibili, vedere ruoli predefiniti di Azure.To learn about the available roles, see Azure built-in roles.

È possibile impostare l'ambito al livello della sottoscrizione, del gruppo di risorse o della risorsa.You can set the scope at the level of the subscription, resource group, or resource. Le autorizzazioni vengono ereditate a livelli inferiori dell'ambito.Permissions are inherited to lower levels of scope. Ad esempio, l'aggiunta di un'applicazione al ruolo lettore per un gruppo di risorse significa che può leggere il gruppo di risorse e tutte le risorse in esso contenute.For example, adding an application to the Reader role for a resource group means it can read the resource group and any resources it contains.

  1. Nella portale di Azure selezionare il livello di ambito a cui si vuole assegnare l'applicazione.In the Azure portal, select the level of scope you wish to assign the application to. Ad esempio, per assegnare un ruolo nell'ambito della sottoscrizione, cercare e selezionare le sottoscrizionioppure selezionare sottoscrizioni nella Home page.For example, to assign a role at the subscription scope, search for and select Subscriptions, or select Subscriptions on the Home page.

    Ad esempio, assegnare un ruolo nell'ambito della sottoscrizione

  2. Selezionare la sottoscrizione specifica a cui assegnare l'applicazione.Select the particular subscription to assign the application to.

    Selezionare la sottoscrizione per l'assegnazione

    Se la sottoscrizione che si sta cercando non viene visualizzata, selezionare il filtro per le sottoscrizioni globali.If you don't see the subscription you're looking for, select global subscriptions filter. Assicurarsi che la sottoscrizione desiderata sia selezionata per il portale.Make sure the subscription you want is selected for the portal.

  3. Selezionare Controllo di accesso (IAM) .Select Access control (IAM).

  4. Selezionare Aggiungi un'assegnazione di ruolo.Select Add role assignment.

  5. Selezionare il ruolo che si desidera assegnare all'applicazione.Select the role you wish to assign to the application. Ad esempio, per consentire all'applicazione di eseguire azioni come il riavvio, l' avvio e l' arresto delle istanze, selezionare il ruolo collaboratore .For example, to allow the application to execute actions like reboot, start and stop instances, select the Contributor role. Per altre informazioni sui ruoli disponibili , vedere Azure ad le applicazioni non vengono visualizzate nelle opzioni disponibili.Read more about the available roles By default, Azure AD applications aren't displayed in the available options. Per trovare l'applicazione, cercare il nome e selezionarlo.To find your application, search for the name and select it.

    Selezionare il ruolo da assegnare all'applicazione

  6. Selezionare Salva per completare l'assegnazione del ruolo.Select Save to finish assigning the role. L'applicazione viene visualizzata nell'elenco di utenti con un ruolo per tale ambito.You see your application in the list of users with a role for that scope.

L'entità servizio è stata configurataYour service principal is set up. ed è possibile iniziare a usarla per eseguire script o app.You can start using it to run your scripts or apps. Per gestire l'entità servizio (autorizzazioni, autorizzazioni consentite dall'utente, vedere quali utenti hanno acconsentito, esaminare le autorizzazioni, vedere informazioni di accesso e altro), passare ad applicazioni aziendali.To manage your service principal (permissions, user consented permissions, see which users have consented, review permissions, see sign in information, and more), go to Enterprise applications.

Nella sezione successiva viene illustrato come ottenere i valori necessari quando si accede a livello di codice.The next section shows how to get values that are needed when signing in programmatically.

Ottenere i valori di ID tenant e app per l'accessoGet tenant and app ID values for signing in

Quando si esegue l'accesso a livello di codice, è necessario passare l'ID tenant con la richiesta di autenticazione e l'ID applicazione.When programmatically signing in, you need to pass the tenant ID with your authentication request and the application ID. È necessario anche un certificato o una chiave di autenticazione, descritta nella sezione seguente.You also need a certificate or an authentication key (described in the following section). Per ottenere questi valori eseguire la procedura seguente:To get those values, use the following steps:

  1. Selezionare Azure Active Directory.Select Azure Active Directory.

  2. Da Registrazioni app in Azure AD selezionare l'applicazione.From App registrations in Azure AD, select your application.

  3. Copiare l'ID directory (tenant) e archiviarlo nel codice dell'applicazione.Copy the Directory (tenant) ID and store it in your application code.

    Copiare il valore della directory (ID tenant) e archiviarla nel codice dell'app

    L'ID directory (tenant) è disponibile anche nella pagina Panoramica directory predefinita.The directory (tenant) ID can also be found in the default directory overview page.

  4. Copiare l'ID applicazione e archiviarlo nel codice dell'applicazione.Copy the Application ID and store it in your application code.

    Copiare il valore di ID applicazione (client)

Autenticazione: due opzioniAuthentication: Two options

Per le entità servizio sono disponibili due tipi di autenticazione: autenticazione basata su password (segreto applicazione) e autenticazione basata su certificati.There are two types of authentication available for service principals: password-based authentication (application secret) and certificate-based authentication. È consigliabile usare un certificato, ma è anche possibile creare un segreto dell'applicazione.We recommend using a certificate, but you can also create an application secret.

Opzione 1: caricare un certificatoOption 1: Upload a certificate

Se si dispone di un certificato, è possibile utilizzarne uno esistente.You can use an existing certificate if you have one. Facoltativamente, è possibile creare un certificato autofirmato solo a scopo di test.Optionally, you can create a self-signed certificate for testing purposes only. Per creare un certificato autofirmato, aprire PowerShell ed eseguire New-SelfSignedCertificate con i parametri seguenti per creare il certificato nell'archivio certificati utente del computer:To create a self-signed certificate, open PowerShell and run New-SelfSignedCertificate with the following parameters to create the cert in the user certificate store on your computer:

$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

Esportare questo certificato in un file usando lo snap-in MMC Gestione certificati utente accessibile dal pannello di controllo di Windows.Export this certificate to a file using the Manage User Certificate MMC snap-in accessible from the Windows Control Panel.

  1. Selezionare Esegui dal menu Start , quindi immettere certmgr. msc.Select Run from the Start menu, and then enter certmgr.msc.

    Viene visualizzato lo strumento Gestione certificati per l'utente corrente.The Certificate Manager tool for the current user appears.

  2. Per visualizzare i certificati, in certificati-utente corrente nel riquadro sinistro, espandere la directory personale .To view your certificates, under Certificates - Current User in the left pane, expand the Personal directory.

  3. Fare clic con il pulsante destro del mouse sul certificato creato, selezionare tutte le attività->Esporta.Right-click on the cert you created, select All tasks->Export.

  4. Seguire l'esportazione guidata certificati.Follow the Certificate Export wizard. Non esportare la chiave privata ed esportare in un. File CER.Do not export the private key, and export to a .CER file.

Per caricare il certificato:To upload the certificate:

  1. Selezionare Azure Active Directory.Select Azure Active Directory.

  2. Da Registrazioni app in Azure AD selezionare l'applicazione.From App registrations in Azure AD, select your application.

  3. Selezionare Certificati e segreti.Select Certificates & secrets.

  4. Selezionare Carica certificato e selezionare il certificato (un certificato esistente o il certificato autofirmato esportato).Select Upload certificate and select the certificate (an existing certificate or the self-signed certificate you exported).

    Selezionare Carica certificato e selezionare quello che si desidera aggiungere

  5. Selezionare Aggiungi.Select Add.

Dopo aver registrato il certificato con l'applicazione nel portale di registrazione delle applicazioni, è necessario abilitare il codice dell'applicazione client per l'uso del certificato.After registering the certificate with your application in the application registration portal, you need to enable the client application code to use the certificate.

Opzione 2: creare una nuova chiave privata dell'applicazioneOption 2: Create a new application secret

Se si sceglie di non usare un certificato, è possibile creare un nuovo segreto dell'applicazione.If you choose not to use a certificate, you can create a new application secret.

  1. Selezionare Azure Active Directory.Select Azure Active Directory.

  2. Da Registrazioni app in Azure AD selezionare l'applicazione.From App registrations in Azure AD, select your application.

  3. Selezionare Certificati e segreti.Select Certificates & secrets.

  4. Selezionare Segreti client -> Nuovo segreto client.Select Client secrets -> New client secret.

  5. Specificare una descrizione del segreto e una durata.Provide a description of the secret, and a duration. Al termine, fare clic su Aggiungi.When done, select Add.

    Il valore del segreto client verrà visualizzato dopo il salvataggio.After saving the client secret, the value of the client secret is displayed. Copiare questo valore perché non sarà possibile recuperare la chiave in un secondo momento.Copy this value because you won't be able to retrieve the key later. Il valore della chiave sarà fornito con l'ID applicazione per accedere come applicazione.You will provide the key value with the application ID to sign in as the application. Salvare il valore della chiave in una posizione in cui l'applicazione possa recuperarlo.Store the key value where your application can retrieve it.

    Copiare il valore del segreto perché non sarà possibile recuperarlo in seguito

Configurare i criteri di accesso per le risorseConfigure access policies on resources

Tenere presente che potrebbe essere necessario configurare autorizzazioni aggiuntive per le risorse a cui l'applicazione deve accedere.Keep in mind, you might need to configure additional permissions on resources that your application needs to access. Ad esempio, è necessario aggiornare anche i criteri di accesso dell'insieme di credenziali delle chiavi per consentire all'applicazione di accedere a chiavi, segreti o certificati.For example, you must also update a key vault's access policies to give your application access to keys, secrets, or certificates.

  1. Nella portale di Azurepassare all'insieme di credenziali delle chiavi e selezionare criteri di accesso.In the Azure portal, navigate to your key vault and select Access policies.
  2. Selezionare Aggiungi criteri di accesso, quindi selezionare la chiave, il segreto e le autorizzazioni per i certificati per cui si vuole concedere l'applicazione.Select Add access policy, then select the key, secret, and certificate permissions you want to grant your application. Selezionare l'entità servizio creata in precedenza.Select the service principal you created previously.
  3. Selezionare Aggiungi per aggiungere i criteri di accesso, quindi Salva per eseguire il commit delle modifiche.Select Add to add the access policy, then Save to commit your changes. Aggiungere un criterio di accessoAdd access policy

Passaggi successiviNext steps