Il progetto sanitario per l'intelligenza artificiale esegue il bootstrap dell'intelligenza artificiale e l'apprendimento automatico nell'organizzazione usando Azure. Questo articolo descrive come installare il progetto e quali sono i relativi componenti. Verrà quindi illustrato come usare la soluzione per eseguire un esperimento di intelligenza artificiale e machine learning che stima la durata del soggiorno di un paziente.
Architettura
La figura seguente mostra i prodotti Azure installati. Ogni risorsa o servizio fornisce un componente della soluzione di elaborazione di intelligenza artificiale e Machine Learning, incluse le problematiche trasversali relative all'identità e alla sicurezza.
Scaricare un file di Visio di questa architettura.
Dettagli dello scenario
Le organizzazioni sanitarie si rendono conto che l'intelligenza artificiale e l'apprendimento automatico possono essere strumenti preziosi per molte parti dell'azienda, dal miglioramento dei risultati dei pazienti alla semplificazione delle operazioni quotidiane. Spesso, le organizzazioni sanitarie non hanno il personale tecnologico per implementare sistemi di intelligenza artificiale e Machine Learning. Per migliorare questa situazione e ottenere rapidamente soluzioni di intelligenza artificiale e Machine Learning in Azure, Microsoft ha creato il progetto di intelligenza artificiale per il settore sanitario di Azure. Usando il progetto, viene illustrato come iniziare a usare rapidamente intelligenza artificiale e Machine Learning in modo sicuro, conforme, sicuro e affidabile.
Vantaggi
Il progetto è stato creato per fornire alle organizzazioni sanitarie indicazioni e una guida introduttiva sulle architetture PaaS (Piattaforma distribuita come servizio) appropriate. Il progetto supporta l'intelligenza artificiale e l'apprendimento automatico in ambienti sanitari altamente regolamentati. La soluzione garantisce che il sistema rispetti i requisiti di conformità HIPAA e HITRUST.
Il personale IT delle organizzazioni sanitarie ha poco tempo da dedicare ai nuovi progetti, in particolare a quelli che prevedono l'apprendimento di una nuova tecnologia complessa. Il progetto consente al personale tecnico di acquisire rapidamente familiarità con Azure e molti dei relativi servizi risparmiando i costi di una curva di apprendimento. Dopo aver installato il progetto, il personale tecnico può apprendere da esso come implementazione di riferimento. Il personale può quindi usare tale conoscenza per estendere le funzionalità del progetto oppure creare una nuova soluzione di intelligenza artificiale e Machine Learning modellata dopo il progetto.
Il progetto consente all'organizzazione di funzionare rapidamente con nuove funzionalità di intelligenza artificiale e Machine Learning. Con l'intelligenza artificiale e l'apprendimento automatico, il personale tecnico è pronto per eseguire esperimenti di intelligenza artificiale e machine learning usando i dati raccolti tramite varie origini. Ad esempio, i dati potrebbero esistere già in istanze precedenti di sepsi e i dati potrebbero esistere tramite molte delle variabili associate rilevate per i singoli pazienti con la condizione. Usando questi dati in formato anonimo, il personale tecnico può cercare indicatori di potenziale sepsi nei pazienti. Possono quindi aiutare a modificare le procedure operative per evitare meglio la condizione.
Il progetto offre i dati e il codice di esempio per imparare a stimare la durata della degenza di un paziente. Questo è un caso d'uso di esempio che può essere usato per apprendere i componenti della soluzione di intelligenza artificiale e Machine Learning.
Piattaforma o infrastruttura distribuita come servizio
Microsoft Azure offre i servizi PaaS e SaaS tra cui scegliere in base al proprio caso d'uso. Il progetto prevede l'uso dei servizi PaaS per la stima della durata della degenza in ospedale di un paziente. Il progetto di intelligenza artificiale per il settore sanitario di Azure offre tutto il necessario per creare un'istanza di una soluzione di intelligenza artificiale sicura e conforme e preconfigurata per le organizzazioni sanitarie. Il modello PaaS usato dal progetto installa e configura il progetto come soluzione completa.
Opzione PaaS
L'uso di un modello di servizi PaaS comporta una riduzione del costo totale di proprietà (TCO) perché non è disponibile hardware da gestire. L'organizzazione non ha la necessità di acquistare e gestire hardware o macchine virtuali. Il progetto usa esclusivamente servizi PaaS.
Questo riduce i costi di manutenzione di una soluzione locale e consente al personale tecnico di concentrarsi su attività strategiche anziché sull'infrastruttura. Il personale può anche spostare il pagamento per il calcolo e l'archiviazione dai budget delle spese di capitale ai budget delle spese operative. I costi di esecuzione di questo scenario di progetto sono determinati dall'utilizzo dei servizi a cui si aggiungono i costi di archiviazione dei dati.
Opzione IaaS
Anche se il progetto e questo articolo si concentrano sull'implementazione PaaS, è disponibile un'estensione open source al progetto che consente di usarlo in un ambiente IaaS (Infrastructure as a Service).
In un modello di hosting IaaS i costi per i clienti vengono addebitati in base ai tempi di attività delle macchine virtuali ospitate in Azure e in base alla potenza di elaborazione. Sebbene IaaS offra un maggior livello di controllo consentendo ai clienti di gestire le proprie macchine virtuali, i costi risultano in genere maggiori poiché sono basati sui tempi di attività delle macchine virtuali anziché sull'utilizzo. Inoltre, il cliente è responsabile della manutenzione delle macchine virtuali con l'applicazione di patch, la protezione dal malware e così via.
Il modello IaaS non rientra nell'argomento di questo articolo in cui viene descritta nello specifico una distribuzione PaaS del progetto.
Progetto di intelligenza artificiale e Machine Learning per il settore sanitario
Il progetto crea un punto iniziale per l'uso di questa tecnologia nel contesto di un'organizzazione sanitaria. Quando il progetto viene installato in Azure, vengono create tutte le risorse, i servizi e diversi account utente per supportare lo scenario di intelligenza artificiale e Machine Learning con attori, autorizzazioni e servizi appropriati.
Il progetto include un esperimento di intelligenza artificiale e machine learning per stimare la durata del soggiorno di un paziente, che può aiutare a prevedere il personale, i conteggi dei letti e altre logistica. Il pacchetto include gli script di installazione, il codice di esempio, i dati di test, il supporto per la sicurezza e la privacy e altro ancora.
Distribuire lo scenario
Risorse tecniche del progetto
Le risorse elencate in questa sezione sono tutte disponibili nel repository GitHub.
Esaminare le risorse primarie seguenti:
- Script PowerShell per la distribuzione, la configurazione e altre attività.
- Le istruzioni dettagliate per l'installazione includono come usare lo script di installazione.
- Domande frequenti complete
Gli argomenti correlati al modello includono l'identità e la sicurezza, entrambe particolarmente importanti nella gestione dei dati dei pazienti. I componenti della pipeline di Machine Learning sono visualizzati in questo grafico.
L'implementazione di un nuovo sistema nell'ambiente di un'organizzazione sanitaria regolamentata è un'operazione complessa. Ad esempio, garantire che tutti gli aspetti del sistema siano compatibili con HIPAA e certificabili HITRUST richiede più tempo rispetto allo sviluppo di una soluzione semplificata. Il progetto installa le autorizzazioni per l'identificazione e le risorse per semplificare queste complessità.
Il progetto offre anche altri script e dati usati per simulare e analizzare i risultati di ricovero o dimissione dei pazienti. Questi script consentono al personale di iniziare immediatamente a imparare a implementare l'intelligenza artificiale e l'apprendimento automatico usando la soluzione in uno scenario sicuro e isolato.
Risorse del progetto aggiuntive
Il progetto include materiale sussidiario e istruzioni molto utili per il personale tecnico e artefatti che consentono di creare un'installazione completamente funzionale. Vedere gli elementi aggiuntivi seguenti:
Un modello di rischio da usare con Microsoft Threat Modeling Tool. Il modello di rischio mostra i componenti della soluzione, i flussi di dati tra i componenti e i limiti di trust. Lo strumento può essere usato per la modellazione dei rischi per estendere il progetto di base o per ottenere informazioni sull'architettura di sistema dal punto di vista della sicurezza.
La matrice di responsabilità del cliente HITRUST è una cartella di lavoro di Excel. Questa risorsa mostra gli elementi che l'utente (il cliente) deve fornire, rispetto a quanto fornito da Microsoft, per ogni requisito nella matrice. Altre informazioni su questa matrice di responsabilità sono incluse in questo articolo, nella sezione relativa alla matrice di responsabilità del progetto "Sicurezza e conformità" > di questo documento.
Il documento tecnico hiTRUST health data and AI review esamina il progetto attraverso l'obiettivo dei requisiti da soddisfare per la certificazione HITRUST.
I dati sanitari HIPAA e la revisione dell'intelligenza artificiale esaminano l'architettura tenendo presente le normative HIPAA.
Queste risorse sono disponibili in GitHub.
Installare il progetto
Non c'è poco tempo per iniziare a funzionare con questa soluzione di progetto. È consigliabile conoscere gli script di PowerShell, ma sono disponibili istruzioni dettagliate per guidare l'installazione. In questo modo i tecnologi avranno successo nella distribuzione di questo progetto, indipendentemente dalle competenze di scripting.
Il personale tecnico può prevedere di installare il progetto in un periodo di tempo compreso tra 30 minuti e un'ora usando Azure.
Script di installazione
Il progetto offre materiale sussidiario utile per l'installazione. Il progetto include anche lo scripting per l'installazione e la disinstallazione dei servizi e delle risorse del progetto. Chiamare lo script di distribuzione PowerShell è un'operazione semplice. Prima di installare il progetto, alcuni dati devono essere raccolti e usati come argomenti per lo script deploy.ps1, come illustrato nel codice seguente.
.\deploy.ps1 -deploymentPrefix <prefix> `
-tenantId <tenant id> ` # also known as the Azure Active Directory (Azure AD) directory
-tenantDomain <tenant domain> `
-subscriptionId <subscription id> `
-globalAdminUsername <user id> ` # ID from your Azure AD account
-deploymentPassword <universal password> ` # applied to all new users and service accounts
-appInsightsPlan 1 # we want app insights set up
Ambiente di installazione
Importante! Non installare il progetto da un computer esterno ad Azure. È molto più probabile che l'installazione abbia esito positivo se si crea una macchina virtuale Windows 10 pulita (o altra macchina virtuale Windows) in Azure. Eseguire quindi gli script di installazione da questa posizione. In questo caso viene usata una macchina virtuale basata sul cloud per ridurre la latenza e consentire la creazione di un'installazione corretta.
Durante l'installazione, lo script chiama altri pacchetti da caricare e usare. Durante l'installazione da una macchina virtuale in Azure, il ritardo tra il computer di installazione e le risorse di destinazione sarà molto inferiore. Tuttavia, alcuni dei pacchetti di scripting scaricati sono ancora vulnerabili alla latenza perché i pacchetti di script si trovano all'esterno dell'ambiente Azure, il che può causare errori di timeout.
Risoluzione dei problemi: Errore di installazione
Il programma di installazione scarica alcuni pacchetti esterni durante l'installazione. In alcuni casi si verifica il timeout di una richiesta di risorse di script a causa di un ritardo tra il computer di installazione e il pacchetto. In questo caso sono disponibili due opzioni:
Eseguire nuovamente lo script di installazione senza modifiche. Il programma di installazione cerca le risorse già allocate e installa solo quelle necessarie. Anche se questa tecnica può funzionare, c'è un rischio che lo script di installazione tenterà di allocare le risorse già presenti. Ciò può causare un errore e l'installazione non verrà completata.
Eseguire lo script deploy.ps1, ma passare argomenti diversi per la disinstallazione dei servizi del progetto.
.\deploy.ps1 -clearDeploymentPrefix <prefix> `
-tenantId <value> `
-subscriptionId <value> `
-tenantDomain <value> `
-globalAdminUsername <value> `
-clearDeployment
Al termine della disinstallazione, modificare il prefisso nello script di installazione e provare a installare nuovamente. È possibile che il problema di latenza non si verifichi nuovamente. Se l'installazione non riesce durante il download dei pacchetti di script, eseguire nuovamente lo script di disinstallazione e quindi nuovamente il programma di installazione.
Dopo aver eseguito lo script di disinstallazione, gli elementi seguenti non saranno più presenti.
- Utenti installati dallo script di installazione
- Gruppi di risorse e relativi servizi, inclusa l'archiviazione dati
- Applicazione registrata con Azure AD
Si noti che l'insieme di credenziali delle chiavi viene mantenuto come "eliminazione temporanea" e mentre non viene visualizzato nel portale, non viene deallocato per 30 giorni. Ciò consente di ricostituire l'insieme di credenziali delle chiavi se necessario. Per altre informazioni sulle implicazioni di questa operazione e su come gestirla, vedere la sezione Insiemi di credenziali delle chiavi di questo articolo.
Reinstallare dopo una disinstallazione
Se è necessario reinstallare il progetto dopo una disinstallazione, è necessario modificare il prefisso nella distribuzione successiva perché l'insieme di credenziali delle chiavi disinstallato causerà un errore se non si modifica il prefisso. Altre informazioni sono descritte nella sezione Insiemi di credenziali delle chiavi di questo articolo.
Ruoli di amministratore obbligatori
La persona che installa il progetto deve trovarsi nel ruolo Amministratore globale in Azure AD. Anche l'account di installazione deve essere un amministratore della sottoscrizione di Azure in uso. Se la persona che esegue l'installazione non si trova in entrambi questi ruoli, l'installazione avrà esito negativo.
Inoltre, l'installazione non è progettata per l'uso delle sottoscrizioni MSDN, a causa della stretta integrazione con Azure AD. È necessario usare un account di Azure standard. Se necessario, ottenere una versione di valutazione gratuita con credito da spendere per l'installazione della soluzione del progetto e l'esecuzione delle relative demo.
Aggiunta di altre risorse
L'installazione del progetto di Azure non include più servizi rispetto a quelli necessari per implementare il caso d'uso di Intelligenza artificiale e Machine Learning. Tuttavia, è possibile aggiungere più risorse o servizi all'ambiente Di Azure. Questa funzionalità lo rende un buon letto di test per iniziative aggiuntive o un punto di partenza per un sistema di produzione. Ad esempio, è possibile aggiungere altri servizi PaaS o risorse IaaS nella stessa sottoscrizione e Azure AD.
Le nuove risorse, ad esempio Azure Cosmos DB o una nuova Funzioni di Azure, possono essere aggiunte alla soluzione in quanto sono necessarie altre funzionalità di Azure. Quando si aggiungono nuove risorse o servizi, assicurarsi che siano configurati per soddisfare i criteri di sicurezza e privacy per rimanere conformi alle normative e ai criteri.
È possibile creare nuove risorse e servizi con le API REST di Azure, lo scripting di Azure PowerShell o usando il portale di Azure.
Uso di Machine Learning con il progetto
Il progetto è stato creato per illustrare uno scenario di Machine Learning con un algoritmo di regressione usato in un modello per stimare la durata del soggiorno di un paziente. Si tratta di una stima che viene spesso eseguita dagli operatori sanitari, utile per la pianificazione del personale e altre decisioni operative. È anche possibile rilevare le anomalie nel tempo quando la media della durata della degenza per una determinata patologia aumenta o diminuisce.
Inserimento dei dati di training
Dopo aver installato il progetto e quando tutti i servizi funzionano correttamente, è possibile inserire i dati da analizzare. Sono disponibili 100.000 record di pazienti per l'inserimento e l'uso con il modello. L'inserimento dei record dei pazienti è il primo passaggio dell'uso di Azure Machine Learning Studio per eseguire la durata del paziente dell'esperimento di soggiorno, come illustrato nell'immagine seguente.
Il progetto include un esperimento e i dati necessari per eseguire un processo di Machine Learning in Machine Learning Studio. L'esempio usa un modello con training in un esperimento per la stima della durata della degenza dei pazienti basato su numerose variabili.
In questo ambiente dimostrativo i dati inseriti nel database SQL di Azure sono privi di difetti o di elementi di dati mancanti. Questi dati sono puliti. Spesso, i dati non puliti vengono inseriti e devono essere "puliti" prima di poterli usare per l'alimentazione di un algoritmo di training di Machine Learning. Oppure deve essere pulito prima di usare i dati in un processo di Machine Learning. I dati mancanti o i valori non corretti nei dati influisceranno negativamente sui risultati dell'analisi di Machine Learning.
Machine Learning Studio
Molte organizzazioni sanitarie non hanno il personale tecnico per concentrarsi sui progetti di Machine Learning. Questo significa spesso che i dati preziosi vengono lasciati inutilizzati o costosi consulenti vengono portati in per creare soluzioni di Machine Learning.
Gli esperti di intelligenza artificiale e machine learning e quelli che apprendono sull'intelligenza artificiale e machine learning possono usare Machine Learning Studio per progettare esperimenti. Machine Learning Studio è un ambiente di progettazione basato sul Web usato per creare esperimenti di Machine Learning. Con Machine Learning Studio è possibile creare, eseguire il training, valutare e assegnare punteggi ai modelli, risparmiando tempo prezioso quando si usano strumenti diversi per sviluppare modelli.
Machine Learning Studio offre un set di strumenti completo per i carichi di lavoro di Machine Learning. Ciò significa che le persone nuove a Machine Learning possono iniziare a usare lo strumento e produrre risultati più velocemente rispetto ad altri strumenti di Machine Learning. Ciò consente al personale IT di concentrarsi sul fornire valore altrove e senza inserire uno specialista di Machine Learning. Questa capacità nell'organizzazione sanitaria significa che possono essere testate diverse ipotesi. I dati risultanti vengono quindi analizzati per informazioni dettagliate utilizzabili, ad esempio il modo in cui l'interventoismo dei pazienti offre moduli pre-scritti. Questi moduli devono essere usati in un'area di disegno di trascinamento della selezione, componendo visivamente flussi di lavoro di data science end-to-end come esperimenti.
Esistono moduli pre-scritti che incapsulano algoritmi specifici, ad esempio alberi delle decisioni, foreste decisionali, clustering, serie temporali, rilevamento anomalie e altri.
È possibile aggiungere moduli personalizzati a qualsiasi esperimento. I moduli personalizzati vengono scritti nel linguaggio R o in Python. Ciò consente di usare moduli esistenti e una logica personalizzata per creare un esperimento più complesso.
Machine Learning Studio consente di creare e usare modelli di apprendimento. Fornisce un set di esperimenti pre-progettati per l'uso in applicazioni comuni. È inoltre possibile aggiungere nuovi esperimenti a Machine Learning Studio senza modificare le risorse del progetto.
Per risparmiare tempo, visitare la raccolta di intelligenza artificiale di Azure per trovare soluzioni di Machine Learning pronte per settori specifici, tra cui l'assistenza sanitaria. Ad esempio, sono disponibili soluzioni ed esperimenti per l'individuazione del tumore della mammella e la previsione delle malattie cardiache.
Sicurezza e conformità
Sicurezza e conformità sono due degli aspetti più importanti da tenere presenti durante la creazione, l'installazione o la gestione di sistemi software nell'ambiente di un'organizzazione sanitaria. L'investimento effettuato nell'adozione di un sistema software può essere sminuito se non vengono soddisfatti i criteri di sicurezza necessari e le certificazioni.
Sebbene questo articolo e il progetto per le organizzazioni sanitarie siano incentrati sulla sicurezza tecnica, è necessario considerare anche altri tipi di sicurezza incluse la sicurezza fisica e quella amministrativa. Questi tipi di sicurezza non sono descritti in questo articolo che tratta specificatamente della sicurezza tecnica del progetto.
Principio dei privilegi minimi
Il progetto installa utenti non anonimi con ruoli per supportare e limitare gli accessi alle risorse nella soluzione. Questo modello è chiamato "principio dei privilegi minimi", un approccio all'accesso delle risorse nella progettazione del sistema. Il principio specifica che gli account utente e del servizio devono avere accesso solo ai sistemi e ai servizi necessari per un uso legittimo.
Questo modello di sicurezza garantisce la conformità del sistema ai requisiti HIPAA e HITRUST, rimuovendo i rischi per l'organizzazione.
Difesa avanzata
La progettazione di sistemi con più livelli di astrazione dei controlli di sicurezza usa la difesa in profondità (Defense in Depth). La difesa in profondità offre ridondanza di sicurezza a più livelli. Significa che non dipende da un singolo livello di difesa. Garantisce che gli account utente e del servizio abbiano accesso appropriato alle risorse, ai servizi e ai dati. Azure offre risorse di sicurezza e monitoraggio a ogni livello di architettura di sistema, per garantire la difesa approfondita per l'intero panorama delle tecnologie.
In un sistema software come quello installato dal progetto, un utente può accedere ma non avere l'autorizzazione per una risorsa specifica. Questo esempio di difesa in profondità viene fornito dal controllo degli accessi in base al ruolo (Ruolo basato su Controllo di accesso) e Azure AD, supportando il principio dei privilegi minimi.
L'autenticazione a due fattori è anche una forma di difesa tecnica approfondita e può essere facoltativamente inclusa quando il progetto è installato.
Insieme di credenziali chiave di Azure
Il servizio Key Vault viene usato per archiviare segreti, certificati e altri dati usati dalle applicazioni. Questi includono stringhe di database, URL dell'endpoint REST, chiavi API e altri elementi che gli sviluppatori non vogliono eseguire il hardcode in un'applicazione o distribuire in un file di .config.
Gli insiemi di credenziali sono accessibili dalle identità del servizio applicazioni o da altri account in con autorizzazioni di Azure AD. Ciò consente alle applicazioni che necessitano del contenuto dell'insieme di accedere ai segreti in fase di runtime.
Le chiavi archiviate in un insieme di credenziali possono essere crittografate o firmate e l'utilizzo delle chiavi può essere monitorato per eventuali problemi di sicurezza.
Se un insieme di credenziali delle chiavi viene eliminato, non viene rimosso immediatamente da Azure. Le implicazioni di questo argomento sono descritte nella sezione Insiemi di credenziali delle chiavi di questo articolo.
Application Insights
Le organizzazioni sanitarie hanno spesso sistemi mission-critical e importanti per la vita dei pazienti che devono essere affidabili e resilienti. Le anomalie o le interruzioni del servizio devono essere rilevate e corrette il prima possibile. Application Insights una tecnologia di gestione delle prestazioni delle applicazioni (APM, Application Performance Management) che esegue il monitoraggio delle applicazioni e invia avvisi quando si verificano problemi. Application Insights esegue il monitoraggio delle applicazioni in fase di runtime per la ricerca di errori o anomalie delle applicazioni. È progettato per lavorare con più linguaggi di programmazione e offre un set completo di funzionalità per garantire che le applicazioni siano integre e in esecuzione senza problemi.
Ad esempio, un'applicazione può avere una perdita di memoria. Application Insights consente di individuare e diagnosticare questo tipo di problemi tramite report completi e indicatori KPI monitorati. Application Insights è un servizio di gestione delle prestazioni delle applicazioni (APM) per gli sviluppatori di applicazioni.
Questa demo interattiva illustra le funzionalità chiave di Application Insights che includono un dashboard di monitoraggio completo che può essere usato dal personale tecnico dell'organizzazione sanitaria per monitorare lo stato e l'integrità dell'applicazione.
Microsoft Defender for Cloud
La sicurezza in tempo reale e il monitoraggio degli indicatori KPI sono fondamentali nelle applicazioni mission-critical. Defender for Cloud garantisce che le risorse di Azure siano protette e protette. Defender for Cloud è un servizio di protezione avanzata e di gestione della sicurezza. Con il Centro sicurezza, è possibile applicare i criteri di sicurezza sui carichi di lavoro, limitare l'esposizione alle minacce, rilevare e rispondere agli attacchi.
Defender for Cloud standard offre i servizi seguenti.
- Sicurezza ibrida: per ottenere una visualizzazione unificata della sicurezza in tutti i carichi di lavoro locali e sul cloud. Il servizio è particolarmente utile nelle reti cloud ibrido usate dalle organizzazioni sanitarie con Azure.
- Rilevamento avanzato delle minacce : Defender for Cloud usa l'analisi avanzata per ottenere un vantaggio sull'evoluzione degli attacchi informatici e attenuarli immediatamente.
- Controlli di accesso e applicazioni : blocca malware e altre applicazioni indesiderate applicando raccomandazioni per gli elenchi consentiti per carichi di lavoro specifici e basati su Machine Learning.
Nel contesto del progetto Health AI, Defender for Cloud analizza i componenti di sistema e fornisce un dashboard che mostra le vulnerabilità nei servizi e nelle risorse nella sottoscrizione. I singoli elementi del dashboard offrono visibilità alle problematiche della soluzione come indicato di seguito.
- Criteri e conformità
- Protezione della sicurezza delle risorse
- Protezione dalle minacce
Il dashboard di esempio seguente identifica 13 suggerimenti per migliorare le vulnerabilità delle minacce di sistema. Il dashboard mostra anche una conformità del 46% a HIPAA e ai criteri.
Il drill-down dei problemi di sicurezza con gravità elevata mostra le risorse interessate e la correzione necessaria per ogni risorsa, come illustrato più avanti in questa sezione.
La protezione manuale di tutte le risorse e le reti può richiedere al personale IT diverse ore. Con Defender for Cloud per identificare le vulnerabilità in un determinato sistema, il tempo può essere dedicato ad altre attività strategiche. Per molte delle vulnerabilità identificate, Defender for Cloud può applicare automaticamente l'azione di correzione e proteggere la risorsa senza che un amministratore deve approfondire il problema.
Defender for Cloud offre ancora di più grazie alle funzionalità di rilevamento e avviso delle minacce. Usare Defender for Cloud per monitorare reti, computer e servizi cloud per attacchi in ingresso e attività post-violazione per proteggere l'ambiente. Defender for Cloud raccoglie, analizza e integra automaticamente le informazioni e i log di sicurezza da un'ampia gamma di risorse di Azure.
Le funzionalità di Machine Learning in Defender for Cloud consentono di rilevare le minacce che gli approcci manuali non rivelano. Un elenco di avvisi di sicurezza con priorità viene visualizzato in Defender for Cloud insieme alle informazioni necessarie per analizzare rapidamente il problema insieme alle raccomandazioni su come correggere un attacco.
Sicurezza del controllo degli accessi in base al ruolo
Il controllo degli accessi in base al ruolo (RBAC, Role Based Access Control) consente o nega l'accesso alle risorse protette, talvolta con diritti specifici per ogni risorsa. In questo modo solo gli utenti autorizzati possono accedere ai componenti del sistema specificati. Ad esempio, un amministratore del database può avere accesso a un database contenente i dati crittografati dei pazienti, mentre un provider di assistenza sanitaria ha accesso solo ai record dei pazienti appropriati tramite l'applicazione che li visualizza. Si tratta in genere del sistema delle cartelle cliniche elettroniche. L'operatore sanitario non ha la necessità di accedere ai database, mentre l'amministratore del database non ha la necessità di visualizzare i dati della cartella clinica del paziente.
A tale scopo, il controllo degli accessi in base al ruolo (RBAC) è un componente della sicurezza di Azure e consente una gestione degli accessi specifica per le risorse di Azure. Le impostazioni specifiche per utente consentono agli amministratori della sicurezza e di sistema di essere molto precisi nelle autorizzazioni concesse a ogni singolo utente.
Matrice di responsabilità del progetto
La matrice di responsabilità del cliente di HITRUST è un documento di Excel che supporta l'implementazione e la documentazione dei controlli di sicurezza da parte dei clienti per i sistemi basati su Azure. La cartella di lavoro elenca i requisiti HITRUST pertinenti e descrive in che modo Microsoft e il cliente sono responsabili della conformità a ogni requisito.
È essenziale per i clienti, quando si creano sistemi in Azure, comprendere la responsabilità condivisa di implementare i controlli di sicurezza in un ambiente cloud. L'implementazione di un controllo di sicurezza specifico può essere responsabilità di Microsoft, responsabilità dei clienti o responsabilità condivisa tra Microsoft e i clienti. Le diverse implementazioni cloud hanno effetto sul modo in cui le responsabilità vengono condivise tra Microsoft e i clienti.
Per esempi, vedere la tabella delle responsabilità seguente.
Responsabilità di Azure | Responsabilità del cliente |
---|---|
Azure è responsabile dell'implementazione, della gestione e del monitoraggio dei metodi del programma di protezione delle informazioni e dei meccanismi correlati all'ambiente di provisioning dei servizi. | Il cliente è responsabile dell'implementazione, della configurazione, della gestione e del monitoraggio dei metodi del programma di protezione delle informazioni e dei meccanismi per le risorse controllate dai clienti usate per accedere e utilizzare i servizi di Azure. |
Azure è responsabile dell'implementazione, della configurazione, della gestione e del monitoraggio dei metodi di gestione degli account e dei meccanismi correlati all'ambiente di provisioning dei servizi. | Il cliente è responsabile anche della gestione degli account delle istanze delle macchine virtuali di Azure distribuite e dei componenti delle applicazioni residenti. |
Questi sono solo due esempi delle molte responsabilità da considerare quando si distribuiscono sistemi cloud. La matrice di responsabilità del cliente di HITRUST è progettata per garantire la conformità HITRUST dell'organizzazione con l'implementazione di un sistema Azure.
Personalizzazione
È comune personalizzare il progetto dopo l'installazione. I motivi e le tecniche per la personalizzazione dell'ambiente sono diversi.
Il progetto può essere personalizzato prima dell'installazione modificando gli script di installazione. Anche se ciò è possibile, è consigliabile creare script di PowerShell indipendenti da eseguire al termine dell'installazione iniziale. È anche possibile aggiungere nuovi servizi al sistema tramite il portale dopo che è stata eseguita l'installazione iniziale.
Le personalizzazioni possono includere una delle opzioni seguenti:
- Aggiunta di nuovi esperimenti a Machine Learning Studio
- Aggiunta di altri servizi non correlati all'ambiente
- Modifica dell'inserimento dati e dell'output dell'esperimento di Machine Learning per l'uso di un'origine dati diversa rispetto al database Azure SQL patientdb
- Fornire dati di produzione all'esperimento di Machine Learning
- Pulizia dei dati proprietari inseriti affinché corrispondano ai dati necessari per l'esperimento
La personalizzazione dell'installazione non è diversa dall'uso di una soluzione di Azure. I servizi o le risorse possono essere aggiunti o rimossi, fornendo nuove funzionalità. Quando si personalizza il progetto, prestare attenzione a non modificare la pipeline di Machine Learning complessiva per garantire che l'implementazione continui a funzionare.
Problemi tecnici
I problemi seguenti possono causare il mancato completamento dell'installazione del progetto o l'installazione del progetto in una configurazione non desiderata.
Key Vault
Gli insiemi di credenziali delle chiavi sono univoci durante l'eliminazione di una risorsa di Azure. Gli insiemi di credenziali vengono mantenuti da Azure per scopi di ripristino. Di conseguenza, è necessario passare un prefisso diverso nello script di installazione ogni volta che viene eseguito per impedire che l'installazione abbia esito negativo a causa di un conflitto con il nome dell'insieme di credenziali precedente. Gli insiemi di credenziali delle chiavi e tutte le altre risorse vengono denominati usando il prefisso specificato nello script di installazione.
Un insieme di credenziali delle chiavi creato dallo script di installazione viene mantenuto come "eliminazione temporanea" per 30 giorni. Anche se attualmente non è accessibile tramite il portale, gli insiemi di credenziali delle chiavi eliminati temporaneamente sono gestibili da PowerShell e possono anche essere eliminati manualmente.
Azure AD
È consigliabile installare il progetto in un'istanza vuota di Azure AD anziché in un sistema di produzione. Creare una nuova istanza di Azure AD e usare il relativo ID tenant durante le installazioni per evitare di aggiungere account di progetto all'istanza di Azure AD attiva.
Componenti
- Azure Machine Learning è un servizio di Machine Learning di livello aziendale per la creazione e la distribuzione di modelli rapidamente. Fornisce agli utenti a tutti i livelli di competenza una finestra di progettazione con poco codice, machine learning automatizzato e un ambiente jupyter notebook ospitato che supporta vari IDE.
- Machine Learning Studio è l'area di lavoro e gli strumenti usati dai data scientist per creare esperimenti di Machine Learning. Consente l'uso di algoritmi incorporati, widget per scopi specifici e script Python e R. Eseguire il training, distribuire e automatizzare i modelli di Machine Learning in questo portale Web, coprendo sia le prospettive code-first che no-code.
- Key Vault: è un servizio cloud che fornisce un archivio sicuro per segreti quali chiavi API, password, certificati e chiavi crittografiche. Key Vault consente anche di effettuare facilmente il provisioning, la gestione e la distribuzione di certificati Transport Layer Security/Secure Sockets Layer (TLS/SSL) pubblici e privati da usare con Azure e le risorse connesse interne.
- Funzioni di Azure è un servizio di calcolo serverless basato su eventi che esegue codice di piccole e singole attività senza richiedere una nuova infrastruttura. L'infrastruttura cloud fornisce ai server di eseguire le funzioni su larga scala. Con trigger e associazioni, Funzioni può reagire alle modifiche apportate a servizi di Azure come Archiviazione BLOB e Azure Cosmos DB. È possibile usarlo per elaborare dati in blocco, integrare sistemi, usare IoT e creare API e microservizi semplici. Il piano Funzioni di Azure Premium aggiunge la possibilità di comunicare privatamente con Funzioni tramite una rete virtuale.
- Azure SQL è una famiglia di database cloud SQL che offre un'esperienza unificata per l'intero portfolio SQL e un'ampia gamma di opzioni di distribuzione dall'ambiente perimetrale al cloud.
- Database SQL di Azure, parte della famiglia di Azure SQL, è un motore di database PaaS completamente gestito. Viene sempre eseguito sulla versione stabile più recente del motore di database di SQL Server e sul sistema operativo con patch. Gestisce la maggior parte delle funzioni di gestione del database, tra cui l'aggiornamento, l'applicazione di patch, i backup e il monitoraggio.
- Microsoft Defender for Cloud offre la gestione unificata della sicurezza e la protezione dalle minacce nei carichi di lavoro ibridi e multi-cloud, inclusi i carichi di lavoro in Azure, Amazon Web Services (AWS) e Google Cloud Platform (GCP). Si integra con quasi tutti i servizi principali della piattaforma Azure. Raccoglie, analizza e integra automaticamente i dati di log dalle risorse di Azure, dalla rete e dalle soluzioni partner connesse, ad esempio soluzioni firewall, per rilevare minacce reali e ridurre i falsi positivi. Defender for Cloud consente di individuare e risolvere le vulnerabilità di sicurezza, di applicare i controlli su applicazioni e accessi per bloccare le attività dannose, di rilevare le minacce usando funzioni di analisi e di intelligenza e di rispondere rapidamente in caso di attacco. Le funzionalità includono avvisi di sicurezza, rilevamento delle anomalie, raccomandazioni sulle procedure consigliate, punteggi di conformità alle normative e rilevamento delle minacce.
- Azure PowerShell è un set di cmdlet per la gestione delle risorse di Azure direttamente da PowerShell. Per altre informazioni, vedere: Informazioni su Azure PowerShell?.
Considerazioni
- Il linguaggio di scripting PowerShell è determinante per la configurazione del progetto, sebbene i comandi necessari siano presentati nelle istruzioni di installazione.
- Azure AI Gallery offre una casella di ricette di soluzioni di intelligenza artificiale e machine learning utili per i clienti del settore. Esistono diverse soluzioni pubblicate dai data scientist e da altri esperti del settore sanitario.
Conclusione
Il progetto Azure Health Data AI è una soluzione completa di Machine Learning e può essere usata come strumento di apprendimento per i tecnologi per comprendere meglio Azure e come garantire che i sistemi siano conformi ai requisiti normativi sanitari. Può essere usato anche come punto di partenza per un sistema di produzione, usando Machine Learning Studio come punto focale.
Se si usa il progetto per scopi di apprendimento o per il seeding di una soluzione di intelligenza artificiale e machine learning per l'organizzazione, offre un punto di partenza per l'uso dell'intelligenza artificiale e dell'apprendimento automatico in Azure con un focus sull'assistenza sanitaria.
Autori di contributi
Autore principale:
- David Starr | Ingegnere software principale
Passaggi successivi
- Progetto per la sicurezza e la conformità di Azure: HIPAA/HITRUST per dati del settore sanitario e intelligenza artificiale
- Repository GitHub: Azure HIPAA/HITRUST Health Data and AI - with (Estensione IaaS)
- Concetti di base di Azure Key Vault
- Azure Machine Learning Studio (versione classica)
- Azure Machine Learning Studio
- Introduzione a Funzioni di Azure
- Scaricare il progetto per iniziare a usare l'implementazione in poche ore, senza attendere giorni o settimane. Per problemi di installazione o domande sul progetto, visitare la pagina Domande frequenti.
- Scaricare il collaterale di supporto per ottenere una migliore comprensione dell'implementazione del progetto oltre l'installazione e l'esperimento di Machine Learning. Il materiale di supporto include quanto segue.
Risorse correlate
- Soluzioni per il settore sanitario
- Informazioni dettagliate in ambito clinico con Microsoft Cloud for Healthcare
- Prevedere il rischio di ricoveri ripetuti in ospedale usando tecniche di Machine Learning tradizionali e automatizzate
- Stimare la durata del soggiorno negli ospedali
- Pipeline di medicina di precisione con genomica