Eseguire l'autenticazione in Azure Key Vault
L'autenticazione con Key Vault funziona con Microsoft Entra ID, che è responsabile dell'autenticazione dell'identità di una determinata entità di sicurezza. Un'entità di sicurezza è qualsiasi elemento che può richiedere l'accesso alle risorse di Azure. Sono inclusi:
- Utenti: persone reali con account in Microsoft Entra ID.
- Gruppi: raccolte di utenti. Le autorizzazioni concesse al gruppo si applicano a tutti i relativi membri.
- Principali di servizio: rappresentano app o servizi (non persone). Si pensi a un account utente per un'app.
Per le applicazioni esistono due modi principali per ottenere un'entità servizio:
Usare un'identità gestita (scelta consigliata): Azure crea e gestisce automaticamente il principale del servizio. L'app può accedere in modo sicuro ad altri servizi di Azure senza archiviare le credenziali. Funziona con servizi come Servizio app, Funzioni di Azure e Macchine virtuali.
Registrare l'app manualmente: Registrare l'app in Microsoft Entra ID. In questo modo viene creata un'entità servizio e un oggetto app che identifica l'app in tutti i tenant.
Annotazioni
È consigliabile usare un'identità gestita assegnata dal sistema.
Autenticazione a Key Vault nel codice dell'applicazione
Key Vault SDK usa la libreria client di Identità di Azure, che consente di eseguire facilmente l'autenticazione a Key Vault in ambienti con lo stesso codice. La tabella seguente fornisce informazioni sulle librerie client di Identità di Azure:
| .NET | Pitone | Giava | JavaScript |
|---|---|---|---|
| Azure Identity SDK .NET | Azure Identity SDK Python | Azure Identity SDK Java | Azure Identity SDK JavaScript |
Autenticazione in Key Vault con REST
I token di accesso devono essere inviati al servizio usando l'intestazione di autorizzazione HTTP:
PUT /keys/MYKEY?api-version=<api_version> HTTP/1.1
Authorization: Bearer <access_token>
Quando non viene fornito un token di accesso o quando il servizio rifiuta un token, viene restituito un HTTP 401 errore al client e include l'intestazione WWW-Authenticate , ad esempio:
401 Not Authorized
WWW-Authenticate: Bearer authorization="…", resource="…"
I parametri nell'intestazione WWW-Authenticate sono:
authorization: indirizzo del servizio di autorizzazione OAuth2 che potrebbe essere usato per ottenere un token di accesso per la richiesta.
resource: nome della risorsa (
https://vault.azure.net) da usare nella richiesta di autorizzazione.