Considerazioni sulla sicurezza in Azure Cosmos DB
La sicurezza dei dati è una responsabilità condivisa tra l'utente, il cliente e il provider di database. A seconda del provider di database scelto, l'entità della responsabilità di ognuno può variare. Se si sceglie una soluzione locale, è necessario garantire tutto ciò che è indispensabile, dalla protezione degli endpoint alla sicurezza fisica dell'hardware, un'attività tutt'altro che semplice. Se si sceglie un provider di database cloud PaaS (piattaforma distribuita come servizio), ad esempio Azure Cosmos DB, le preoccupazioni si riducono considerevolmente.
Per altre informazioni, vedere Responsabilità condivisa nel cloud.
Elenco di controllo
È consigliabile usare l'elenco di controllo dei requisiti seguente per confrontare i sistemi di database:
- Sicurezza di rete e impostazioni del firewall
- Autenticazione utente e controlli utente con granularità fine
- Possibilità di replicare i dati a livello globale per gli errori locali
- Possibilità di effettuare il failover da un data center a un altro
- Replica dei dati locali all'interno di un data center
- Backup automatici dei dati
- Ripristino dei dati eliminati dai backup
- Possibilità di proteggere e isolare i dati sensibili
- Monitoraggio per identificare gli attacchi
- Risposte predefinite agli attacchi
- Possibilità per i dati di seguire le restrizioni di governance dei dati in base al geo-fencing
- Protezione fisica dei server in data center protetti
- Certificazioni
Anche se può sembrare ovvio, le recenti violazioni di database su larga scala ricordano l'importanza strategica dei semplici requisiti seguenti:
- Mantenere aggiornati i server con patch applicate
- Crittografia HTTPS/TLS predefinita
- Account amministrativi con password complesse
Protezione del database con Azure Cosmos DB
Azure Cosmos DB protegge il database per impostazione predefinita con molte funzionalità predefinite per il servizio e Azure di grandi dimensioni.
Requisito di sicurezza | Approccio alla sicurezza di Azure Cosmos DB |
---|---|
Sicurezza di rete | L'uso di un firewall IP è il primo livello di protezione per il database. Azure Cosmos DB supporta controlli di accesso IP basati su criteri per il supporto del firewall in ingresso. I controlli di accesso basati su IP sono simili alle regole del firewall usate dai sistemi di database tradizionali. Tuttavia, vengono espanse in modo che un account di database Azure Cosmos DB sia accessibile solo da un set approvato di computer o servizi cloud. Per altre informazioni, vedere Supporto firewall per Azure Cosmos DB. Azure Cosmos DB consente di abilitare un indirizzo IP specifico (168.61.48.0), un intervallo di indirizzi IP (168.61.48.0/8) e combinazioni di indirizzi IP e intervalli. Azure Cosmos DB blocca tutte le richieste provenienti da computer esterni a questo elenco elementi consentiti. Le richieste provenienti da computer e servizi cloud approvati devono quindi completare il processo di autenticazione per ottenere il controllo di accesso alle risorse. È possibile usare i tag del servizio di rete virtuale per ottenere l'isolamento rete e proteggere le risorse Azure Cosmos DB dalla rete Internet generale. Quando si creano regole di sicurezza, usare i tag del servizio anziché indirizzi IP specifici. Se si specifica il nome del tag del servizio (ad esempio AzureCosmosDB ) nel campo di origine o di destinazione appropriato di una regola, è possibile consentire o negare il traffico per il servizio corrispondente. |
Autorizzazione | Azure Cosmos DB usa HMAC (Hash Message Authentication Code) per l'autorizzazione. Per ogni richiesta viene generato un hash usando la chiave dell'account privata e il successivo hash con codifica Base 64 viene inviato con ogni chiamata ad Azure Cosmos DB. Per convalidare la richiesta, Azure Cosmos DB usa la chiave privata e le proprietà corrette per generare un hash, quindi confronta il valore con quello della richiesta. Se i due valori corrispondono, l'operazione viene autorizzata e la richiesta viene elaborata. Se non corrispondono, si verifica un errore di autorizzazione e la richiesta viene rifiutata. È possibile usare una chiave primaria, consentendo l'accesso con granularità fine a una risorsa, ad esempio un documento. Per altre informazioni, vedere Proteggere l'accesso alle risorse in Azure Cosmos DB. |
Utenti e autorizzazioni | Usando la chiave primaria per l'account, è possibile creare risorse utente e risorse autorizzazione per ogni database. Un token della risorsa viene associato a un'autorizzazione in un database e determina se l'utente ha accesso (lettura/scrittura, sola lettura o nessun accesso) a una risorsa dell'applicazione nel database. Le risorse dell'applicazione includono contenitori, documenti, allegati, stored procedure, trigger e funzioni definite dall'utente. Il token della risorsa viene quindi usato durante l'autenticazione per concedere o negare l'accesso alla risorsa. Per altre informazioni, vedere Proteggere l'accesso alle risorse in Azure Cosmos DB. |
Integrazione di Active Directory (controllo degli accessi in base al ruolo di Azure) | È anche possibile fornire o limitare l'accesso all'account, al database, al contenitore e alle offerte (velocità effettiva) di Azure Cosmos DB usando il controllo di accesso (IAM) nel portale di Azure. IAM fornisce il controllo degli accessi in base al ruolo e si integra con Active Directory. È possibile usare ruoli predefiniti o ruoli personalizzati per singoli utenti e gruppi. |
Replica globale | Azure Cosmos DB offre la distribuzione globale chiavi in mano, che consente di replicare i dati in qualsiasi data center di Azure nel mondo in modo predefinito. La replica globale offre una scalabilità globale e l'accesso a bassa latenza ai dati ovunque nel mondo. Nell'ambito della sicurezza, la replica globale assicura la protezione dei dati da errori a livello di area. Per altre informazioni, vedere Distribuire i dati a livello globale. |
Failover a livello di area | Se si replicano i dati in più di un data center, Azure Cosmos DB esegue automaticamente il roll over delle operazioni se un data center a livello di area diventa offline. È possibile creare un elenco con priorità di aree di failover usando le aree in cui i dati vengono replicati. Per altre informazioni, vedere Failover a livello di area in Azure Cosmos DB. |
Replica locale | Anche in un singolo data center, Azure Cosmos DB replica automaticamente i dati per la disponibilità elevata consentendo di scegliere i livelli di coerenza. Questa replica garantisce un contratto di servizio di disponibilità del 99,99% per tutti gli account di area singola e tutti gli account in più aree con coerenza rilassata e la disponibilità in lettura del 99,999% in tutti gli account di database in più aree. |
Backup online automatizzati | I backup dei database Azure Cosmos DB vengono eseguiti periodicamente e salvati in un archivio con ridondanza geografica. Per altre informazioni, vedere Backup online automatico e ripristino con Azure Cosmos DB. |
Ripristinare i data eliminati | È possibile usare i backup online automatizzati per ripristinare i dati eliminati accidentalmente fino a circa 30 giorni dopo l'evento. Per altre informazioni, vedere Backup online automatico e ripristino con Azure Cosmos DB. |
Proteggere e isolare i dati sensibili | Tutti i dati nelle aree elencate nelle novità ora vengono crittografati. I dati personali e altri dati riservati possono essere isolati in contenitori specifici e l'accesso in lettura/scrittura o in sola lettura può essere limitato a utenti specifici. |
Monitorare gli attacchi | Usando la registrazione di controllo e i log attività, è possibile monitorare l'account per identificare attività normali e anomale. È possibile visualizzare quali operazioni sono state eseguite sulle risorse, ad esempio chi ha avviato l'operazione, quando si è verificata l'operazione, lo stato dell'operazione e molto altro. |
Rispondere agli attacchi | Dopo aver contattato supporto tecnico di Azure per segnalare un potenziale attacco, inizia un processo di risposta agli eventi imprevisti in cinque passaggi. L'obiettivo è ripristinare la normale sicurezza e operatività del servizio. Il processo ripristina i servizi il più rapidamente possibile dopo il rilevamento di un problema e l'avvio di un'indagine. Per altre informazioni, vedere Risposta alla sicurezza di Microsoft Azure nel cloud. |
Definizione del geo-fencing | Azure Cosmos DB assicura la governance dei dati per le aree sovrane, ad esempio Germania, Cina e US Government. |
Strutture protette | I dati in Azure Cosmos DB vengono archiviati in unità SSD nei data center protetti di Azure. Per altre informazioni, vedere Data center globali Microsoft. |
Crittografia HTTPS & TLS | Tutte le connessioni ad Azure Cosmos DB supportano HTTPS. Azure Cosmos DB supporta i livelli TLS (Transport Layer Security) fino a 1.2 (incluso). È possibile imporre un livello TLS minimo sul lato server. A tale scopo, vedere la guida self-service Imposizione self-service della versione minima di TLS in Azure Cosmos DB. |
Crittografia dei dati inattivi | Tutti i dati archiviati in Azure Cosmos DB vengono crittografati quando sono inattivi. Per altre informazioni, vedere Crittografia dei dati inattivi in Azure Cosmos DB. |
Server con patch | Come database gestito, Azure Cosmos DB applica automaticamente patch e gestisce il server per conto dell'utente eliminando la necessità di attività di manutenzione manuale. |
Account amministrativi con password complesse | Non è possibile avere un account amministrativo senza password in Azure Cosmos DB. La sicurezza usa TLS e l'autenticazione basata su segreti HMAC è supportata per impostazione predefinita. |
Certificazioni di sicurezza e protezione dei dati | Per l'elenco più aggiornato delle certificazioni, consultare la conformità di Azure e il documento sulla conformità di Azure più recente con tutte le certificazioni di Azure, incluso Azure Cosmos DB. |