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. Se il codice che si sta usando deve accedere alle risorse o modificarle, è possibile creare un'identità per l'app.When you have code 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. È quindi possibile assegnare le autorizzazioni richieste all'entità servizio.You can then assign the required permissions to the service principal. Questo articolo illustra come usare il portale per creare l'entità servizio.This article shows you how to use the portal to create the service principal. È 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.

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?.

Creare un'applicazione Azure Active DirectoryCreate an Azure Active Directory application

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 all'account di 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 l'applicazione a un ruoloAssign the application to a role

Per accedere alle risorse della propria sottoscrizione è necessario assegnare l'applicazione a un ruolo.To access resources in your subscription, you must assign the application to a role. 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 Controllo degli accessi in base al ruolo: ruoli predefiniti.To learn about the available roles, see RBAC: 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. Se ad esempio si aggiunge un'applicazione al ruolo Lettore per un gruppo di risorse, l'applicazione può leggere il gruppo di risorse e 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 assegnazione 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 ora compare nell'elenco degli utenti assegnati a un ruolo per quell'ambito.You see your application in the list of users assigned to 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. 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 per l'accessoGet values for signing in

Quando si accede a livello di codice, è necessario specificare l'ID tenant con la richiesta di autenticazione.When programmatically signing in, you need to pass the tenant ID with your authentication request. Sono necessari anche l'ID dell'applicazione e una chiave di autenticazione.You also need the ID for your application and an authentication key. 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

  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)

Certificati e segretiCertificates and secrets

Le applicazioni daemon possono usare due forme di credenziali per eseguire l'autenticazione con Azure AD: certificati e segreti dell'applicazione.Daemon applications can use two forms of credentials to authenticate with Azure AD: certificates and application secrets. È consigliabile usare un certificato, ma è anche possibile creare un nuovo segreto dell'applicazione.We recommend using a certificate, but you can also create a new application secret.

Caricamento di un certificatoUpload 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 a scopo di test.Optionally, you can create a self-signed certificate for testing purposes. Aprire PowerShell ed eseguire New-SelfSignedCertificate con i parametri seguenti per creare un certificato autofirmato nell'archivio certificati utente del computer:Open PowerShell and run New-SelfSignedCertificate with the following parameters to create a self-signed certificate 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.

Per caricare il certificato:To upload the certificate:

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

  2. 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

  3. 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.

Crea nuovo segreto applicazioneCreate 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 Certificati e segreti.Select Certificates & secrets.

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

  3. 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 il valore in quanto non sarà possibile recuperare la chiave in seguito.Copy this value because you aren't able to retrieve the key later. Il valore della chiave sarà fornito insieme all'ID applicazione per eseguire l'accesso come applicazione.You 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 addition 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 i criteri di accessoAdd access policy

Autorizzazioni necessarieRequired permissions

È necessario disporre di autorizzazioni sufficienti per registrare un'applicazione con il tenant di Azure AD e assegnare l'applicazione a un ruolo nella sottoscrizione di Azure.You must have sufficient permissions to register an application with your Azure AD tenant, and assign the application to 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 relativa alle registrazioni dell'app è limitata agli utenti amministratori, chiedere al proprio amministratore di essere assegnati a uno dei ruoli di amministratore in grado di gestire tutti gli aspetti delle registrazioni dell'app oppure di consentire agli utenti di registrare le app.If your account is assigned to the User role, but the app registration setting is limited to admin users, ask your administrator to either assign you to 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 è necessario che l'account disponga dell'accesso Microsoft.Authorization/*/Write per assegnare un'app di Active Directory a un ruolo.In your Azure subscription, your account must have Microsoft.Authorization/*/Write access to assign an AD app to a role. 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 il proprio account è assegnato al ruolo Collaboratore, non si dispone dell'autorizzazione appropriata.If your account is assigned to the Contributor role, you don't have adequate permission. Se si tenterà di assegnare l'entità servizio a un ruolo si riceve un errore.You receive an error when attempting to assign the service principal to a role.

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

  1. Selezionare l'account nell'angolo in alto a destra e selezionare ...-> autorizzazioni personali.Select your account in the upper right corner, and select ... -> My permissions.

    Selezionare l'account e le autorizzazioni utente

  2. Nell'elenco a discesa selezionare la sottoscrizione in cui si vuole creare l'entità servizio.From the drop-down list, select the subscription you want to create the service principal in. 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

  3. Selezionare assegnazioni di ruolo per visualizzare i ruoli assegnati e determinare se si dispone di autorizzazioni adeguate per assegnare un'app ad a un ruolo.Select Role assignments to view your assigned roles, and determine if you have adequate permissions to assign an AD app to a role. 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. Nella figura seguente l'utente è assegnato al ruolo Proprietario, perciò dispone delle autorizzazioni adeguate.In the following image, the user is assigned to the Owner role, which means that user has adequate permissions.

    Questo esempio mostra che l'utente è assegnato al ruolo proprietario

Passaggi successiviNext steps