Reguły AWS Config i remediacja
Wdrażać zarządzane i niestandardowe reguły Config do wykrywania zasobów niezgodnych z wymaganiami oraz używać dokumentów automatyzacji SSM do automatycznej remediacji.
Reguły AWS Config i remediacja to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Czym jest AWS Config?
AWS Config to usługa ciągłego audytowania konfiguracji, która w czasie rejestruje stan konfiguracji zasobów AWS i ocenia te konfiguracje względem zdefiniowanych reguł. W odróżnieniu od CloudTrail (który rejestruje, kto co zrobił) AWS Config odpowiada na pytania: jak ten zasób wygląda teraz? oraz jak wyglądał w dowolnym momencie w przeszłości?. Odpowiada również na pytanie: czy ta konfiguracja jest zgodna z moją polityką? — dzięki czemu jest podstawową usługą w zakresie zarządzania i zgodności.
Elementy konfiguracji i historia konfiguracji
Gdy AWS Config rejestruje zasób, tworzy element konfiguracji (CI) — migawkę atrybutów, relacji i metadanych zasobu w określonym momencie. Za każdym razem, gdy zasób się zmienia, rejestrowany jest nowy CI. AWS Config przechowuje pełną historię konfiguracji każdego zasobu, dzięki czemu można sprawdzić, jak grupa zabezpieczeń zmieniała się przez wiele miesięcy oraz dokładnie ustalić, kiedy reguła została dodana lub usunięta. Elementy CI są dostarczane do zasobnika S3, a opcjonalnie także do 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}'Włączanie AWS Config
Aby rozpocząć korzystanie z AWS Config, należy utworzyć rejestrator konfiguracji (określając typy zasobów, które mają być rejestrowane) oraz kanał dostarczania (określając zasobnik S3 i opcjonalny temat SNS do powiadomień o zmianach). Można rejestrować wszystkie obsługiwane typy zasobów lub określony ich podzbiór. Agregator konfiguracji umożliwia konsolidowanie danych Config z wielu kont i Regionów w jednym widoku na potrzeby raportowania zgodności w całej organizacji.
# 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 defaultReguły AWS Config: reguły zarządzane
Reguły Config definiują pożądany stan konfiguracji zasobów. Zarządzane reguły Config AWS to gotowe reguły dostarczane przez AWS, obejmujące typowe kontrole zgodności — na przykład s3-bucket-public-read-prohibited sprawdza, czy zasobniki S3 nie są publicznie dostępne w trybie odczytu, ec2-instance-no-public-ip sprawdza, czy instancje EC2 nie mają publicznych adresów IP, a iam-password-policy weryfikuje, czy zasady haseł konta spełniają wymagania dotyczące złożoności. Dostępnych jest ponad 300 zarządzanych reguł.
# 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}'Niestandardowe reguły Config z Lambda
Jeśli żadna zarządzana reguła AWS nie obejmuje danego wymagania, można napisać niestandardową regułę Config z użyciem funkcji AWS Lambda. Lambda otrzymuje elementy konfiguracji jako dane zdarzenia i musi zwrócić werdykt COMPLIANT lub NON_COMPLIANT. Reguły niestandardowe mogą wymuszać obowiązujące w organizacji konwencje nazewnictwa, wymagane tagi, zatwierdzone identyfikatory AMI lub dowolną logikę wymaganą przez zespół ds. zgodności. Reguły mogą być oceniane po zmianie (gdy zasób ulega zmianie), okresowo (co 1, 3, 6, 12 lub 24 godziny) albo w obu tych trybach.
# 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"]
}
}'Reguły proaktywne z CloudFormation Guard
Config obsługuje także reguły proaktywne korzystające z AWS CloudFormation Guard — języka definiowania zasad jako kodu. Reguły proaktywne oceniają zasoby przed ich utworzeniem za pośrednictwem CloudFormation, AWS CDK lub Terraform Cloud, wykrywając niezgodne konfiguracje w czasie wdrażania, a nie dopiero po ich utworzeniu w środowisku produkcyjnym. Przenosi to kontrolę zgodności na wcześniejszy etap potoku infrastruktury. Ocena proaktywna jest nowszą funkcją, do której egzamin SAA-C03 może nawiązywać w scenariuszach zarządzania zgodnością zgodnie z podejściem shift-left.
Automatyczne korygowanie niezgodności za pomocą SSM
Reguły Config można łączyć z automatycznymi działaniami naprawczymi, aby zasoby niezgodne z wymaganiami były naprawiane bez interwencji człowieka. Działania naprawcze są realizowane za pomocą dokumentów automatyzacji AWS Systems Manager (SSM). Jeśli na przykład zasobnik S3 stanie się niezgodny, ponieważ ktoś włączył dostęp publiczny, Config może automatycznie uruchomić dokument SSM AWS-DisableS3BucketPublicReadWrite, aby ponownie włączyć blokadę dostępu publicznego do zasobnika. Korygowanie może odbywać się automatycznie (natychmiast) lub ręcznie (na żądanie).
# 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
}
]'Oś czasu konfiguracji i relacje zasobów
Oś czasu zasobu AWS Config w konsoli pokazuje każdą zmianę konfiguracji zasobu w postaci osi czasu — można cofnąć się do dowolnego momentu i dokładnie sprawdzić, jak wyglądał wtedy zasób, w tym jego relacje z innymi zasobami (na przykład które grupy zabezpieczeń były do niego przypisane i jaka rola IAM była z nim powiązana). Kliknięcie relacji powoduje przejście do osi czasu powiązanego zasobu. Dzięki temu Config jest nieoceniony podczas analizy przyczyn źródłowych: można dokładnie ustalić, która zmiana spowodowała awarię środowiska produkcyjnego.
# 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}'Agregowanie danych Config z wielu kont
Agregator konfiguracji zbiera dane Config z wielu kont AWS i regionów na jednym koncie, aby umożliwić centralne raportowanie zgodności. W organizacji AWS można utworzyć agregator na koncie zarządzającym, który automatycznie obejmie wszystkie konta członkowskie bez konieczności udzielania poszczególnych autoryzacji. Agregatory obsługują zapytania za pomocą funkcji Advanced Queries — interfejsu podobnego do SQL, który pozwala w ciągu kilku sekund znaleźć wszystkie niezgodne zasoby w całej organizacji.
# 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'Usuwanie niezgodności na dużą skalę
Gdy mają Państwo tysiące niezgodnych zasobów, wyjątki remediacji w Config pozwalają wyłączyć określone zasoby na zdefiniowany okres i podać udokumentowane uzasadnienie — zapobiega to błędnej remediacji uzasadnionych przypadków brzegowych. W przypadku czyszczenia na dużą skalę można uruchomić ręczną remediację zbiorczą z konsoli albo użyć powiązań Systems Manager State Manager w celu okresowego stosowania wymaganych konfiguracji do flot instancji EC2, łącząc wykrywanie w Config z egzekwowaniem w 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:00ZPorównanie AWS Config i CloudTrail
Częste pytanie na egzaminie SAA-C03 dotyczy rozróżnienia Config i CloudTrail. CloudTrail odpowiada na pytania: kto, co, kiedy i skąd zrobił (dziennik audytu wywołań API). AWS Config odpowiada na pytania: jak zasób wygląda teraz i jak wyglądał w przeszłości (historia stanu konfiguracji i zgodności). Usługi te wzajemnie się uzupełniają — CloudTrail informuje, że ktoś wywołał ModifySecurityGroup o godzinie 15:00, a Config pokazuje stan grupy zabezpieczeń przed zmianą i po niej. Należy używać obu usług razem, aby zapewnić pełne zarządzanie bezpieczeństwem.
Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji dowiedzieli się Państwo, że: AWS Config rejestruje stan konfiguracji w czasie i ocenia zasoby względem reguł zgodności, reguły zarządzane i niestandardowe sprawdzają setki atrybutów zasobów podczas automatycznej lub uruchamianej na żądanie oceny, a remediacja za pomocą SSM Automation może automatycznie naprawiać niezgodne zasoby bez udziału człowieka. Następnie omówimy Conformance Packs i Organisation Trails na potrzeby zarządzania środowiskiem w przedsiębiorstwie.
Często zadawane pytania
Czy lekcja „Reguły AWS Config i remediacja” jest bezpłatna?
Tak — pełny tekst „Reguły AWS Config i remediacja” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Co nauczysz się w „Reguły AWS Config i remediacja”?
Wdrażać zarządzane i niestandardowe reguły Config do wykrywania zasobów niezgodnych z wymaganiami oraz używać dokumentów automatyzacji SSM do automatycznej remediacji. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?
Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Reguły AWS Config i remediacja”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?
Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Ścieżki CloudTrail i historia zdarzeń
- CloudTrail Insights i integralność plików dziennika
- Reguły AWS Config i remediacja
- Pakiety zgodności i ścieżki organizacji