Regole e correzione di AWS Config
Distribuire regole Config gestite e personalizzate per rilevare risorse non conformi e utilizzare i documenti SSM Automation per la correzione automatica
Regole e correzione di AWS Config è una lezione AWS Solutions Architect gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AWS Solutions Architect, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AWS Solutions Architect include 4 lezioni in totale.
Che cos'è AWS Config
AWS Config è un servizio di audit continuo della configurazione che registra nel tempo lo stato di configurazione delle risorse AWS e valuta tali configurazioni rispetto alle regole desiderate. A differenza di CloudTrail (che registra chi ha fatto cosa), AWS Config risponde alle domande come si presenta questa risorsa in questo momento? e come si presentava in un determinato momento del passato?. Risponde inoltre alla domanda: questa configurazione è conforme alla mia policy? — diventando così il servizio di riferimento per governance e conformità.
Elementi di configurazione e cronologia della configurazione
Quando AWS Config registra una risorsa, crea un elemento di configurazione (CI) — un'istantanea degli attributi, delle relazioni e dei metadati della risorsa in un determinato momento. Ogni volta che una risorsa cambia, viene registrato un nuovo CI. AWS Config conserva una cronologia completa della configurazione per ogni risorsa, consentendo di vedere come si è evoluto un security group nel corso dei mesi e di sapere esattamente quando una regola è stata aggiunta o rimossa. I CI vengono consegnati in un bucket S3 e, facoltativamente, a CloudWatch Events.
# Get the full configuration history for an EC2 security group
aws configservice get-resource-config-history \
--resource-type AWS::EC2::SecurityGroup \
--resource-id sg-0abc1234def567890 \
--limit 10 \
--query 'configurationItems[].{Time:configurationItemCaptureTime,Status:configurationItemStatus}'Abilitazione di AWS Config
Per iniziare a utilizzare AWS Config, si crea un registratore di configurazione (specificando i tipi di risorse da registrare) e un canale di distribuzione (specificando un bucket S3 e, facoltativamente, un argomento SNS per le notifiche delle modifiche). È possibile registrare tutti i tipi di risorse supportati oppure un sottoinsieme specifico. Un aggregatore di configurazione consente di consolidare i dati di Config provenienti da più account e Regioni in un'unica vista per i report di conformità dell'organizzazione.
# Enable AWS Config recording for all resource types
aws configservice put-configuration-recorder \
--configuration-recorder \
name=default,roleARN=arn:aws:iam::111122223333:role/AWSConfigRole \
--recording-group allSupported=true,includeGlobalResourceTypes=true
# Set up delivery channel
aws configservice put-delivery-channel \
--delivery-channel \
name=default,s3BucketName=my-config-bucket-111122223333,snsTopicARN=arn:aws:sns:us-east-1:111122223333:ConfigChanges
aws configservice start-configuration-recorder --configuration-recorder-name defaultRegole AWS Config: regole gestite
Le regole Config definiscono lo stato di configurazione desiderato per le risorse. Le regole Config gestite da AWS sono regole predefinite fornite da AWS che coprono i controlli di conformità più comuni — ad esempio, s3-bucket-public-read-prohibited verifica che i bucket S3 non siano leggibili pubblicamente, ec2-instance-no-public-ip verifica che le istanze EC2 non dispongano di IP pubblici e iam-password-policy verifica che la policy delle password dell'account soddisfi i requisiti di complessità. Sono disponibili oltre 300 regole gestite.
# Add the managed rule to check S3 buckets are not publicly readable
aws configservice put-config-rule \
--config-rule '{
"ConfigRuleName": "s3-bucket-public-read-prohibited",
"Source": {
"Owner": "AWS",
"SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED"
},
"Scope": {
"ComplianceResourceTypes": ["AWS::S3::Bucket"]
}
}'
# View compliance status of all rules
aws configservice describe-compliance-by-config-rule \
--query 'ComplianceByConfigRules[].{Rule:ConfigRuleName,Compliance:Compliance.ComplianceType}'Regole Config personalizzate con Lambda
Quando nessuna regola gestita da AWS soddisfa il requisito, è possibile scrivere una regola Config personalizzata utilizzando una funzione AWS Lambda. Lambda riceve gli elementi di configurazione come payload dell'evento e deve restituire un verdetto COMPLIANT o NON_COMPLIANT. Le regole personalizzate possono imporre convenzioni di denominazione specifiche dell'organizzazione, tag obbligatori, ID AMI approvati o qualsiasi logica richiesta dal team responsabile della conformità. Le regole possono essere valutate alla modifica (quando la risorsa cambia), periodicamente (ogni 1/3/6/12/24 ore) oppure in entrambi i modi.
# Register a custom Lambda-backed Config rule
aws configservice put-config-rule \
--config-rule '{
"ConfigRuleName": "required-tags-enforcer",
"Source": {
"Owner": "CUSTOM_LAMBDA",
"SourceIdentifier": "arn:aws:lambda:us-east-1:111122223333:function:RequiredTagsChecker",
"SourceDetails": [{
"EventSource": "aws.config",
"MessageType": "ConfigurationItemChangeNotification"
}]
},
"Scope": {
"ComplianceResourceTypes": ["AWS::EC2::Instance","AWS::S3::Bucket"]
}
}'Regole proattive con CloudFormation Guard
Config supporta anche regole proattive che utilizzano AWS CloudFormation Guard, un linguaggio di policy-as-code. Le regole proattive valutano le risorse prima che vengano create tramite CloudFormation, AWS CDK o Terraform Cloud, rilevando le configurazioni non conformi al momento della distribuzione anziché dopo la loro creazione in produzione. Ciò sposta i controlli di conformità a sinistra nella pipeline dell'infrastruttura. La valutazione proattiva è una funzionalità più recente che l'esame SAA-C03 potrebbe citare negli scenari di governance shift-left.
Correzione automatizzata con SSM
Le regole Config possono essere associate ad azioni di correzione automatica, affinché le risorse non conformi vengano corrette senza intervento umano. Le azioni di correzione sono documenti di automazione di AWS Systems Manager (SSM). Ad esempio, se un bucket S3 diventa non conforme perché qualcuno ha abilitato l'accesso pubblico, Config può eseguire automaticamente il documento SSM AWS-DisableS3BucketPublicReadWrite per riabilitare il blocco dell'accesso pubblico del bucket. La correzione può essere automatica (immediata) o manuale (attivata su richiesta).
# Add automatic remediation to a Config rule
aws configservice put-remediation-configurations \
--remediation-configurations '[
{
"ConfigRuleName": "s3-bucket-public-read-prohibited",
"TargetType": "SSM_DOCUMENT",
"TargetId": "AWS-DisableS3BucketPublicReadWrite",
"Parameters": {
"S3BucketName": {"ResourceValue": {"Value": "RESOURCE_ID"}},
"AutomationAssumeRole": {"StaticValue": {"Values": ["arn:aws:iam::111122223333:role/ConfigRemediationRole"]}}
},
"Automatic": true,
"MaximumAutomaticAttempts": 3,
"RetryAttemptSeconds": 60
}
]'Cronologia della configurazione e relazioni tra le risorse
La cronologia della risorsa di AWS Config nella console mostra ogni modifica alla configurazione di una risorsa sotto forma di sequenza temporale: è possibile tornare indietro fino a qualsiasi momento e vedere esattamente l'aspetto che aveva la risorsa, comprese le relazioni con altre risorse, ad esempio quali gruppi di sicurezza erano associati o quale ruolo IAM era collegato. Facendo clic su una relazione si accede alla cronologia della risorsa correlata. Questo rende Config uno strumento prezioso per l'analisi della causa principale: è possibile individuare esattamente quale modifica ha causato il malfunzionamento dell'ambiente di produzione.
# Get current compliance status for all EC2 instances
aws configservice get-compliance-details-by-resource \
--resource-type AWS::EC2::Instance \
--resource-id i-0123456789abcdef0 \
--query 'EvaluationResults[].{Rule:EvaluationResultIdentifier.EvaluationResultQualifier.ConfigRuleName,Compliance:ComplianceType}'Aggregazione di Config tra gli account
Un aggregatore di configurazione raccoglie i dati di Config da più account e Regioni AWS in un unico account, per consentire la generazione centralizzata di report sulla conformità. In un'organizzazione AWS è possibile creare un aggregatore nell'account di gestione che includa automaticamente tutti gli account membri, senza richiedere autorizzazioni individuali. Gli aggregatori supportano le query tramite Advanced Queries, un'interfaccia simile a SQL che consente di trovare in pochi secondi tutte le risorse non conformi dell'organizzazione.
# Query all non-compliant resources across an organisation using Advanced Query
aws configservice select-aggregate-resource-config \
--configuration-aggregator-name OrgAggregator \
--expression "SELECT resourceId, resourceType, accountId, awsRegion
WHERE complianceType = 'NON_COMPLIANT'
AND resourceType = 'AWS::S3::Bucket'"
--query 'Results'Correzione su larga scala
Quando si hanno migliaia di risorse non conformi, le eccezioni di correzione di Config consentono di esentare risorse specifiche per un periodo definito, indicando un motivo documentato ed evitando così correzioni errate di casi limite legittimi. Per le attività di pulizia su larga scala è possibile avviare correzioni manuali in blocco dalla console oppure usare le associazioni di Systems Manager State Manager per applicare secondo una pianificazione le configurazioni desiderate a gruppi di istanze EC2, combinando il rilevamento di Config con l'applicazione delle configurazioni tramite SSM.
# Add a remediation exception for a specific resource
aws configservice put-remediation-exceptions \
--config-rule-name s3-bucket-public-read-prohibited \
--resource-keys ResourceType=AWS::S3::Bucket,ResourceId=my-public-website-bucket \
--message 'Static website hosting requires public access' \
--expiration-time 2025-01-01T00:00:00ZConfronto tra AWS Config e CloudTrail
Una domanda comune dell'esame SAA-C03 consiste nel distinguere Config da CloudTrail. CloudTrail risponde alla domanda: chi ha fatto cosa, quando e da dove (registro di audit delle chiamate API). AWS Config risponde invece alle domande: qual è l'aspetto attuale della risorsa e quale aspetto ha avuto nel tempo (cronologia dello stato della configurazione e della conformità). I due servizi sono complementari: CloudTrail indica che qualcuno ha chiamato ModifySecurityGroup alle 15:00, mentre Config mostra lo stato del gruppo di sicurezza prima e dopo la modifica. Usateli insieme per una governance della sicurezza completa.
Verifica rapida
Verificate la vostra comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.
Riepilogo della lezione
In questa lezione avete imparato che AWS Config registra nel tempo lo stato della configurazione e valuta le risorse rispetto alle regole di conformità, che le regole gestite e personalizzate controllano centinaia di attributi delle risorse con valutazioni automatiche o su richiesta e che la correzione tramite SSM Automation può correggere automaticamente le risorse non conformi senza intervento umano. Ora analizzeremo i Conformance Pack e gli Organisation Trail per la governance su scala aziendale.
Domande Frequenti
La lezione «Regole e correzione di AWS Config» è gratuita?
Sì — il testo completo di «Regole e correzione di AWS Config» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AWS Solutions Architect, passa a CoddyKit PRO. Il corso AWS Solutions Architect include 4 lezioni in totale.
Cosa imparerò in «Regole e correzione di AWS Config»?
Distribuire regole Config gestite e personalizzate per rilevare risorse non conformi e utilizzare i documenti SSM Automation per la correzione automatica Eserciti AWS Solutions Architect con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AWS Solutions Architect?
Non è richiesta alcuna esperienza precedente. AWS Solutions Architect su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Regole e correzione di AWS Config»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AWS Solutions Architect?
Sì. Ogni lezione AWS Solutions Architect include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Trail CloudTrail e cronologia degli eventi
- CloudTrail Insights e integrità dei file di log
- Regole e correzione di AWS Config
- Conformance Pack e trail dell'organizzazione