Che cos'è Azure Key Vault?

Completato

Azure Key Vault è un archivio segreto: un servizio cloud centralizzato per l'archiviazione dei segreti delle app, ad esempio valori di configurazione come password e stringa di connessione che devono rimanere sempre protetti. Key Vault consente di controllare i segreti delle app mantenendoli in un'unica posizione centrale. Fornisce accesso sicuro, controllo delle autorizzazioni e registrazione degli accessi.

I vantaggi principali dell'uso di Key Vault sono:

  • Separazione delle informazioni sensibili dell'app da altre configurazioni e codice, riducendo il rischio di perdite accidentali
  • Accesso ai segreti limitato con criteri di accesso su misura per le app e gli utenti che hanno necessità di usarli
  • Archiviazione privata centralizzata, ovvero le modifiche necessarie devono essere apportate solo in un'unica posizione
  • Accesso a funzionalità di registrazione e monitoraggio per una migliore comprensione di come e quando avvengono gli accessi ai segreti

I segreti vengono archiviati in singoli insiemi di credenziali, ovvero le risorse di Azure usate per raggruppare i segreti. L'accesso segreto e la gestione dell'insieme di credenziali viene eseguita usando un'API REST. Tutti gli strumenti di gestione di Azure e le librerie client disponibili per molti linguaggi comuni supportano anche questa API. Ogni insieme di credenziali ha un URL univoco in cui è ospitata la relativa API.

Importante

Il servizio Key Vault è stato progettato per archiviare i segreti della configurazione per le app server. Non è destinato all'archiviazione dei dati appartenenti agli utenti dell'app. Non deve essere usato nella parte lato client di un'app. Questo comportamento si riflette nelle caratteristiche di prestazioni, nell'API e nel modello di costo.

I dati utente dovranno essere archiviati altrove, ad esempio in un database SQL di Azure con Transparent Data Encryption o in un account di archiviazione con la crittografia del servizio di archiviazione. I segreti usati dall'app per accedere a tali archivi dati possono essere conservati in Key Vault.

Informazioni sui segreti in Key Vault

In Key Vault, un segreto è una coppia di stringhe nome-valore. I nomi dei segreti devono avere una lunghezza compresa tra 1 e 127 caratteri, contenere solo caratteri alfanumerici e trattini ed essere univoci all'interno di un insieme di credenziali. Il valore di un segreto può essere qualsiasi stringa UTF-8 di dimensioni fino a 25 KB.

Suggerimento

I nomi dei segreti non devono necessariamente essere considerati a propria volta segreti. Possono essere archiviati nella configurazione dell'app, se necessario per l'implementazione. Lo stesso vale per gli URL e i nomi degli insiemi di credenziali.

Nota

Key Vault supporta due tipi aggiuntivi di segreti oltre le stringhe: chiavi e certificati. Key Vault offre funzionalità utili specifiche per i relativi casi d'uso. Questo modulo non illustra tali funzionalità e si concentra sui segreti stringa, come le password e le stringhe di connessione.

Autenticazione e autorizzazioni per gli insiemi di credenziali

L'API di Key Vault usa Microsoft Entra ID per autenticare utenti e app. I criteri di accesso agli insiemi di credenziali sono basati su azioni e vengono applicati in un intero insieme di credenziali. Ad esempio, un'app con Get (leggere i valori dei segreti), List (elencare i nomi di tutti i segreti) e Set (creare o aggiornare i valori dei segreti) a un insieme di credenziali può creare segreti, elencare tutti i nomi dei segreti e ottenere e impostare tutti i valori dei segreti in tale insieme di credenziali.

Tutte le azioni eseguite in un insieme di credenziali richiedono l'autenticazione e l'autorizzazione. Non è possibile concedere alcun tipo di accesso anonimo.

Suggerimento

Quando si concede l'accesso all'insieme di credenziali a sviluppatori e app, concedere solo il set minimo di autorizzazioni necessarie. Le limitazioni delle autorizzazioni consentono di evitare gli incidenti causati da bug nel codice e di ridurre l'impatto del furto di credenziali o dell'inserimento di codice dannoso nell'app.

Gli sviluppatori necessitano Get in genere solo di autorizzazioni e List per un insieme di credenziali dell'ambiente di sviluppo. Alcuni tecnici necessitano di autorizzazioni complete per modificare e aggiungere segreti, quando necessario.

Per le app, spesso sono necessarie solo Get le autorizzazioni. Alcune app potrebbero richiedere List a seconda del modo in cui viene implementata l'app. L'app nell'esercizio di questo modulo richiede l'autorizzazione List a causa della tecnica usata per leggere i segreti dall'insieme di credenziali.