Crea soluzioni IDP ben strutturate con una lente personalizzata – Parte 2 Sicurezza

Crea soluzioni IDP ben strutturate con una lente personalizzata Sicurezza - Parte 2

La creazione di una soluzione pronta per la produzione su AWS comporta una serie di compromessi tra risorse, tempo, aspettative dei clienti e risultati aziendali. Il AWS Well-Architected Framework ti aiuta a comprendere i benefici e i rischi delle decisioni che prendi durante la creazione dei carichi di lavoro su AWS. Utilizzando il Framework, imparerai le attuali raccomandazioni operative e architetturali per progettare e gestire carichi di lavoro affidabili, sicuri, efficienti, a costo contenuto e sostenibili su AWS.

Un progetto di elaborazione intelligente dei documenti (IDP) di solito combina il riconoscimento ottico dei caratteri (OCR) e l’elaborazione del linguaggio naturale (NLP) per leggere e comprendere un documento ed estrarre entità o frasi specifiche. Questo Custom Lens IDP Well-Architected ti fornisce la guida per affrontare le sfide comuni che vediamo sul campo. Rispondendo a una serie di domande in questo lens personalizzato, identificherai i rischi potenziali e sarai in grado di risolverli seguendo il piano di miglioramento.

Questo articolo si concentra sul pilastro della sicurezza della soluzione IDP. Partendo dall’introduzione del pilastro della sicurezza e dei principi di progettazione, esaminiamo poi il design e l’implementazione della soluzione con quattro aree di interesse: controllo degli accessi, protezione dei dati, gestione di chiavi e segreti e configurazione del carico di lavoro. Leggendo questo articolo, imparerai a conoscere il pilastro della sicurezza nel Well-Architected Framework e la sua applicazione alle soluzioni IDP.

Principi di progettazione

Il pilastro della sicurezza comprende la capacità di una soluzione IDP di proteggere i documenti di input, i sistemi di elaborazione dei documenti e gli asset di output, sfruttando le tecnologie AWS per migliorare la sicurezza durante l’elaborazione intelligente dei documenti.

Tutti i servizi di intelligenza artificiale AWS (ad esempio, Amazon Textract, Amazon Comprehend o Amazon Comprehend Medical) utilizzati nelle soluzioni IDP sono servizi di intelligenza artificiale completamente gestiti in cui AWS protegge l’infrastruttura fisica, i punti di ingresso delle API, il sistema operativo e il codice dell’applicazione e gestisce la resilienza e il failover del servizio all’interno di una determinata regione. Come cliente AWS, puoi quindi concentrarti sull’utilizzo di questi servizi per completare i tuoi compiti di IDP, anziché sulla sicurezza di questi elementi. Ci sono diversi principi di progettazione che possono aiutarti a rafforzare la sicurezza del tuo carico di lavoro IDP:

  • Implementa una solida base di identità – Implementa il principio del privilegio minimo e applica una separazione dei compiti con un’adeguata autorizzazione per ogni interazione con le risorse AWS nelle applicazioni IDP. Centralizza la gestione delle identità e cerca di eliminare la dipendenza da credenziali statiche a lungo termine.
  • Mantieni la tracciabilità – I servizi di intelligenza artificiale utilizzati in IDP sono integrati con AWS CloudTrail, che consente di monitorare, segnalare e auditare azioni e modifiche all’ambiente IDP con una bassa latenza. La loro integrazione con Amazon CloudWatch consente di integrare la raccolta di log e metriche con il sistema IDP per investigare e agire automaticamente.
  • Automatizza le raccomandazioni di sicurezza attuali – I meccanismi di sicurezza basati su software automatizzati migliorano la capacità di dimensionare rapidamente e a costo contenuto in modo sicuro. Crea architetture IDP sicure, inclusa l’implementazione di controlli definiti e gestiti come codice in modelli versionati utilizzando AWS CloudFormation.
  • Proteggi i dati in transito e a riposo – La crittografia in transito è supportata per impostazione predefinita per tutti i servizi di intelligenza artificiale necessari per IDP. Presta attenzione alla protezione dei dati a riposo e dei dati prodotti in output da IDP. Classifica i tuoi dati in livelli di sensibilità e utilizza meccanismi come la crittografia, la tokenizzazione e il controllo degli accessi, se appropriato.
  • Concedi i permessi di privilegio minimo alle persone – IDP riduce notevolmente la necessità di accesso diretto e di elaborazione manuale dei documenti. Coinvolgere solo le persone necessarie per validare i casi o svolgere mansioni di aggiunta riduce il rischio di manipolazione dei documenti e errori umani quando si tratta di dati sensibili.
  • Preparati per gli eventi di sicurezza – Preparati per un incidente, disponendo di una politica e di processi di gestione e indagine degli incidenti che sono in linea con i requisiti organizzativi. Esegui simulazioni di risposta agli incidenti e utilizza strumenti con automazione per aumentare la velocità di rilevamento, indagine e ripristino.

Aree di focus

Prima di progettare un carico di lavoro IDP, è necessario mettere in pratica delle procedure per soddisfare i requisiti di sicurezza. Questo post si concentra sul pilastro della Sicurezza, con quattro aree di focus:

  • Controllo degli accessi: In un’applicazione IDP, il controllo degli accessi è fondamentale per garantire la sicurezza delle informazioni. Non riguarda solo l’assicurarsi che solo gli utenti autorizzati possano accedere all’applicazione, ma anche l’assicurarsi che gli altri servizi possano accedere all’ambiente e interagire tra di loro in modo adeguatamente sicuro.
  • Protezione dei dati: Poiché la crittografia dei dati in transito è supportata automaticamente per tutti i servizi AI richiesti per IDP, la protezione dei dati in un’applicazione IDP si concentra maggiormente sulla crittografia dei dati inattivi e sulla gestione di informazioni sensibili come i dati personali identificabili (PII).
  • Gestione di chiavi e segreti: L’approccio crittografico che si utilizza per proteggere il flusso di lavoro di IDP può comprendere diverse chiavi per crittografare i dati e autorizzare gli utenti attraverso diversi servizi e sistemi correlati. L’applicazione di un sistema completo di gestione di chiavi e segreti fornisce meccanismi duraturi e sicuri per proteggere ulteriormente l’applicazione e i dati di IDP.
  • Configurazione del carico di lavoro: La configurazione del carico di lavoro coinvolge principi di progettazione multipli, tra cui l’utilizzo di servizi di monitoraggio e audit per mantenere tracciabilità delle transazioni e dei dati nel carico di lavoro di IDP, l’impostazione di procedure di risposta agli incidenti e la separazione di diversi carichi di lavoro di IDP l’uno dall’altro.

Controllo degli accessi

Nell’area di focus del controllo degli accessi, prendi in considerazione le seguenti raccomandazioni attuali:

  • Utilizza i punti di accesso VPC per stabilire una connessione privata con i servizi correlati a IDP: Puoi utilizzare le API di Amazon Textract, Amazon Comprehend e Amazon Simple Storage Service (Amazon S3) attraverso una rete di routing mondiale o mantenere il traffico di rete all’interno della rete AWS utilizzando i punti di accesso VPC. Per seguire le attuali raccomandazioni di sicurezza, è necessario mantenere il traffico di IDP all’interno delle tue VPC e stabilire una connessione privata tra la tua VPC e Amazon Textract o Amazon Comprehend creando punti di accesso di interfaccia VPC. Puoi anche accedere ad Amazon S3 dalla tua VPC utilizzando i punti di accesso gateway VPC.
  • Configura un provider di identità centralizzato: Per l’autenticazione degli utenti e dei sistemi alla tua applicazione IDP, configurare un provider di identità centralizzato rende più facile gestire l’accesso tra diverse applicazioni e servizi IDP. Questo riduce la necessità di avere diverse credenziali e offre l’opportunità di integrarsi con i processi esistenti delle risorse umane (HR).
    • Per la federazione con account AWS individuali, puoi utilizzare identità centralizzate per AWS con un provider basato su SAML 2.0 con AWS Identity and Access Management (IAM).
    • Per la federazione a più account nei tuoi AWS Organizations, puoi configurare la tua origine di identità in AWS IAM Identity Center e specificare dove vengono gestiti gli utenti e i gruppi.
  • Utilizza ruoli IAM per controllare l’accesso e imporre il principio del privilegio minimo: Per gestire l’accesso degli utenti ai servizi IDP, è necessario creare ruoli IAM per l’accesso degli utenti ai servizi nell’applicazione IDP e associarvi le policy e i tag appropriati per ottenere un accesso a privilegi minimi. I ruoli dovrebbero poi essere assegnati ai gruppi appropriati come gestito dal provider di identità. Puoi anche utilizzare ruoli IAM per assegnare le autorizzazioni di utilizzo dei servizi, impiegando quindi credenziali di servizio effimere del servizio AWS Security Token (STS) per chiamare le API dei servizi. Per le circostanze in cui i servizi AWS devono essere chiamati a scopo di IDP da sistemi non eseguiti su AWS, utilizza AWS IAM Roles Anywhere per ottenere credenziali di sicurezza temporanee in IAM per carichi di lavoro eseguiti al di fuori di AWS.
  • Proteggi Amazon Textract e Amazon Comprehend nel tuo account da impersonazioni tra servizi: Un’applicazione IDP di solito utilizza più servizi AWS, in modo tale che un servizio possa chiamare un altro servizio. Pertanto, è necessario evitare scenari di “deputy confusi”. Ti consigliamo di utilizzare i contesto globali delle condition keys aws:SourceArn e aws:SourceAccount nelle policy delle risorse per limitare le autorizzazioni che Amazon Textract o Amazon Comprehend conferiscono a un altro servizio per la risorsa.

Protezione dei dati

Ecco alcune raccomandazioni attuali da prendere in considerazione per la protezione dei dati:

  • Seguire le raccomandazioni attuali per proteggere i dati sensibili nei data store – L’IDP di solito coinvolge più data store. I dati sensibili in questi data store devono essere protetti. Le attuali raccomandazioni di sicurezza in questa area prevedono la definizione di controlli IAM, diversi modi per implementare controlli di rilevamento sui database, il rafforzamento della sicurezza dell’infrastruttura circostante i tuoi dati tramite il controllo del flusso di rete e la protezione dei dati tramite crittografia e tokenizzazione.
  • Crittografa i dati inattivi in ​​Amazon Textract – Amazon Textract utilizza Transport Layer Security (TLS) e i punti di endpoint VPC per crittografare i dati in transito. Il metodo per crittografare i dati inattivi da utilizzare da Amazon Textract è la crittografia lato server. Puoi scegliere tra le seguenti opzioni:
    • Crittografia lato server con Amazon S3 (SSE-S3) – Quando utilizzi le chiavi gestite di Amazon S3, ogni oggetto viene crittografato con una chiave unica. Come ulteriore protezione, questo metodo crittografa la chiave stessa con una chiave primaria che viene regolarmente ruotata.
    • Crittografia lato server con AWS KMS (SSE-KMS) – Ci sono autorizzazioni separate per l’uso di un servizio di gestione chiavi AWS (AWS KMS) che fornisce protezione contro l’accesso non autorizzato ai tuoi oggetti in Amazon S3. SSE-KMS fornisce anche un registro delle attività in CloudTrail che mostra quando la tua chiave KMS è stata utilizzata e da chi. Inoltre, puoi creare e gestire chiavi KMS che sono uniche per te, il tuo servizio e la tua regione.
  • Crittografa l’output dall’API asincrona di Amazon Textract in un bucket S3 personalizzato – Quando avvii un lavoro asincrono di Amazon Textract chiamando StartDocumentTextDetection o StartDocumentAnalysis, un parametro facoltativo nell’azione API è chiamato OutputConfig. Questo parametro ti permette di specificare il bucket S3 per memorizzare l’output. Un altro parametro di input opzionale KMSKeyId ti consente di specificare la chiave gestita dal cliente KMS (CMK) da utilizzare per crittografare l’output.
  • Utilizza la crittografia AWS KMS in Amazon Comprehend – Amazon Comprehend lavora con AWS KMS per fornire una crittografia avanzata per i tuoi dati. L’integrazione con AWS KMS ti consente di crittografare i dati nel volume di archiviazione per i lavori Start* e Create*, e crittografa i risultati dell’output dei lavori Start* utilizzando la tua chiave KMS.
    • Per l’uso tramite la Console di gestione AWS, Amazon Comprehend crittografa i modelli personalizzati con la propria chiave KMS.
    • Per l’uso tramite la AWS Command Line Interface (AWS CLI), Amazon Comprehend può crittografare i modelli personalizzati utilizzando la propria chiave KMS o una CMK fornita e consigliamo quest’ultima opzione.
  • Proteggi PII nell’output IDP – Per i documenti che includono PII, è necessario proteggere anche il PII nell’output IDP. Puoi proteggere il PII nell’output memorizzandolo nel tuo data store o nascondendo il PII nell’output IDP.
    • Se hai bisogno di archiviare il PII nel tuo IDP, considera la definizione di controlli IAM, l’implementazione di controlli protettivi e di rilevamento sui database, il rafforzamento della sicurezza dell’infrastruttura circostante i tuoi dati tramite il controllo del flusso di rete, e l’implementazione della protezione dei dati tramite crittografia e tokenizzazione.
    • Se non è necessario archiviare il PII nel tuo IDP, considera la possibilità di nascondere il PII nell’output IDP. Puoi progettare un passaggio di nascondimento PII utilizzando Amazon Comprehend nel tuo flusso di lavoro IDP.

Gestione delle chiavi e dei segreti

Pensa alle seguenti raccomandazioni attuali per gestire chiavi e segreti:

  • Utilizza AWS KMS per implementare una gestione sicura delle chiavi crittografiche – Devi definire un approccio di crittografia che includa l’archiviazione, la rotazione e il controllo di accesso delle chiavi, il quale aiuta a fornire protezione per i tuoi contenuti. AWS KMS ti aiuta a gestire le chiavi di crittografia e si integra con molti servizi AWS. Fornisce archiviazione durevole, sicura e ridondante per le tue chiavi KMS.
  • Utilizza AWS Secrets Manager per implementare la gestione dei segreti – Un flusso di lavoro IDP potrebbe avere segreti come le credenziali del database in più servizi o fasi. Hai bisogno di uno strumento per archiviare, gestire, recuperare e potenzialmente ruotare questi segreti. AWS Secrets Manager ti aiuta a gestire, recuperare e ruotare le credenziali del database, le credenziali dell’applicazione e altri segreti durante il loro ciclo di vita. Archiviare le credenziali in Secrets Manager aiuta a mitigare il rischio di possibile esfiltrazione delle credenziali da parte di chiunque possa ispezionare il codice della tua applicazione.

Configurazione del carico di lavoro

Per configurare il carico di lavoro, segui queste raccomandazioni attuali:

  • Separa più carichi di lavoro IDP utilizzando account AWS diversi – Consigliamo di stabilire delle linee guida comuni e l’isolamento tra gli ambienti (come produzione, sviluppo e test) e i carichi di lavoro attraverso una strategia multi-account. AWS fornisce strumenti per gestire i tuoi carichi di lavoro a scala attraverso una strategia multi-account per stabilire questo confine di isolamento. Quando hai più account AWS sotto una gestione centralizzata, i tuoi account dovrebbero essere organizzati in una gerarchia definita da raggruppamenti di unità organizzative (Organizational Units – OUs). I controlli di sicurezza possono quindi essere organizzati e applicati alle OUs e agli account membri, stabilendo controlli preventivi coerenti sugli account membri nell’organizzazione.
  • Registra le chiamate API di Amazon Textract e Amazon Comprehend con CloudTrail – Amazon Textract e Amazon Comprehend sono integrati con CloudTrail. Le chiamate catturate includono le chiamate dalla console di servizio e le chiamate dal tuo codice ai punti di API dei servizi.
  • Stabilisci procedure di risposta agli incidenti – Anche con controlli completi, preventivi e di rilevamento, la tua organizzazione dovrebbe comunque avere processi in atto per rispondere e mitigare l’impatto potenziale degli incidenti di sicurezza. Mettere in atto gli strumenti e i controlli prima di un incidente di sicurezza, quindi praticare regolarmente la risposta agli incidenti attraverso simulazioni, ti aiuterà a verificare che il tuo ambiente possa supportare un’indagine e un ripristino tempestivi.

Conclusione

In questo articolo abbiamo condiviso principi progettuali e raccomandazioni attuali per il Pilastro della sicurezza nella costruzione di soluzioni IDP ben architettate.

Per saperne di più sulla Custom Lens IDP Well-Architected, esplora i seguenti articoli di questa serie:

Affidabilità](https://aws.amazon.com/blogs/machine-learning/build-w ell-architected-idp-solutions-with-a-custom-lens-part-3-reliability/) – Costruire soluzioni IDP ben architettate con una custom lens – Parte 4: Efficienza delle prestazioniCostruire soluzioni IDP ben architettate con una custom lens – Parte 5: Ottimizzazione dei costiCostruire soluzioni IDP ben architettate con una custom lens – Parte 6: Sostenibilità

Per i prossimi passaggi, puoi leggere di più sul Framework Well-Architected di AWS e fare riferimento alla nostra Guida per l’Elaborazione Intelligente dei Documenti su AWS per progettare e costruire la tua applicazione IDP. Si prega inoltre di contattare il team del tuo account per una revisione Well-Architected del tuo carico di lavoro IDP. Se hai bisogno di ulteriori consulenze da esperti, contatta il tuo team di account AWS per coinvolgere un Idp Specialist Solutions Architect.

AWS è impegnata a considerare la Custom Lens IDP Well-Architected come uno strumento vivo. Man mano che le soluzioni IDP e i relativi servizi AI di AWS evolvono, aggiorneremo di conseguenza la Custom Lens IDP Well-Architected.