Eseguire l'autenticazione con Azure Key Vault
L'autenticazione con Key Vault funziona in combinazione con Microsoft Entra ID, che è responsabile dell'autenticazione dell'identità di una determinata entità di sicurezza.
Per le applicazioni esistono due modi per ottenere un'entità servizio:
Abilitare un'identità gestita assegnata dal sistema per l'applicazione. Con l'identità gestita, Azure gestisce internamente l'entità servizio dell'applicazione e autentica automaticamente l'applicazione per altri servizi di Azure. L'identità gestita è disponibile per le applicazioni distribuite in un'ampia gamma di servizi.
Se non è possibile usare l'identità gestita, registrare l'applicazione con il tenant di Microsoft Entra in uso. La registrazione crea anche un secondo oggetto applicazione che identifica l'app in tutti i tenant.
Nota
È consigliabile usare un'identità gestita assegnata dal sistema.
Di seguito sono riportate le informazioni sull'autenticazione per Key Vault senza usare un'identità gestita.
Autenticazione a Key Vault nel codice dell'applicazione
L'SDK di Key Vault usa la libreria client di identità di Azure, che consente di eseguire senza problemi l'autenticazione a Key Vault tra ambienti con lo stesso codice. La tabella seguente fornisce informazioni sulle librerie client delle identità di Azure:
.NET | Python | Java | JavaScript |
---|---|---|---|
Azure Identity SDK .NET | Azure Identity SDK Python | Azure Identity SDK Java | Azure Identity SDK JavaScript |
Autenticazione a Key Vault con REST
I token di accesso devono essere inviati al servizio usando l'intestazione dell'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 un token non viene accettato dal servizio, viene restituito un errore HTTP 401
al client e includerà l'intestazione WWW-Authenticate
, ad esempio:
401 Not Authorized
WWW-Authenticate: Bearer authorization="…", resource="…"
I parametri nell'intestazione WWW-Authenticate
sono i seguenti:
authorization: indirizzo del servizio di autorizzazione OAuth2 che può 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.