Workloads OU — Account dell'applicazione - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Workloads OU — Account dell'applicazione

Influenza il futuro della AWS Security Reference Architecture (AWS SRA) rispondendo a un breve sondaggio.

Il diagramma seguente illustra i servizi AWS di sicurezza configurati nell'account dell'applicazione (insieme all'applicazione stessa).

Servizi di sicurezza per l'account dell'applicazione.

L'account dell'applicazione ospita l'infrastruttura e i servizi principali per l'esecuzione e la manutenzione di un'applicazione aziendale. L'account dell'applicazione e l'unità organizzativa Workloads soddisfano alcuni obiettivi di sicurezza principali. Innanzitutto, crei un account separato per ogni applicazione per fornire limiti e controlli tra i carichi di lavoro in modo da evitare problemi legati alla combinazione di ruoli, autorizzazioni, dati e chiavi di crittografia. Desiderate fornire un contenitore di account separato in cui al team dell'applicazione possano essere concessi ampi diritti per gestire la propria infrastruttura senza influire sugli altri. Successivamente, si aggiunge un livello di protezione fornendo un meccanismo per il team addetto alle operazioni di sicurezza per monitorare e raccogliere i dati di sicurezza. Utilizza un percorso organizzativo e implementazioni locali di servizi di sicurezza degli account (Amazon GuardDuty,, AWS Security Hub CSPM Amazon AWS Config EventBridge, IAM Access Analyzer), configurati e monitorati dal team di sicurezza. Infine, consentite alla vostra azienda di impostare i controlli a livello centrale. L'account dell'applicazione viene allineato alla struttura di sicurezza più ampia rendendolo membro dell'unità organizzativa Workloads tramite la quale eredita le autorizzazioni di servizio, i vincoli e le barriere appropriati.

Considerazione di natura progettuale

È probabile che nell'organizzazione siano presenti più di un'applicazione aziendale. L'unità organizzativa Workloads è progettata per ospitare la maggior parte dei carichi di lavoro specifici dell'azienda, inclusi ambienti di produzione e non di produzione. Questi carichi di lavoro possono essere una combinazione di applicazioni commerciali off-the-shelf (COTS) e applicazioni e servizi dati personalizzati sviluppati internamente. Esistono alcuni modelli per organizzare le diverse applicazioni aziendali insieme ai relativi ambienti di sviluppo. Uno schema prevede l'utilizzo di più elementi secondari in OUs base all'ambiente di sviluppo, ad esempio produzione, gestione temporanea, test e sviluppo, e l'utilizzo di elementi secondari Account AWS separati tra OUs quelli relativi alle diverse applicazioni. Un altro modello comune consiste nell'avere figli separati OUs per applicazione e quindi utilizzare elementi secondari separati Account AWS per i singoli ambienti di sviluppo. L'esatta struttura dell'unità organizzativa e degli account dipende dal design dell'applicazione e dai team che gestiscono tali applicazioni. Considerate i controlli di sicurezza che desiderate applicare, siano essi specifici dell'ambiente o dell'applicazione, perché è più facile implementare tali controlli così come sono. SCPs OUs Per ulteriori considerazioni sull'organizzazione orientata al carico di lavoro OUs, consulta la sezione Applicazione OUs del white paper Organizzazione dell'ambiente utilizzando più account. AWS AWS

Applicazione VPC

Il cloud privato virtuale (VPC) nell'account dell'applicazione richiede sia l'accesso in entrata (per i semplici servizi Web che si stanno modellando) sia l'accesso in uscita (per le esigenze o le esigenze delle applicazioni). Servizio AWS Per impostazione predefinita, le risorse all'interno di un VPC sono instradabili tra loro. Esistono due sottoreti private: una per ospitare le EC2 istanze (livello applicazione) e l'altra per Amazon Aurora (livello database). La segmentazione della rete tra diversi livelli, come il livello dell'applicazione e il livello del database, viene eseguita tramite gruppi di sicurezza VPC, che limitano il traffico a livello di istanza. Per garantire la resilienza, il carico di lavoro si estende su due o più zone di disponibilità e utilizza due sottoreti per zona.

Considerazione di natura progettuale

È possibile utilizzare Traffic Mirroring per copiare il traffico di rete da un'interfaccia di rete elastica di EC2 istanze. È quindi possibile inviare il traffico ai dispositivi di out-of-band sicurezza e monitoraggio per l'ispezione dei contenuti, il monitoraggio delle minacce o la risoluzione dei problemi. Ad esempio, potresti voler monitorare il traffico che esce dal tuo VPC o il traffico la cui fonte è esterna al tuo VPC. In questo caso, rispecchierai tutto il traffico ad eccezione del traffico che passa all'interno del tuo VPC e lo invierai a un singolo dispositivo di monitoraggio. I log di flusso di Amazon VPC non acquisiscono traffico speculare; in genere acquisiscono informazioni solo dalle intestazioni dei pacchetti. Traffic Mirroring fornisce una visione più approfondita del traffico di rete consentendoti di analizzare il contenuto effettivo del traffico, incluso il payload. Abilita il mirroring del traffico solo per l'interfaccia di rete elastica delle EC2 istanze che potrebbero funzionare come parte di carichi di lavoro sensibili o per le quali prevedi di aver bisogno di una diagnostica dettagliata in caso di problemi.

Endpoint VPC

Gli endpoint VPC forniscono un altro livello di controllo della sicurezza oltre a scalabilità e affidabilità. Utilizzali per connettere il VPC dell'applicazione ad altri. Servizi AWS(Nell'account Application, AWS SRA utilizza endpoint VPC per AWS KMS e AWS Systems Manager Amazon S3.) Gli endpoint sono dispositivi virtuali. Sono componenti VPC con scalabilità orizzontale, ridondanza e disponibilità elevata. Consentono la comunicazione tra istanze del VPC e servizi senza comportare rischi di disponibilità o vincoli di larghezza di banda sul traffico di rete. Puoi utilizzare un endpoint VPC per connettere privatamente il tuo VPC a servizi endpoint VPC supportati Servizi AWS e forniti AWS PrivateLink da senza richiedere un gateway Internet, un dispositivo NAT, una connessione VPN o una connessione. AWS Direct Connect Le istanze nel tuo VPC non richiedono indirizzi IP pubblici per comunicare con altri. Servizi AWS Il traffico tra il tuo VPC e l'altro Servizio AWS non esce dalla rete Amazon.

Un altro vantaggio dell'utilizzo degli endpoint VPC è l'abilitazione della configurazione delle policy degli endpoint. Una policy endpoint VPC è una policy della risorsa IAM che viene collegata a un endpoint durante la creazione o la modifica dell'endpoint. Se non alleghi una policy IAM quando crei un endpoint, ti AWS allega una policy IAM predefinita che consente l'accesso completo al servizio. Una policy endpoint non esclude né sostituisce policy dell'utente IAM o policy specifiche del servizio (ad esempio policy di un bucket S3). Si tratta di una policy IAM separata per il controllo dell'accesso dall'endpoint al servizio specificato. In questo modo, aggiunge un altro livello di controllo su quali AWS mandanti possono comunicare con risorse o servizi.

Amazon EC2

Le EC2 istanze Amazon che compongono la nostra applicazione utilizzano la versione 2 di Instance Metadata Service (). IMDSv2 IMDSv2 aggiunge protezioni per quattro tipi di vulnerabilità che potrebbero essere utilizzate per tentare di accedere all'IMDS: firewall delle applicazioni dei siti Web, proxy inversi aperti, vulnerabilità SSRF (server-side request forgery), firewall open layer 3 e. NATs Per ulteriori informazioni, consulta il post sul blog Aggiungi una difesa approfondita contro firewall aperti, proxy inversi e vulnerabilità SSRF con miglioramenti all'Instance Metadata Service. EC2

Utilizza elementi separati VPCs (come sottoinsieme dei confini dell'account) per isolare l'infrastruttura in base ai segmenti del carico di lavoro. Utilizza sottoreti per isolare i livelli dell'applicazione (ad esempio, web, applicazione e database) all'interno di un singolo VPC. Utilizza sottoreti private per le istanze se non devono essere accessibili direttamente da Internet. Per chiamare l' EC2API Amazon dalla tua sottorete privata senza utilizzare un gateway Internet, usa AWS PrivateLink. Limita l'accesso alle tue istanze utilizzando gruppi di sicurezza. Usa VPC Flow Logs per monitorare il traffico che raggiunge le tue istanze. Usa Session Manager, una funzionalità di AWS Systems Manager, per accedere alle istanze da remoto invece di aprire porte SSH in entrata e gestire le chiavi SSH. Usa volumi Amazon Elastic Block Store (Amazon EBS) separati per il sistema operativo e i tuoi dati. Puoi configurare il tuo Account AWS per applicare la crittografia dei nuovi volumi EBS e delle copie di snapshot che crei. 

Esempio di implementazione

La libreria di codici AWS SRA fornisce un'implementazione di esempio della crittografia Amazon EBS predefinita in Amazon. EC2 Dimostra come abilitare la crittografia Amazon EBS predefinita a livello di account all'interno di ciascun account Account AWS e Regione AWS all'interno dell'organizzazione. AWS

AWS Enclavi Nitro

AWS Nitro Enclaves è una EC2 funzionalità di Amazon che consente di creare ambienti di esecuzione isolati, chiamati enclavi, a partire dalle istanze. EC2 Le enclave sono macchine virtuali separate, rinforzate e altamente vincolate. La CPU e la memoria di una singola EC2 istanza principale sono partizionate in enclavi isolate. Ogni enclave esegue un kernel indipendente. Le enclavi forniscono solo una connettività socket locale sicura con l'istanza principale. Non dispongono di archiviazione persistente, accesso interattivo o reti esterne. Gli utenti non possono accedere a un'enclave tramite SSH e i processi, le applicazioni o gli utenti (root o amministratore) dell'istanza principale non possono accedere ai dati e alle applicazioni all'interno dell'enclave. È possibile proteggere i dati più sensibili, come le informazioni di identificazione personale (PII), i dati sanitari, finanziari e sulla proprietà intellettuale, all'interno delle istanze. EC2 Nitro Enclaves ti consente di concentrarti sulla tua applicazione anziché preoccuparti dell'integrazione con servizi esterni. Nitro Enclaves include l'attestazione crittografica per il software in modo da avere la certezza che sia in esecuzione solo il codice autorizzato e l'integrazione con la in modo che solo le enclavi possano accedere a materiale sensibile. AWS KMS Questo aiuta a ridurre la superficie di attacco per le applicazioni di elaborazione dati più sensibili. L'utilizzo di Nitro Enclaves non comporta costi aggiuntivi.

L'attestazione crittografica è un processo utilizzato per dimostrare l'identità di un'enclave. Il processo di attestazione viene eseguito tramite l'Hypervisor Nitro, che produce un documento di attestazione firmato per l'enclave per dimostrare la sua identità a un'altra terza parte o servizio. I documenti di attestazione contengono dettagli chiave dell'enclave, come la chiave pubblica dell'enclave, gli hash dell'immagine e delle applicazioni dell'enclave e altro ancora.

Con AWS Certificate Manager (ACM) for Nitro Enclaves, puoi utilizzare certificati pubblici e privati. SSL/TLS certificates with your web applications and web servers running on EC2 instances with Nitro Enclaves. SSL/TLS certificates are used to secure network communications and to establish the identity of websites over the internet and resources on private networks. ACM for Nitro Enclaves removes the time-consuming and error-prone manual process of purchasing, uploading, and renewing SSL/TLS ACM for Nitro Enclaves crea chiavi private sicure, distribuisce il certificato e la relativa chiave privata nell'enclave e gestisce i rinnovi dei certificati. Con ACM for Nitro Enclaves, la chiave privata del certificato rimane isolata nell'enclave, il che impedisce all'istanza e ai suoi utenti di accedervi. Per ulteriori informazioni, consulta Nitro Enclaves nella documentazione AWS Certificate Manager di Nitro Enclaves.

Application Load Balancer

Gli Application Load Balancer distribuiscono il traffico delle applicazioni in entrata su più destinazioni, ad esempio istanze, in più zone di disponibilità. EC2 Nell' AWS SRA, il gruppo target per il load balancer sono le istanze dell'applicazione. EC2 L' AWS SRA utilizza listener HTTPS per garantire che il canale di comunicazione sia crittografato. L'Application Load Balancer utilizza un certificato server per interrompere la connessione front-end e quindi per decrittografare le richieste dei client prima di inviarle alle destinazioni.

AWS Certificate Manager (ACM) si integra nativamente con Application Load Balancers e AWS SRA utilizza ACM per generare e gestire i certificati pubblici X.509 (server TLS) necessari. È possibile applicare TLS 1.2 e cifrari avanzati per le connessioni front-end tramite la policy di sicurezza Application Load Balancer. Per ulteriori informazioni, consulta la Guida per l'utente di Elastic Load Balancing.

Considerazioni di natura progettuale

AWS Private CA

AWS Autorità di certificazione privata(AWS Private CA) viene utilizzato nell'account dell'applicazione per generare certificati privati da utilizzare con un Application Load Balancer. È uno scenario comune che Application Load Balancer fornisca contenuti sicuri tramite TLS. Ciò richiede l'installazione di certificati TLS sull'Application Load Balancer. Per le applicazioni strettamente interne, i certificati TLS privati possono fornire un canale sicuro.

In AWS SRA, AWS Private CA è ospitato nell'account Security Tooling ed è condiviso con l'account dell'Applicazione utilizzando. AWS RAM Ciò consente agli sviluppatori di un account dell'Applicazione di richiedere un certificato da una CA privata condivisa. La CAs condivisione all'interno o all'interno dell'organizzazione Account AWS aiuta a ridurre i costi e la complessità legati alla creazione e alla gestione dei duplicati CAs in tutta l'organizzazione Account AWS. Quando utilizzi ACM per emettere certificati privati da una CA condivisa, il certificato viene generato localmente nell'account richiedente e ACM fornisce la gestione e il rinnovo completi del ciclo di vita.

Amazon Inspector

L' AWS SRA utilizza Amazon Inspector per rilevare e EC2 scansionare automaticamente le istanze e le immagini dei container che risiedono in Amazon Elastic Container Registry (Amazon ECR) alla ricerca di vulnerabilità del software ed esposizione involontaria della rete.

Amazon Inspector viene inserito nell'account Application, poiché fornisce servizi di gestione delle vulnerabilità alle EC2 istanze di questo account. Inoltre, Amazon Inspector segnala percorsi di rete indesiderati da EC2 e verso le istanze.

Amazon Inspector negli account dei membri è gestito centralmente dall'account amministratore delegato. In AWS SRA, l'account Security Tooling è l'account amministratore delegato. L'account amministratore delegato può gestire i risultati, i dati e alcune impostazioni per i membri dell'organizzazione. Ciò include la visualizzazione dei dettagli aggregati dei risultati per tutti gli account dei membri, l'attivazione o la disabilitazione delle scansioni per gli account dei membri e la revisione delle risorse analizzate all'interno dell'organizzazione. AWS

Considerazione di natura progettuale

Puoi utilizzare Patch Manager, una funzionalità di AWS Systems Manager, per attivare patch su richiesta per correggere vulnerabilità di sicurezza zero-day di Amazon Inspector o altre vulnerabilità di sicurezza critiche. Patch Manager ti aiuta a correggere queste vulnerabilità senza dover attendere la normale pianificazione delle patch. La correzione viene eseguita utilizzando il runbook Systems Manager Automation. Per ulteriori informazioni, consulta la serie di blog in due parti Automatizzare la gestione e la correzione delle vulnerabilità utilizzando Amazon AWS Inspector e. AWS Systems Manager

AWS Systems Manager

AWS Systems Managerè uno strumento Servizio AWS che puoi utilizzare per visualizzare i dati operativi provenienti da più risorse Servizi AWS e automatizzare le attività operative tra le tue risorse. AWS Con i flussi di lavoro e i runbook di approvazione automatizzati, puoi lavorare per ridurre gli errori umani e semplificare le attività di manutenzione e distribuzione delle risorse. AWS

Oltre a queste funzionalità di automazione generali, Systems Manager supporta una serie di funzionalità di sicurezza preventive, investigative e reattive. AWS Systems Manager Agent (SSM Agent) è un software Amazon che può essere installato e configurato su un' EC2 istanza, un server locale o una macchina virtuale (VM). SSM Agent consente a Systems Manager di aggiornare, gestire e configurare tali risorse. Systems Manager ti aiuta a mantenere la sicurezza e la conformità scansionando queste istanze gestite e segnalando (o adottando azioni correttive) su eventuali violazioni rilevate nelle patch, nella configurazione e nelle politiche personalizzate.

L' AWS SRA utilizza Session Manager, una funzionalità di Systems Manager, per fornire una shell interattiva basata su browser e un'esperienza CLI. Ciò fornisce una gestione delle istanze sicura e verificabile senza la necessità di aprire porte in ingresso, mantenere host bastion o gestire chiavi SSH. L' AWS SRA utilizza Patch Manager, una funzionalità di Systems Manager, per applicare patch alle EC2 istanze sia per i sistemi operativi che per le applicazioni.

L' AWS SRA utilizza anche Automation, una funzionalità di Systems Manager, per semplificare le attività comuni di manutenzione e distribuzione delle EC2 istanze Amazon e di altre AWS risorse. Il servizio di automazione consente di semplificare le attività IT più comuni, ad esempio la modifica dello stato di una o più nodi (utilizzando un'automazione di approvazione) e la gestione dello stato dei nodi in base a una pianificazione. Systems Manager comprende caratteristiche che supportano la gestione di grandi gruppi di istanze mediante l'uso di tag e controlli di velocità che semplificano l'implementazione delle modifiche in base ai limiti da te definiti. L'automazione offre automazioni con un solo clic per semplificare attività complesse come la creazione di Amazon Machine Images dorate (AMIs) e il ripristino di istanze irraggiungibili. EC2 Inoltre, puoi migliorare la sicurezza operativa dando ai ruoli IAM l'accesso a runbook specifici per eseguire determinate funzioni, senza concedere direttamente le autorizzazioni a tali ruoli. Ad esempio, se desideri che un ruolo IAM disponga delle autorizzazioni per riavviare EC2 istanze specifiche dopo gli aggiornamenti delle patch, ma non vuoi concedere l'autorizzazione direttamente a quel ruolo, puoi invece creare un runbook di automazione e concedere al ruolo le autorizzazioni per eseguire solo il runbook.

Considerazioni di natura progettuale
  • Systems Manager si affida ai metadati delle EC2 istanze per funzionare correttamente. Systems Manager può accedere ai metadati dell'istanza utilizzando la versione 1 o la versione 2 di Instance Metadata Service (IMDSv1 and IMDSv2).

  • SSM Agent deve comunicare con diverse Servizi AWS risorse come Amazon EC2 messages, Systems Manager e Amazon S3. Affinché questa comunicazione avvenga, la sottorete richiede la connettività Internet in uscita o il provisioning di endpoint VPC appropriati. L' AWS SRA utilizza gli endpoint VPC per l'agente SSM per stabilire percorsi di rete privati verso vari. Servizi AWS

  • L'utilizzo dell'automazione consente di condividere le best practice con tutta l'organizzazione. È possibile creare best practice per la gestione delle risorse nei runbook e condividere i runbook tra e gruppi. Regioni AWS Puoi anche limitare i valori consentiti per i parametri del runbook. In questi casi d'uso, potrebbe essere necessario creare runbook di automazione in un account centrale come Security Tooling o Shared Services e condividerli con il resto dell'organizzazione. AWS I casi d'uso più comuni includono la capacità di implementare centralmente patch e aggiornamenti di sicurezza, rimediare alla deriva dalle configurazioni VPC o dalle policy dei bucket S3 e gestire le istanze su larga scala. EC2 Per i dettagli sull'implementazione, vedere la documentazione di Systems Manager.

Amazon Aurora

Nell' AWS SRA, Amazon Aurora e Amazon S3 costituiscono il livello logico dei dati. Aurora è un motore di database relazionale completamente gestito compatibile con MySQL e PostgreSQL. Un'applicazione in esecuzione sulle EC2 istanze comunica con Aurora e Amazon S3 in base alle esigenze. Aurora è configurata con un cluster di database all'interno di un sottogruppo di database.

Considerazione di natura progettuale

Come in molti servizi di database, la sicurezza per Aurora è gestita su tre livelli. Per controllare chi può eseguire azioni di gestione di Amazon Relational Database Service (Amazon RDS) su cluster e istanze DB Aurora, utilizzi IAM. Per controllare quali dispositivi e EC2 istanze possono aprire connessioni all'endpoint e alla porta del cluster dell'istanza DB per i cluster Aurora DB in un VPC, si utilizza un gruppo di sicurezza VPC. Per autenticare gli accessi e le autorizzazioni per un cluster Aurora DB, puoi adottare lo stesso approccio di un'istanza DB autonoma di MySQL o PostgreSQL oppure puoi utilizzare l'autenticazione del database IAM per Aurora MySQL Compatible Edition. Con quest'ultimo approccio, ti autentichi nel tuo cluster DB Aurora compatibile con MySQL utilizzando un ruolo IAM e un token di autenticazione.

Simple Storage Service (Amazon S3)

Amazon S3 è un servizio di storage di oggetti che offre scalabilità, disponibilità dei dati, sicurezza e prestazioni all'avanguardia nel settore. È la spina dorsale dei dati di molte applicazioni basate su AWS di essa e autorizzazioni e controlli di sicurezza appropriati sono fondamentali per proteggere i dati sensibili. Per le best practice di sicurezza consigliate per Amazon S3, consulta la documentazione, i talk tecnici online e approfondimenti nei post del blog. La best practice più importante consiste nel bloccare l'accesso eccessivamente permissivo (in particolare l'accesso pubblico) ai bucket S3.

AWS KMS

L' AWS SRA illustra il modello di distribuzione consigliato per la gestione delle chiavi, in cui le chiavi AWS KMS key risiedono all'interno della stessa risorsa da crittografare. Account AWS Per questo motivo, AWS KMS viene utilizzato nell'account dell'applicazione oltre ad essere incluso nell'account Security Tooling. Nell'account dell'applicazione, AWS KMS viene utilizzato per gestire le chiavi specifiche delle risorse dell'applicazione. È possibile implementare una separazione delle funzioni utilizzando politiche chiave per concedere le autorizzazioni di utilizzo delle chiavi ai ruoli delle applicazioni locali e per limitare le autorizzazioni di gestione e monitoraggio ai custodi chiave. 

Considerazione di natura progettuale

In un modello distribuito, la responsabilità AWS KMS chiave della gestione spetta al team dell'applicazione. Tuttavia, il team di sicurezza centrale può essere responsabile della governance e del monitoraggio di importanti eventi crittografici come i seguenti:

  • Il materiale chiave importato in una chiave KMS si avvicina alla data di scadenza.

  • Il materiale chiave di una chiave KMS è stato ruotato automaticamente.

  • La chiave AKMS è stata eliminata.

  • C'è un alto tasso di errori di decrittografia.

AWS CloudHSM

AWS CloudHSMfornisce moduli di sicurezza hardware gestiti (HSMs) in. Cloud AWS Consente di generare e utilizzare le proprie chiavi di crittografia AWS utilizzando lo standard FIPS 140-2 di livello 3 convalidato a HSMs cui è possibile controllare l'accesso. È possibile utilizzarlo AWS CloudHSM per eseguire l'offload dell' SSL/TLS elaborazione per i server Web. Ciò riduce il carico sul server Web e fornisce una maggiore sicurezza memorizzando la chiave privata del server Web. AWS CloudHSM Allo stesso modo, puoi implementare un HSM dal VPC AWS CloudHSM in entrata nell'account di rete per archiviare le tue chiavi private e firmare le richieste di certificato se devi agire come autorità di certificazione emittente.

Considerazione di natura progettuale

Se hai un requisito rigoroso per FIPS 140-2 livello 3, puoi anche scegliere di configurare l'utilizzo del AWS CloudHSM cluster come archivio AWS KMS di chiavi personalizzato anziché utilizzare l'archivio di chiavi KMS nativo. In questo modo, trarrai vantaggio dall'integrazione AWS KMS e Servizi AWS dalla crittografia dei tuoi dati, pur essendo responsabile della protezione delle tue chiavi HSMs KMS. Ciò combina il sistema single-tenant HSMs sotto il tuo controllo con la facilità d'uso e l'integrazione di. AWS KMS Per gestire l' AWS CloudHSM infrastruttura, è necessario utilizzare un'infrastruttura a chiave pubblica (PKI) e disporre di un team con esperienza nella gestione. HSMs

AWS Secrets Manager

AWS Secrets Managerti aiuta a proteggere le credenziali (segreti) di cui hai bisogno per accedere alle tue applicazioni, servizi e risorse IT. Il servizio consente di ruotare, gestire e recuperare in modo efficiente le credenziali del database, le chiavi API e altri segreti durante tutto il loro ciclo di vita. Puoi sostituire le credenziali codificate nel codice con una chiamata API a Secrets Manager per recuperare il segreto a livello di codice. Questo aiuta a garantire che il segreto non possa essere compromesso da qualcuno che sta esaminando il codice, perché il segreto non esiste più nel codice. Inoltre, Secrets Manager consente di spostare le applicazioni tra ambienti (sviluppo, preproduzione, produzione). Invece di modificare il codice, potete assicurarvi che nell'ambiente sia disponibile un segreto denominato e referenziato in modo appropriato. Ciò favorisce la coerenza e la riutilizzabilità del codice applicativo in diversi ambienti, richiedendo al contempo un minor numero di modifiche e interazioni umane dopo il test del codice.

Con Secrets Manager, puoi gestire l'accesso ai segreti utilizzando policy IAM granulari e politiche basate sulle risorse. Puoi contribuire a proteggere i segreti crittografandoli con chiavi di crittografia che gestisci utilizzando. AWS KMS Secrets Manager si integra anche con i servizi AWS di registrazione e monitoraggio per il controllo centralizzato.

Secrets Manager utilizza la crittografia a busta con AWS KMS keys chiavi dati per proteggere ogni valore segreto. Quando crei un segreto, puoi scegliere qualsiasi chiave simmetrica gestita dal cliente nella regione Account AWS and oppure puoi utilizzare la chiave AWS gestita per Secrets Manager.

Come best practice, puoi monitorare i tuoi segreti per registrare eventuali modifiche. Questo vi aiuta a garantire che eventuali utilizzi o modifiche imprevisti possano essere esaminati. Le modifiche indesiderate possono essere annullate. Secrets Manager attualmente ne supporta due Servizi AWS che consentono di monitorare l'organizzazione e l'attività: AWS CloudTrail e AWS Config. CloudTrail acquisisce tutte le chiamate API per Secrets Manager come eventi, incluse le chiamate dalla console Secrets Manager e le chiamate di codice a Secrets Manager APIs. Inoltre, CloudTrail acquisisce altri eventi correlati (non API) che potrebbero avere un impatto sulla sicurezza o sulla conformità o che potrebbero aiutarti a risolvere problemi operativi. Account AWS Questi includono alcuni eventi di rotazione dei segreti e l'eliminazione di versioni segrete. AWS Config può fornire controlli investigativi tracciando e monitorando le modifiche ai segreti in Secrets Manager. Queste modifiche includono la descrizione di un segreto, la configurazione di rotazione, i tag e la relazione con altre AWS fonti, come la chiave di crittografia KMS o AWS Lambda le funzioni utilizzate per la rotazione segreta. Puoi anche configurare Amazon EventBridge, che riceve notifiche di modifica della configurazione e della conformità AWS Config, per indirizzare particolari eventi segreti per azioni di notifica o correzione.

In AWS SRA, Secrets Manager si trova nell'account dell'applicazione per supportare i casi d'uso delle applicazioni locali e per gestire i segreti vicini al loro utilizzo. Qui, un profilo di istanza è allegato alle EC2 istanze nell'account dell'applicazione. È quindi possibile configurare segreti separati in Secrets Manager per consentire a quel profilo di istanza di recuperare segreti, ad esempio per unirsi al dominio Active Directory o LDAP appropriato e accedere al database Aurora. Secrets Manager si integra con Amazon RDS per gestire le credenziali utente quando crei, modifichi o ripristini un'istanza database Amazon RDS o un cluster DB Multi-AZ. Ciò consente di gestire la creazione e la rotazione delle chiavi e sostituisce le credenziali codificate nel codice con chiamate API programmatiche a Secrets Manager. 

Considerazione di natura progettuale

In generale, configura e gestisci Secrets Manager nell'account più vicino a dove verranno utilizzati i segreti. Questo approccio sfrutta la conoscenza locale del caso d'uso e offre velocità e flessibilità ai team di sviluppo delle applicazioni. Per informazioni strettamente controllate che potrebbero richiedere un ulteriore livello di controllo, i segreti possono essere gestiti centralmente da Secrets Manager nell'account Security Tooling.

Amazon Cognito

Amazon Cognito ti consente di aggiungere la registrazione, l'accesso e il controllo degli accessi degli utenti alle tue app Web e mobili in modo rapido ed efficiente. Amazon Cognito è scalabile fino a milioni di utenti e supporta l'accesso con provider di identità social, come Apple, Facebook, Google e Amazon, e provider di identità aziendali tramite SAML 2.0 e OpenID Connect. I due componenti principali di Amazon Cognito sono i pool di utenti e i pool di identità. I pool di utenti sono directory di utenti che forniscono opzioni di registrazione e accesso per gli utenti dell'applicazione. I pool di identità consentono di concedere ai propri utenti l'accesso ad altri. Servizi AWSÈ possibile usare i pool di identità e i bacini d'utenza separatamente o insieme. Per scenari di utilizzo comuni, consulta la documentazione di Amazon Cognito.

Amazon Cognito offre un'interfaccia utente integrata e personalizzabile per la registrazione e l'accesso degli utenti. Puoi usare Android, iOS e Amazon Cognito JavaScript SDKs per aggiungere pagine di registrazione e accesso degli utenti alle tue app. Amazon Cognito Sync è una Servizio AWS libreria client che consente la sincronizzazione tra dispositivi dei dati utente relativi alle applicazioni.

Amazon Cognito supporta l'autenticazione e la crittografia a più fattori dei dati inattivi e dei dati in transito. I pool di utenti di Amazon Cognito forniscono funzionalità di sicurezza avanzate per proteggere l'accesso agli account utente nell'applicazione. Queste funzionalità di sicurezza avanzate forniscono autenticazione adattiva basata sul rischio e protezione dall'uso di credenziali compromesse. 

Considerazioni di natura progettuale
  • È possibile creare una AWS Lambda funzione e quindi attivarla durante le operazioni del pool di utenti come l'iscrizione, la conferma e l'accesso (autenticazione) degli utenti con un trigger Lambda. Puoi aggiungere i problemi di autenticazione, migrare gli utenti e personalizzare i messaggi di verifica. Per le operazioni e il flusso di utenti comuni, consulta la documentazione di Amazon Cognito. Amazon Cognito chiama le funzioni Lambda in modo sincrono.

  • Puoi utilizzare i pool di utenti di Amazon Cognito per proteggere piccole applicazioni multi-tenant. Un caso d'uso comune della progettazione multi-tenant consiste nell'esecuzione di carichi di lavoro per supportare il test di più versioni di un'applicazione. La progettazione multi-tenant è utile anche per testare una singola applicazione con diversi set di dati che consente l'uso completo delle risorse del cluster. Tuttavia, assicurati che il numero di inquilini e il volume previsto siano in linea con le relative quote del servizio Amazon Cognito. Queste quote vengono condivise tra tutti i tenant dell'applicazione.

Autorizzazioni verificate da Amazon

Amazon Verified Permissions è un servizio scalabile di gestione delle autorizzazioni e di autorizzazione granulare per le applicazioni che crei. Gli sviluppatori e gli amministratori possono utilizzare Cedar, un linguaggio di policy open source creato appositamente e incentrato sulla sicurezza, con ruoli e attributi per definire controlli di accesso più granulari, sensibili al contesto e basati su policy. Gli sviluppatori possono creare applicazioni più sicure più rapidamente esternalizzando le autorizzazioni e centralizzando la gestione e l'amministrazione delle policy. Le autorizzazioni verificate includono definizioni di schemi, formulazioni di policy, grammatica e ragionamento automatico che si estendono a milioni di autorizzazioni, in modo da poter applicare i principi di negazione predefinita e privilegio minimo. Il servizio include anche uno strumento di simulazione di valutazione per aiutarvi a testare le vostre decisioni di autorizzazione e le politiche relative agli autori. Queste funzionalità facilitano l'implementazione di un modello di autorizzazione approfondito e granulare per supportare gli obiettivi zero-trust. Verified Permissions centralizza le autorizzazioni in un archivio di policy e aiuta gli sviluppatori a utilizzare tali autorizzazioni per autorizzare le azioni degli utenti all'interno delle loro applicazioni.

È possibile connettere l'applicazione al servizio tramite l'API per autorizzare le richieste di accesso degli utenti. Per ogni richiesta di autorizzazione, il servizio recupera le politiche pertinenti e le valuta per determinare se un utente è autorizzato a intraprendere un'azione su una risorsa, in base a input di contesto quali utenti, ruoli, appartenenza al gruppo e attributi. È possibile configurare e connettere le autorizzazioni verificate a cui inviare i registri di gestione e autorizzazione delle politiche. AWS CloudTrail Se utilizzi Amazon Cognito come archivio di identità, puoi effettuare l'integrazione con Autorizzazioni verificate e utilizzare l'ID e i token di accesso che Amazon Cognito restituisce nelle decisioni di autorizzazione delle tue applicazioni. Fornisci token Amazon Cognito a Verified Permissions, che utilizza gli attributi contenuti nei token per rappresentare il principale e identificare i diritti del principale. Per ulteriori informazioni su questa integrazione, consulta il post del AWS blog Semplificazione dell'autorizzazione granulare con Amazon Verified Permissions e Amazon Cognito. 

Verified Permissions ti aiuta a definire il controllo degli accessi basato su policy (PBAC). PBAC è un modello di controllo degli accessi che utilizza le autorizzazioni espresse sotto forma di policy per determinare chi può accedere a quali risorse in un'applicazione. PBAC unisce il controllo degli accessi basato sui ruoli (RBAC) e il controllo degli accessi basato sugli attributi (ABAC), dando vita a un modello di controllo degli accessi più potente e flessibile. Per ulteriori informazioni su PBAC e su come progettare un modello di autorizzazione utilizzando Autorizzazioni verificate, consulta il post del AWS blog Controllo degli accessi basato su policy nello sviluppo di applicazioni con Amazon Verified Permissions.

Nella AWS SRA, Verified Permissions si trova nell'account dell'Applicazione per supportare la gestione delle autorizzazioni per le applicazioni attraverso la sua integrazione con Amazon Cognito.

Difesa a più livelli

L'account Application offre l'opportunità di illustrare i principi di difesa a più livelli che consentono. AWS Considerate la sicurezza delle EC2 istanze che costituiscono il nucleo di una semplice applicazione di esempio rappresentata nell' AWS SRA e vedrete come Servizi AWS cooperare in una difesa a più livelli. Questo approccio è in linea con la visione strutturale dei servizi di AWS sicurezza, come descritto nella sezione Applica i servizi di sicurezza in tutta l' AWS organizzazione precedente di questa guida.

  • Lo strato più interno sono le istanze. EC2 Come accennato in precedenza, EC2 le istanze includono molte funzionalità di sicurezza native per impostazione predefinita o come opzioni. Alcuni esempi includono IMDSv2il sistema Nitro e la crittografia dello storage Amazon EBS.

  • Il secondo livello di protezione si concentra sul sistema operativo e sul software in esecuzione sulle EC2 istanze. Servizi come Amazon Inspector ti AWS Systems Managerconsentono di monitorare, generare report e intraprendere azioni correttive su queste configurazioni. Amazon Inspector monitora il tuo software alla ricerca di vulnerabilità e Systems Manager ti aiuta a mantenere la sicurezza e la conformità scansionando le istanze gestite per verificarne lo stato di patch e configurazione, quindi segnalando e adottando le azioni correttive da te specificate.

  • Le istanze e il software in esecuzione su queste istanze sono integrate nell'infrastruttura di rete. AWS Oltre a utilizzare le funzionalità di sicurezza di Amazon VPC, AWS SRA utilizza anche endpoint VPC per fornire connettività privata tra il VPC e il supporto e per fornire un meccanismo per posizionare le Servizi AWS politiche di accesso ai confini della rete.

  • L'attività e la configurazione delle EC2 istanze, del software, della rete e dei ruoli e delle risorse IAM sono ulteriormente monitorate da servizi Account AWS focalizzati come AWS Security Hub Amazon AWS Security Hub CSPM, GuardDuty AWS CloudTrail AWS Config, IAM Access Analyzer e Amazon Macie.

  • Infine, oltre all'account Application, AWS RAM aiuta a controllare quali risorse sono condivise con altri account e le policy di controllo dei servizi IAM ti aiutano a far rispettare autorizzazioni coerenti in tutta l'organizzazione. AWS