Introduzione
Per comprendere cosa può andare storto con la gestione dei segreti di configurazione di un'app, basta leggere la storia dello sviluppatore senior Steve.
Steve lavorava da alcune settimane presso un'azienda di distribuzione di alimenti per animali domestici. Stava esplorando i dettagli dell'app Web dell'azienda, un'app Web .NET Core che usa un database SQL di Azure per archiviare le informazioni sugli ordini e API di terze parti per la fatturazione con carta di credito e il mapping degli indirizzi dei clienti, quando ha incollato accidentalmente la stringa di connessione per il database degli ordini in un forum pubblico.
Alcuni giorni dopo, il reparto contabilità ha notato che l'azienda stava consegnando una quantità considerevole di cibo per animali domestici che non era stato pagato. Qualcuno aveva usato la stringa di connessione per accedere al database e creare gli ordini aggiornando direttamente il database.
Quando si è reso conto del suo errore, Steve ha cambiato velocemente la password del database per bloccare l'attacco. Dopo che Steva aveva cambiato la password, il sito Web aveva iniziato a restituire errori agli utenti. Il sever dell'app necessitava di una configurazione aggiornata con una nuova password. Steve effettuò l'accesso direttamente al server applicazioni e cambiò la configurazione dell'app invece di distribuirla nuovamente, ma il server continuava a mostrare richieste non riuscite.
Steve non aveva pensato che le varie istanze dell'app venivano eseguite su server diversi. Aveva cambiato la configurazione solo di una di esse. Era necessaria una ridistribuzione completa, che ha causato altri 30 minuti di inattività.
Fortunatamente per Steve, il reparto contabilità è stato in grado di correggere gli errori in modo rapido e l'impatto è stato limitato solo agli ordini di un giorno. Steve potrebbe non essere così fortunato in futuro e deve quindi trovare un modo per migliorare la sicurezza e la gestibilità dell'app.
La perdita di una stringa di connessione di database, di una chiave API o di una password di servizio può essere catastrofica. Una perdita potrebbe potenzialmente portare al furto o alla cancellazione di dati, a danni finanziari, tempi di inattività delle app e danni irreparabili ai beni aziendali e alla reputazione. Sfortunatamente, i valori segreti spesso devono essere implementati simultaneamente in più luoghi e modificati in momenti non opportuni. Ed è necessario archiviarli da qualche parte. Informazioni su come Steve può ridurre i rischi e migliorare la sicurezza e la gestibilità dell'app con Azure Key Vault.
Obiettivi di apprendimento
Contenuto del modulo:
- Esplorare i tipi di informazioni che si possono archiviare in Azure Key Vault.
- Creare un Azure Key Vault e usarlo per archiviare i valori di configurazione dei segreti.
- Consentire l'accesso in sicurezza ad Azure Key Vault da un'app Web di Servizio app di Azure con le identità gestite per le risorse di Azure.
- Implementare un'app Web che consente di recuperare i segreti da Azure Key Vault.