Genera un CloudFormation modello AWS contenente le regole gestite di AWS Config utilizzando Troposphere - Prontuario AWS

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à.

Genera un CloudFormation modello AWS contenente le regole gestite di AWS Config utilizzando Troposphere

Creato da Lucas Nation (AWS) e Freddie Wilson (AWS)

Ambiente: produzione

Tecnologie: DevOps; Gestione e governance; Sicurezza, identità, conformità

Carico di lavoro: Microsoft; open source

Servizi AWS: AWS Config; AWS CloudFormation

Riepilogo

Molte organizzazioni utilizzano le regole gestite di AWS Config per valutare la conformità delle proprie risorse Amazon Web Services (AWS) rispetto alle best practice comuni. Tuttavia, la manutenzione di queste regole può richiedere molto tempo e questo modello ti aiuta a sfruttare Troposphere, una libreria Python, per generare e gestire regole gestite da AWS Config.

Il modello ti aiuta a gestire le regole gestite di AWS Config utilizzando uno script Python per convertire un foglio di calcolo di Microsoft Excel contenente le regole gestite da AWS in un modello AWS. CloudFormation Troposphere funge da infrastruttura come codice (IaC) e ciò significa che puoi aggiornare il foglio di calcolo Excel con regole gestite, invece di utilizzare un file in formato JSON o YAML. Utilizza quindi il modello per avviare uno CloudFormation stack AWS che crea e aggiorna le regole gestite nel tuo account AWS.

Il CloudFormation modello AWS definisce ogni regola gestita di AWS Config utilizzando il foglio di calcolo di Excel e ti aiuta a evitare di creare manualmente singole regole nella Console di gestione AWS. Lo script imposta per impostazione predefinita i parametri di ogni regola gestita su un dizionario vuoto e i valori predefiniti dell'ambito da. ComplianceResourceTypes THE_RULE_IDENTIFIER.template file Per ulteriori informazioni sull'identificatore della regola, consulta Creazione di regole gestite AWS Config con modelli AWS nella CloudFormation documentazione di AWS Config.

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo.

  • Familiarità con l'uso di CloudFormation modelli AWS per creare regole gestite AWS Config. Per ulteriori informazioni su questo argomento, consulta Creazione di regole gestite AWS Config con CloudFormation modelli AWS nella documentazione di AWS Config.  

  • Python 3, installato e configurato. Per ulteriori informazioni su questo argomento, consulta la documentazione di Python.

  • Un ambiente di sviluppo integrato (IDE) esistente come AWS Cloud9. Per ulteriori informazioni su questo argomento, consulta What is AWS Cloud9? nella documentazione di AWS Cloud9. 

  • Identifica le tue unità organizzative (OU) in una colonna del foglio di calcolo excel_config_rules.xlsx Excel di esempio (allegato).

Epiche

AttivitàDescrizioneCompetenze richieste
Aggiorna il foglio di calcolo Excel di esempio.

Scarica il foglio di calcolo excel_config_rules.xlsx Excel di esempio (allegato) ed etichetta come Implemented le regole gestite di AWS Config che desideri utilizzare. 

Le regole contrassegnate come Implemented verranno aggiunte al CloudFormation modello AWS.

Developer
(Facoltativo) Aggiorna il file config_rules_params.json con i parametri delle regole AWS Config.

Alcune regole gestite di AWS Config richiedono parametri e devono essere passate allo script Python come file JSON utilizzando l'opzione. --param-file Ad esempio, la regola access-keys-rotated gestita utilizza il seguente parametro: maxAccessKeyAge

{ "access-keys-rotated": { "InputParameters": { "maxAccessKeyAge": 90 } } }

In questo parametro di esempio, maxAccessKeyAge è impostato su 90 giorni. Lo script legge il file dei parametri e aggiunge InputParameters quello che trova.

Developer
(Facoltativo) Aggiorna il file config_rules_params.json con AWS Config. ComplianceResourceTypes

Per impostazione predefinita, lo script Python recupera i modelli definiti da ComplianceResourceTypes AWS. Se desideri sovrascrivere l'ambito di una specifica regola gestita di AWS Config, devi passarla allo script Python come file JSON utilizzando l'opzione. --param-file

Ad esempio, il seguente codice di esempio mostra come il ComplianceResourceTypes for ec2-volume-inuse-check è impostato sulla lista: ["AWS::EC2::Volume"]

{ "ec2-volume-inuse-check": { "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Volume" ] } } }
Developer
AttivitàDescrizioneCompetenze richieste
Installa i pacchetti pip dal file requirements.txt.

Scarica il requirements.txt file (allegato) ed esegui il seguente comando nel tuo IDE per installare i pacchetti Python:

pip3 install -r requirements.txt

Developer
Eseguire lo script Python.
  1. Scarica il aws_config_rules.py file (allegato) sul tuo computer locale.

  2. Esegui il comando - python3 aws_config_rules.py --ou <OU_NAME>. Nota: --ou definisce la colonna dell'unità organizzativa da scegliere nel foglio di calcolo di Excel.

È inoltre possibile aggiungere i seguenti parametri opzionali:

  • --config-rule-option— Definisce le regole da scegliere dal foglio di calcolo Excel. L'impostazione predefinita è il parametro. Implemented

  • --excel-file— Il percorso del foglio di calcolo Excel. Il valore predefinito è aws_config_rules.xlsx.

  • --param-file— Il percorso del file JSON dei parametri. Il valore predefinito è config_rules_params.json.

  • --max-execution-frequency— Definisce la frequenza con cui vengono valutate le regole gestite di AWS Config. Le scelte sonoOne_Hour,, Three_Hours Six_HoursTwelve_Hours, o. TwentyFour_Hours Il valore predefinito è TwentyFour_Hours.

Developer
AttivitàDescrizioneCompetenze richieste
Avvia lo CloudFormation stack AWS.
  1. Accedi alla Console di gestione AWS, apri la CloudFormation console AWS e scegli Create stack.

  2. Nella pagina Specificare il modello, scegli Carica un file modello, quindi carica il tuo CloudFormation modello AWS. 

  3. Specificate un nome per lo stack e poi scegliete Avanti.

  4. Specificate i tag, quindi scegliete Avanti.

  5. Seleziona Crea stack.

Developer

Allegati

Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip