Prendere in considerazione l'autenticazione

Completato

Per impostazione predefinita, l'accesso alle risorse dei Servizi di Azure AI è limitato tramite chiavi di sottoscrizione. La gestione dell'accesso a queste chiavi è una considerazione fondamentale per la sicurezza.

Rigenerare le chiavi

È consigliabile rigenerare regolarmente le chiavi proteggersi dal rischio che le chiavi vengano condivise con utenti non autorizzati o siano accessibili dagli stessi. È possibile rigenerare le chiavi usando il portale di Azure o usandoaz cognitiveservices account keys regenerate il comando dell'interfaccia della riga di comando di Azure.

Ogni servizio di Azure AI viene fornito con due chiavi, che consentono di rigenerare le chiavi senza interruzione del servizio. A tale scopo:

  1. Se si usano entrambe le chiavi nell'ambiente di produzione, modificare il codice in modo che sia in uso una sola chiave. Per esempio, configurare tutte le applicazioni di produzione per usare la chiave 1.
  2. Rigenerare la chiave 2.
  3. Impostare tutte le applicazioni di produzione in modo da usare la chiave 2 appena rigenerata.
  4. Rigenerare la chiave 1.
  5. Aggiornare infine il codice di produzione per usare la nuova chiave 1.

Ad esempio, per rigenerare le chiavi nel portale di Azure, è possibile eseguire le operazioni seguenti:

  1. Nel portale di Azure passare al riquadro Chiavi e endpoint della risorsa.
  2. Selezionare Rigenera chiave 1 o selezionareRigenera chiave 2, a seconda di quale si vuole rigenerare al momento.

Proteggere le chiavi con Azure Key Vault

Azure Key Vault è un servizio di Azure in cui è possibile archiviare in modo sicuro i segreti, ad esempio password e chiavi. L'accesso all'insieme di credenziali delle chiavi viene concesso a entità di sicurezza, che è possibile considerare le identità utente autenticate usando l'ID Microsoft Entra. Gli amministratori possono assegnare un'entità di sicurezza a un'applicazione (nel qual caso è nota come entità servizio) per definire un'identità gestita per l'applicazione. L'applicazione può quindi usare questa identità per accedere all'insieme di credenziali delle chiavi e recuperare un segreto a cui ha accesso. Il controllo dell'accesso al segreto in questo modo riduce al minimo il rischio che venga compromesso dall'essere hard-coded in un'applicazione o salvato in un file di configurazione.

È possibile archiviare le chiavi di abbonamento per una risorsa dei servizi di intelligenza artificiale in Azure Key Vault e assegnare un'identità gestita alle applicazioni client che devono usare il servizio. Le applicazioni possono quindi recuperare la chiave in base alle esigenze dall'insieme di credenziali delle chiavi, senza il rischio di esporla a utenti non autorizzati.

Diagram showing Azure AI services credentials retrieved from Azure Key Vault.

Autenticazione basata su token

Quando si usa l'interfaccia REST, alcuni servizi di intelligenza artificiale supportano (o addirittura richiedono) l'autenticazione basata su token. In questi casi, la chiave di sottoscrizione viene presentata in una richiesta iniziale per ottenere un token di autenticazione, che ha un periodo di validità di 10 minuti. Le richieste successive devono presentare il token per convalidare che il chiamante sia stato autenticato.

Suggerimento

Quando si usa un SDK, le chiamate per ottenere e presentare un token vengono gestite automaticamente dall'SDK.

Autenticazione dell'ID Microsoft Entra

I servizi di intelligenza artificiale di Azure supportano l'autenticazione Microsoft Entra ID, consentendo di concedere l'accesso a specifiche entità servizio o identità gestite per app e servizi in esecuzione in Azure.

Nota

Per altre informazioni sulle opzioni di autenticazione per i servizi di Azure IA, vedere la documentazione di Servizi di Azure IA.

Esistono diversi modi per eseguire l'autenticazione nei servizi di intelligenza artificiale di Azure usando Microsoft Entra ID, tra cui:

Eseguire l'autenticazione con le entità servizio

Il processo complessivo per l'autenticazione nei servizi di intelligenza artificiale di Azure tramite entità servizio è il seguente:

Creare un sottodominio personalizzato

È possibile creare un sottodominio personalizzato in modi diversi, tra cui il portale di Azure, l'interfaccia della riga di comando di Azure o PowerShell.

Ad esempio, è possibile creare un sottodominio usando PowerShell in Azure Cloud Shell. A tale scopo, selezionare l’abbonamento usando il comando seguente:

Set-AzContext -SubscriptionName <Your-Subscription-Name>

Creare quindi la risorsa dei servizi di intelligenza artificiale di Azure specificando un sottodominio personalizzato eseguendo le operazioni seguenti:

$account = New-AzCognitiveServicesAccount -ResourceGroupName <your-resource-group-name> -name <your-account-name> -Type <your-account-type> -SkuName <your-sku-type> -Location <your-region> -CustomSubdomainName <your-unique-subdomain-name>

Una volta creato, il nome del sottodominio verrà restituito nella risposta.

Assegnare un ruolo a un'entità servizio

È stata creata una risorsa di Intelligenza artificiale di Azure collegata a un sottodominio personalizzato. Successivamente, si assegna un ruolo a un'entità servizio.

Per iniziare, è necessario registrare un'applicazione. A tale scopo, eseguire il comando riportato di seguito:

$SecureStringPassword = ConvertTo-SecureString -String <your-password> -AsPlainText -Force

$app = New-AzureADApplication -DisplayName <your-app-display-name> -IdentifierUris <your-app-uris> -PasswordCredentials $SecureStringPassword

Verrà creata la risorsa dell'applicazione.

Usare quindi il comando New-AzADServicePrincipal per creare un'entità servizio e specificare l'ID dell'applicazione:

New-AzADServicePrincipal -ApplicationId <app-id>

Infine, si assegna il ruolo Utenti servizi cognitivi all'entità servizio eseguendo:

New-AzRoleAssignment -ObjectId <your-service-principal-object-id> -Scope <account-id> -RoleDefinitionName "Cognitive Services User"

Eseguire l'autenticazione con identità gestite

Le identità gestite sono disponibili in due tipi:

  • Identità gestita assegnata dal sistema: Viene creata e collegata un'identità gestita a una risorsa specifica, ad esempio una macchina virtuale che deve accedere ai servizi di intelligenza artificiale di Azure. Quando la risorsa viene eliminata, viene eliminata anche l'identità.
  • identità gestita assegnata dall'utente: L'identità gestita viene creata per essere usata da più risorse invece di essere associata a una. Esiste indipendentemente da qualsiasi singola risorsa.

È possibile assegnare ogni tipo di identità gestita a una risorsa durante la creazione della risorsa o dopo che è già stata creata.

Si supponga, ad esempio, di avere una macchina virtuale in Azure che si intende usare per l'accesso giornaliero ai servizi di intelligenza artificiale di Azure. Per abilitare un'identità assegnata dal sistema per questa macchina virtuale, assicurarsi che l'account Azure abbia il ruoloCollaboratore macchina virtuale. È quindi possibile eseguire il comando seguente usando l'interfaccia della riga di comando di Azure nel terminale di Azure Cloud Shell:

az vm identity assign -g <my-resource-group> -n <my-vm>

È quindi possibile concedere l'accesso ai servizi di intelligenza artificiale di Azure nel portale di Azure usando quanto segue:

  1. Passare alla risorsa dei servizi di intelligenza artificiale di Azure a cui si vuole concedere l'accesso all'identità gestita della macchina virtuale.

  2. Nel pannello di panoramica, selezionare Controllo di accesso (IAM).

  3. Selezionare Aggiungi e quindi selezionare Aggiungi assegnazione di ruolo.

  4. Nella scheda Ruolo, selezionare Collaboratore Servizi cognitivi.

    A screenshot showing the Add role assignment tab.

  5. Nella scheda Membri, selezionare Identità gestita per Assegna accesso a. Selezionare quindi + Seleziona membri.

    A screenshot showing the Select managed identities pane.

  6. Assicurarsi che l’abbonamento sia selezionato nell'elenco a discesa Abbonamento. In Identità gestita, selezionare Macchina virtuale.

  7. Selezionare la macchina virtuale nell'elenco e selezionare Seleziona.

  8. Infine, selezionare Rivedi e assegna per la revisione e quindi rivedi e assegna di nuovo per completare.

Nota

Per altre informazioni su come configurare le identità gestite, incluse le identità gestite dall'utente, vedere Configurare le identità gestite per le risorse di Azure nella macchina virtuale di Azure usando l'interfaccia della riga di comando di Azure