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à.
Funzionalità di sicurezza integrate nell'ADDF
L'Autonomous Driving Data Framework (ADDF) dispone di diverse funzionalità di sicurezza integrate. Per impostazione predefinita, queste funzionalità sono progettate per aiutarti a configurare un framework sicuro e consentire alla tua organizzazione di soddisfare i requisiti di sicurezza aziendali comuni.
Le funzionalità di sicurezza integrate sono le seguenti:
Privilegio minimo per il codice del modulo ADDF
Il privilegio minimo è la best practice di sicurezza per la concessione delle autorizzazioni minime richieste per eseguire un'attività. Per ulteriori informazioni, consulta Applicazione delle autorizzazioni del privilegio minimo. I moduli forniti dall'ADDF seguono rigorosamente il principio del privilegio minimo nel codice e nelle risorse implementate, rispettando i seguenti punti:
-
Tutte le policy AWS Identity and Access Management (IAM) generate per un modulo ADDF dispongono delle autorizzazioni minime necessarie per il caso d'uso.
-
Servizi AWS sono configurati e implementati secondo il principio del privilegio minimo. I moduli forniti dall'ADDF usano solo i servizi e le funzionalità del servizio necessari per il caso d'uso specifico.
Infrastruttura come codice
L'ADDF, come framework, è progettato per implementare i moduli ADDF come infrastruttura come codice (IaC). L'IaC elimina i processi di implementazione manuali e aiuta a prevenire gli errori e le configurazioni sbagliate che possono derivare dai processi manuali.
L'ADDF è progettato per orchestrare e implementare moduli utilizzando tutti i framework IaC comuni. Questi includono, a titolo esemplificativo ma non esaustivo:
È possibile utilizzare diversi framework IaC per scrivere moduli diversi e poi usare l'ADDF per implementarli.
Il framework IaC predefinito utilizzato dai moduli ADDF è. AWS CDK AWS CDK è un'astrazione orientata agli oggetti di alto livello che è possibile utilizzare per definire le risorse in modo imperativo. AWS AWS CDK applica già di default le migliori pratiche di sicurezza per vari servizi e scenari. Grazie all'utilizzo AWS CDK, si riduce il rischio di configurazioni errate della sicurezza.
Controlli di sicurezza automatizzati per l'IaC
L'utilità cdk-nag
Politica personalizzata di minimo privilegio per il ruolo di distribuzione AWS CDK
ADDF fa ampio uso della versione 2. AWS CDK È necessario eseguire il bootstrap di tutti gli ADDF su. Account AWS AWS CDK Per ulteriori informazioni, consulta Bootstrapping (Processo di bootstrap) (documentazione AWS CDK ).
Per impostazione predefinita, AWS CDK assegna la politica AdministratorAccess AWS gestita permissiva al ruolo di AWS CDK distribuzione creato negli account avviati. Il nome completo di questo ruolo è. cdk-[CDK_QUALIFIER]-cfn-exec-role-[AWS_ACCOUNT_ID]-[REGION] AWS CDK utilizza questo ruolo per distribuire risorse nel sistema bootstrap Account AWS come parte del AWS CDK
processo di distribuzione.
A seconda dei requisiti di sicurezza dell'organizzazione, la policy AdministratorAccess potrebbe essere troppo permissiva. Come parte del processo di bootstrap di AWS CDK , è possibile personalizzare la policy e le autorizzazioni in base a esigenze specifiche. È possibile modificare la policy sottoponendo nuovamente l'account a bootstrap con una policy appena definita utilizzando il parametro --cloudformation-execution-policies. Per ulteriori informazioni, consulta Personalizzazione del bootstrap (documentazione).AWS CDK
Nota
Sebbene questa funzionalità di sicurezza non sia specifica dell'ADDF, è stata inserita in questa sezione perché può aumentare la sicurezza complessiva dell'implementazione dell'ADDF.
Policy del privilegio minimo per il file deployspec del modulo
Ogni modulo contiene un file delle specifiche di implementazione denominato deployspec.yaml. Questo file definisce le istruzioni di distribuzione per il modulo. CodeSeeder lo usa per distribuire il modulo definito nell'account di destinazione utilizzando AWS CodeBuild. CodeSeeder assegna un ruolo di servizio predefinito CodeBuild alla distribuzione delle risorse, come indicato nel file delle specifiche di distribuzione. Questo ruolo di servizio è progettato secondo il principio del privilegio minimo. Include tutte le autorizzazioni necessarie per distribuire le AWS CDK applicazioni, poiché tutti i moduli forniti da ADDF vengono creati come applicazioni. AWS CDK
Tuttavia, se è necessario eseguire comandi di stage all'esterno di AWS CDK, è necessario creare una policy IAM personalizzata anziché utilizzare il ruolo di servizio predefinito per. CodeBuild Ad esempio, se si utilizza un framework di distribuzione IaC diverso da AWS CDK, come Terraform, è necessario creare una policy IAM che conceda autorizzazioni sufficienti per il funzionamento di quel framework specifico. Un altro scenario che richiede una policy IAM dedicata è quando si includono chiamate direct AWS Command Line Interface (AWS CLI) ad altri comandi Servizi AWS ininstall, pre_buildbuild, o stage. post_build Ad esempio, è necessaria una policy personalizzata se il modulo include un comando Amazon Simple Storage Service (Amazon S3) per caricare file in un bucket S3. La policy IAM personalizzata fornisce un controllo granulare per qualsiasi AWS comando al di fuori della distribuzione. AWS CDK Per un esempio di policy IAM personalizzata, consulta ModuleStack
Crittografia dei dati
L'ADDF archivia ed elabora dati potenzialmente sensibili. Per proteggere questi dati SeedFarmer CodeSeeder, i moduli forniti da ADDF crittografano i dati inattivi e in transito per tutti gli utenti utilizzati Servizi AWS (salvo diversa indicazione esplicita per i moduli presenti nella cartella). demo-only
Archiviazione delle credenziali tramite Secrets Manager
ADDF gestisce vari segreti per diversi servizi, come Docker Hub e Amazon JupyterHub Redshift. L'ADDF usa AWS Secrets Manager per memorizzare tutti i segreti relativi all'ADDF stesso. Questo aiuta a rimuovere i dati sensibili dal codice sorgente.
I segreti di Secrets Manager vengono archiviati solo negli account di destinazione e nella misura necessaria per il corretto funzionamento dell'account. Per impostazione predefinita, l'account toolchain non contiene segreti.
Recensioni di sicurezza di e SeedFarmer CodeSeeder
SeedFarmer
Autorizzazioni, limiti, supporto per il ruolo di AWS CodeBuild CodeSeeder
I limiti delle autorizzazioni IAM sono un meccanismo di sicurezza comune che definisce le autorizzazioni massime che una policy basata sull'identità può concedere a un'entità IAM. SeedFarmer e CodeSeeder supportano un allegato ai limiti delle autorizzazioni IAM per ogni account di destinazione. Il limite delle autorizzazioni limita le autorizzazioni massime di qualsiasi ruolo di servizio utilizzato da quando distribuisce i moduli. CodeBuild CodeSeeder I limiti delle autorizzazioni IAM devono essere creati da un team di sicurezza al di fuori dell'ADDF. Gli allegati della policy per impostare il limite delle autorizzazioni IAM sono accettati come attributo all'interno del file manifesto dell'implementazione dell'ADDF, deployment.yaml. Per ulteriori informazioni, consulta Permissions boundary
Di seguito è riportato il flusso di lavoro:
-
Il tuo team di sicurezza definisce e crea un limite delle autorizzazioni IAM in base ai tuoi requisiti di sicurezza. Il limite delle autorizzazioni IAM deve essere creato individualmente in ogni ADDF. Account AWS L'output è un elenco del nome della risorsa Amazon (ARN) per una policy per impostare il limite delle autorizzazioni.
-
Il team addetto alla sicurezza condivide l'elenco dell'ARN per la policy con il team di sviluppatori ADDF.
-
Il team di sviluppatori ADDF integra l'elenco dell'ARN per le policy nel file manifesto. Per un esempio di questa integrazione, consultate sample-permissionboundary.yaml
() e Deployment manifest (documentazione). GitHub SeedFarmer -
Dopo una corretta implementazione, il limite delle autorizzazioni viene assegnato a tutti i ruoli di servizio utilizzati per distribuire i moduli. CodeBuild
-
Il team di sicurezza controlla che i limiti delle autorizzazioni vengano applicati in base alle necessità.
AWS architettura multi-account
Come definito nel pilastro della sicurezza del AWS Well-Architected Framework, è considerata una buona pratica separare le risorse e i carichi di lavoro in Account AWS più, in base ai requisiti dell'organizzazione. Questo perché un Account AWS funge da confine di isolamento. Per ulteriori informazioni, consulta gestione e separazione degli Account AWS. L'implementazione di questo concetto si chiama architettura multi-account. Un'architettura AWS multi-account correttamente progettata fornisce una categorizzazione del carico di lavoro e riduce la portata dell'impatto in caso di violazione della sicurezza rispetto a un'architettura ad account singolo.
ADDF supporta nativamente architetture multi-account AWS . Puoi distribuire i tuoi moduli ADDF su tutti quelli necessari per la sicurezza e Account AWS i requisiti della tua organizzazione. separation-of-duties È possibile implementare l'ADDF in un unico Account AWS, combinando le funzioni dell'account toolchain e dell'account di destinazione. In alternativa, è possibile creare account di destinazione individuali per i moduli o i gruppi di moduli ADDF.
L'unica restrizione da considerare è che un modulo ADDF rappresenta l'unità di distribuzione più piccola per ciascuno di essi. Account AWS
Per gli ambienti di produzione, si consiglia di utilizzare un'architettura multi-account composta da un account toolchain e almeno un account di destinazione. Per ulteriori informazioni, consulta Architettura dell'ADDF.
Autorizzazioni con privilegi minimi per e implementazioni multi-account
Se si utilizza un'architettura multi-account, è SeedFarmer necessario accedere agli account di destinazione per eseguire le seguenti tre azioni:
-
Scrivere i metadati del modulo ADDF nell'account toolchain e negli account di destinazione.
-
Leggere i metadati del modulo ADDF correnti dall'account toolchain e dagli account di destinazione.
-
Avvia AWS CodeBuild processi negli account di destinazione, allo scopo di distribuire o aggiornare i moduli.
La figura seguente mostra le relazioni tra account, incluse le operazioni per l'assunzione di ruoli specifici per ADDF AWS Identity and Access Management (IAM).
Queste operazioni tra account vengono realizzate utilizzando operazioni di assume-role ben definite.
-
Il ruolo IAM della toolchain ADDF viene distribuito nell'account della toolchain. SeedFarmer assume questo ruolo. Questo ruolo dispone delle autorizzazioni per eseguire un'operazione di
iam:AssumeRolee può assumere il ruolo IAM di implementazione dell'ADDF in ogni account di destinazione. Inoltre, il ruolo IAM della toolchain ADDF può eseguire operazioni locali di AWS Systems Manager Parameter Store. -
Il ruolo IAM di implementazione dell'ADDF viene implementato in ogni account di destinazione. Questo ruolo può essere assunto solo dall'account toolchain usando il ruolo IAM toolchain ADDF. Questo ruolo dispone delle autorizzazioni per eseguire operazioni locali di AWS Systems Manager Parameter Store e dispone delle autorizzazioni per eseguire AWS CodeBuild azioni che avviano e descrivono i lavori. CodeBuild CodeSeeder
Questi ruoli IAM specifici per l'ADDF vengono creati come parte del processo di bootstrap dell'ADDF. Per ulteriori informazioni, vedete Bootstrap Account AWS(s) nella ADDF
Tutte le autorizzazioni tra più account sono impostate in base al principio del privilegio minimo. Se un account di destinazione viene compromesso, l'impatto sull'altro Account AWS ADDF è minimo o nullo.
Nel caso di un'architettura ad account singolo per l'ADDF, le relazioni tra i ruoli rimangono le stesse, ma si riuniscono in un unico Account AWS.